ARM GAS /tmp/ccwvDHH5.s page 1 1 .cpu cortex-m0 2 .eabi_attribute 20, 1 3 .eabi_attribute 21, 1 4 .eabi_attribute 23, 3 5 .eabi_attribute 24, 1 6 .eabi_attribute 25, 1 7 .eabi_attribute 26, 1 8 .eabi_attribute 30, 1 9 .eabi_attribute 34, 0 10 .eabi_attribute 18, 4 11 .file "stm32f0xx_hal_uart.c" 12 .text 13 .Ltext0: 14 .cfi_sections .debug_frame 15 .section .text.UART_EndTxTransfer,"ax",%progbits 16 .align 1 17 .arch armv6s-m 18 .syntax unified 19 .code 16 20 .thumb_func 21 .fpu softvfp 23 UART_EndTxTransfer: 24 .LVL0: 25 .LFB89: 26 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c" 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ****************************************************************************** 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @file stm32f0xx_hal_uart.c 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @author MCD Application Team 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UART HAL module driver. 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART). 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * + Initialization and de-initialization functions 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * + IO operation functions 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * + Peripheral Control functions 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @verbatim 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** =============================================================================== 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ##### How to use this driver ##### 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** =============================================================================== 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..] 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** The UART HAL driver can be used as follows: 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart). 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API: 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) Enable the USARTx interface clock. 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) UART pins configuration: 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs. 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Configure these UART pins as alternate function pull-up. 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT() 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs): 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority. 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle. 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) UART interrupts handling: 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** -@@- The specific UART interrupts (Transmission complete interrupt, 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** RXNE interrupt, RX/TX FIFOs related interrupts and Error Interrupts) ARM GAS /tmp/ccwvDHH5.s page 2 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** are managed using the macros __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT() 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** inside the transmit and receive processes. 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA() 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs): 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx channel. 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Enable the DMAx interface clock. 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters. 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx channel. 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle. 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** interrupt on the DMA Tx/Rx channel. 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** flow control and Mode (Receiver/Transmitter) in the huart handle Init structure. 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) If required, program UART advanced features (TX/RX pins swap, auto Baud rate detection,...) 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in the huart handle AdvancedInit structure. 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_Init() API. 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_HalfDuplex_Init() API. 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) For the UART LIN (Local Interconnection Network) mode, initialize the UART registers 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** by calling the HAL_LIN_Init() API. 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) For the UART Multiprocessor mode, initialize the UART registers 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** by calling the HAL_MultiProcessor_Init() API. 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) For the UART RS485 Driver Enabled mode, initialize the UART registers 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** by calling the HAL_RS485Ex_Init() API. 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..] 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (@) These API's (HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init(), HAL_MultiProcessor_Ini 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** also configure the low level Hardware GPIO, CLOCK, CORTEX...etc) by 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** calling the customized HAL_UART_MspInit() API. 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ##### Callback registration ##### 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ================================== 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..] 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** allows the user to configure dynamically the driver callbacks. 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..] 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Use Function HAL_UART_RegisterCallback() to register a user callback. 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Function HAL_UART_RegisterCallback() allows to register following callbacks: 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback. 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback. 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback. 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback. 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) ErrorCallback : Error Callback. 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback. 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback. 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback. 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback. ARM GAS /tmp/ccwvDHH5.s page 3 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) MspInitCallback : UART MspInit. 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit. 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** This function takes as parameters the HAL peripheral handle, the Callback ID 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and a pointer to the user callback function. 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..] 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Use function HAL_UART_UnRegisterCallback() to reset a callback to the default 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** weak (surcharged) function. 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle, 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and the Callback ID. 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** This function allows to reset following callbacks: 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback. 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback. 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback. 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback. 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) ErrorCallback : Error Callback. 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback. 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback. 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback. 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback. 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) MspInitCallback : UART MspInit. 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit. 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..] 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** For specific callback RxEventCallback, use dedicated registration/reset functions: 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** respectively HAL_UART_RegisterRxEventCallback() , HAL_UART_UnRegisterRxEventCallback(). 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..] 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** By default, after the HAL_UART_Init() and when the state is HAL_UART_STATE_RESET 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** all callbacks are set to the corresponding weak (surcharged) functions: 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** examples HAL_UART_TxCpltCallback(), HAL_UART_RxHalfCpltCallback(). 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Exception done for MspInit and MspDeInit functions that are respectively 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** reset to the legacy weak (surcharged) functions in the HAL_UART_Init() 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and HAL_UART_DeInit() only when these callbacks are null (not registered beforehand). 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** If not, MspInit or MspDeInit are not null, the HAL_UART_Init() and HAL_UART_DeInit() 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand). 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..] 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only. 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Exception done MspInit/MspDeInit that can be registered/unregistered 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user) 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MspInit/DeInit callbacks can be used during the Init/DeInit. 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** In that case first register the MspInit/MspDeInit user callbacks 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** using HAL_UART_RegisterCallback() before calling HAL_UART_DeInit() 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** or HAL_UART_Init() function. 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..] 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** not defined, the callback registration feature is not available 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and weak (surcharged) callbacks are used. 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @endverbatim 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ****************************************************************************** 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @attention 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *

© Copyright (c) 2016 STMicroelectronics. ARM GAS /tmp/ccwvDHH5.s page 4 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * All rights reserved.

148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This software component is licensed by ST under BSD 3-Clause license, 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the "License"; You may not use this file except in compliance with the 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * License. You may obtain a copy of the License at: 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * opensource.org/licenses/BSD-3-Clause 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ****************************************************************************** 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #include "stm32f0xx_hal.h" 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @addtogroup STM32F0xx_HAL_Driver 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @defgroup UART UART 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief HAL UART module driver 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @defgroup UART_Private_Constants UART Private Constants 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #define USART_CR1_FIELDS ((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | U 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** USART_CR1_OVER8)) /*!< UART or USART CR1 fields of parameters 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #define USART_CR3_FIELDS ((uint32_t)(USART_CR3_RTSE | USART_CR3_CTSE |\ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** USART_CR3_ONEBIT)) /*!< UART or USART CR3 fields of parameters set by U 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #define UART_BRR_MIN 0x10U /* UART BRR minimum authorized value */ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #define UART_BRR_MAX 0x0000FFFFU /* UART BRR maximum authorized value */ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @} 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Private macros ------------------------------------------------------------*/ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @addtogroup UART_Private_Functions 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart); 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart); 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma); 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma); 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma); 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma); 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma); 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma); 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma); 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma); ARM GAS /tmp/ccwvDHH5.s page 5 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma); 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma); 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart); 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart); 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart); 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart); 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart); 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @} 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Exported Constants --------------------------------------------------------*/ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Exported functions --------------------------------------------------------*/ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Initialization and Configuration functions 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @verbatim 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** =============================================================================== 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ##### Initialization and Configuration functions ##### 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** =============================================================================== 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..] 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in asynchronous mode. 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) For the asynchronous mode the parameters below can be configured: 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) Baud Rate 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) Word Length 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) Stop Bit 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit. 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) Hardware flow control 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) Receiver/transmitter modes 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) Over Sampling Method 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) One-Bit Sampling Method 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) For the asynchronous mode, the following advanced features can be configured as well: 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) TX and/or RX pin level inversion 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) data logical level inversion 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) RX and TX pins swap 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) RX overrun detection disabling 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) DMA disabling on RX error 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) MSB first on communication line 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) auto Baud rate detection 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..] 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init()and HAL_MultiProcessor_Init()API 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** follow respectively the UART asynchronous, UART Half duplex, UART LIN mode 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and UART multiprocessor mode configuration procedures (details for the procedures 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** are available in reference manual). 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @endverbatim 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Depending on the frame length defined by the M1 and M0 bits (7-bit, 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8-bit or 9-bit), the possible UART formats are listed in the ARM GAS /tmp/ccwvDHH5.s page 6 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** following table. 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Table 1. UART frame format. 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** +-----------------------------------------------------------------------+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** | M1 bit | M0 bit | PCE bit | UART frame | 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** | 0 | 0 | 0 | | SB | 8 bit data | STB | | 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** | 0 | 0 | 1 | | SB | 7 bit data | PB | STB | | 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** | 0 | 1 | 0 | | SB | 9 bit data | STB | | 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** | 0 | 1 | 1 | | SB | 8 bit data | PB | STB | | 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** | 1 | 0 | 0 | | SB | 7 bit data | STB | | 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** | 1 | 0 | 1 | | SB | 6 bit data | PB | STB | | 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** +-----------------------------------------------------------------------+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Initialize the UART mode according to the specified 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle. 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart) 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart == NULL) 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE) 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the parameters */ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance)); 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the parameters */ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance)); 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 7 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the low level hardware */ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback(huart); 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_MspInit(huart); 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART Communication parameters */ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared: 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - LINEN (if LIN is supported) and CLKEN bits in the USART_CR2 register, 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - SCEN (if Smartcard is supported), HDSEL and IREN (if IrDA is supported) bits in the USART_CR3 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR2_LINEN) 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN); 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR2_LINEN */ 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_SCEN) 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_IREN) 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL)); 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_IREN */ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_IREN) 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN)); 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_HDSEL); 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_IREN*/ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_SCEN */ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Initialize the half-duplex mode according to the specified 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle. ARM GAS /tmp/ccwvDHH5.s page 8 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart) 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart == NULL) 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check UART instance */ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance)); 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the low level hardware */ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback(huart); 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_MspInit(huart); 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART Communication parameters */ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared: 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - LINEN (if LIN is supported) and CLKEN bits in the USART_CR2 register, 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - SCEN (if Smartcard is supported) and IREN (if IrDA is supported) bits in the USART_CR3 register 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR2_LINEN) 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN); ARM GAS /tmp/ccwvDHH5.s page 9 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR2_LINEN */ 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_SCEN) 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_IREN) 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN)); 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_SCEN); 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_IREN */ 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_IREN) 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_IREN); 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_IREN */ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_SCEN */ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL); 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR2_LINEN) 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Initialize the LIN mode according to the specified 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle. 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length. 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This parameter can be one of the following values: 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_10B 10-bit break detection 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_11B 11-bit break detection 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength) 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart == NULL) 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the LIN UART instance */ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the Break detection length parameter */ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength)); 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* LIN mode limited to 16-bit oversampling only */ 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8) 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* LIN mode limited to 8-bit data length */ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->Init.WordLength != UART_WORDLENGTH_8B) 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } ARM GAS /tmp/ccwvDHH5.s page 10 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the low level hardware */ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback(huart); 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_MspInit(huart); 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART Communication parameters */ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared: 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - SCEN(if Smartcard is supported) and IREN(if IrDA is supported) bits in the USART_CR3 register.* 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_SCEN) 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_IREN) 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL)); 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_IREN */ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_IREN) 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN)); 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_HDSEL); 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_IREN*/ 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_SCEN */ 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */ 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN); ARM GAS /tmp/ccwvDHH5.s page 11 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the USART LIN Break detection length. */ 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_LBDL, BreakDetectLength); 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR2_LINEN */ 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Initialize the multiprocessor mode according to the specified 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle. 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Address UART node address (4-, 6-, 7- or 8-bit long). 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param WakeUpMethod Specifies the UART wakeup method. 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This parameter can be one of the following values: 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_IDLELINE WakeUp by an idle line detection 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_ADDRESSMARK WakeUp by an address mark 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note If the user resorts to idle line detection wake up, the Address parameter 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * is useless and ignored by the initialization function. 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note If the user resorts to address mark wake up, the address length detection 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * is configured by default to 4 bits only. For the UART to be able to 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * manage 6-, 7- or 8-bit long addresses detection, the API 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * HAL_MultiProcessorEx_AddressLength_Set() must be called after 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * HAL_MultiProcessor_Init(). 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart == NULL) 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the wake up method parameter */ 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod)); 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the low level hardware */ 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback(huart); 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else ARM GAS /tmp/ccwvDHH5.s page 12 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_MspInit(huart); 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART Communication parameters */ 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In multiprocessor mode, the following bits must be kept cleared: 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - LINEN (if LIN is supported) and CLKEN bits in the USART_CR2 register, 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - SCEN (if Smartcard is supported), HDSEL and IREN (if IrDA is supported) bits in the USART_CR3 r 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR2_LINEN) 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN); 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR2_LINEN */ 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_SCEN) 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_IREN) 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL)); 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_IREN */ 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_IREN) 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN)); 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_HDSEL); 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_IREN */ 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_SCEN */ 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (WakeUpMethod == UART_WAKEUPMETHOD_ADDRESSMARK) 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If address mark wake up method is chosen, set the USART address node */ 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ADD, ((uint32_t)Address << UART_CR2_ADDRESS_LSB_POS) 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */ 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_WAKE, WakeUpMethod); 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 13 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DeInitialize the UART peripheral. 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart) 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */ 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart == NULL) 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the parameters */ 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance)); 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR1 = 0x0U; 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL) 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DeInit the low level hardware */ 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspDeInitCallback(huart); 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DeInit the low level hardware */ 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_MspDeInit(huart); 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Initialize the UART MSP. 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart) 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart); 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 14 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_MspInit can be implemented in the user file 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DeInitialize the UART MSP. 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart) 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart); 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_MspDeInit can be implemented in the user file 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Register a User UART Callback 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * To be used instead of the weak predefined callback 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart uart handle 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This parameter can be one of the following values: 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pCallback pointer to the Callback function 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pUART_CallbackTypeDef pCallback) 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (pCallback == NULL) 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 15 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** switch (CallbackID) 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID : 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback; 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID : 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxCpltCallback = pCallback; 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID : 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback; 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID : 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxCpltCallback = pCallback; 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID : 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCallback = pCallback; 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID : 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortCpltCallback = pCallback; 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID : 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback; 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID : 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback; 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR1_UESM) 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR3_WUFIE) 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID : 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->WakeupCallback = pCallback; 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_WUFIE */ 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR1_UESM */ 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback = pCallback; 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspDeInitCallback = pCallback; 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** default : 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** status = HAL_ERROR; 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } ARM GAS /tmp/ccwvDHH5.s page 16 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET) 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** switch (CallbackID) 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback = pCallback; 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspDeInitCallback = pCallback; 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** default : 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** status = HAL_ERROR; 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** status = HAL_ERROR; 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return status; 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Unregister an UART Callback 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart uart handle 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This parameter can be one of the following values: 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID 871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID 875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID 879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef 883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 17 888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState) 889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** switch (CallbackID) 891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID : 893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa 894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID : 897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl 898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID : 901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal 902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID : 905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl 906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID : 909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error 910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID : 913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort 914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID : 917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak 918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** AbortTransmitCplt 919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID : 922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak 923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** AbortReceiveCpltC 924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR1_UESM) 927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR3_WUFIE) 928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID : 929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak Wakeu 930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_WUFIE */ 933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR1_UESM */ 934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn 936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe 940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** default : 943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 18 945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** status = HAL_ERROR; 946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState) 950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** switch (CallbackID) 952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; 959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** default : 962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** status = HAL_ERROR; 965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** status = HAL_ERROR; 973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return status; 978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Register a User UART Rx Event Callback 982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * To be used instead of the weak predefined callback 983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart Uart handle 984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pCallback Pointer to the Rx Event Callback function 985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback(UART_HandleTypeDef *huart, pUART_RxEventCallback 988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (pCallback == NULL) 992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Process locked */ 999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) ARM GAS /tmp/ccwvDHH5.s page 19 1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback = pCallback; 1004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 1006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** status = HAL_ERROR; 1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Release Lock */ 1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return status; 1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UnRegister the UART Rx Event Callback 1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefine 1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart Uart handle 1022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback(UART_HandleTypeDef *huart) 1025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 1027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Process locked */ 1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 1030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak UART Rx Event Callback */ 1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** status = HAL_ERROR; 1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Release Lock */ 1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return status; 1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 1048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @} 1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 1052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions 1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UART Transmit/Receive functions 1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * 1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @verbatim 1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** =============================================================================== 1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ##### IO operation functions ##### ARM GAS /tmp/ccwvDHH5.s page 20 1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** =============================================================================== 1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous 1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and Half duplex data transfers. 1062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) There are two mode of transfer: 1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode. 1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** The HAL status of all data processing is returned by the same function 1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** after finishing transfer. 1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts 1068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** or DMA, These API's return the HAL status. 1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** The end of the data processing will be indicated through the 1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when 1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** using DMA mode. 1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks 1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** will be executed respectively at the end of the transmit or Receive process 1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is 1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) Blocking mode API's are : 1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_Transmit() 1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_Receive() 1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are : 1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_Transmit_IT() 1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_Receive_IT() 1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_IRQHandler() 1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are : 1086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA() 1087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_Receive_DMA() 1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_DMAPause() 1089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_DMAResume() 1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_DMAStop() 1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode: 1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback() 1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback() 1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback() 1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback() 1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_ErrorCallback() 1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's : 1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_Abort() 1101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_AbortTransmit() 1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_AbortReceive() 1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_Abort_IT() 1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT() 1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT() 1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call 1108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback() 1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback() 1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback() 1111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) A Rx Event Reception Callback (Rx event notification) is available for Non_Blocking modes o 1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** reception services: 1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UARTEx_RxEventCallback() 1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 21 1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories. 1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Errors are handled as follows : 1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er 1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error 1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in Interrupt mode reception . 1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Received character is then retrieved and stored in Rx buffer, Error code is set to allow 1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** to identify error type, and HAL_UART_ErrorCallback() user callback is executed. 1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Transfer is kept ongoing on UART side. 1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user. 1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte 1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode. 1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback() 1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** user callback is executed. 1129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit 1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful. 1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @endverbatim 1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{ 1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 1136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Send an amount of data in blocking mode. 1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * of u16 provided through pData. 1142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * address of user data buffer containing data to be sent, should be aligned on a half wor 1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (as sent data will be handled using u16 pointer cast). Depending on compilation chain, 1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required 1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to ensure proper alignment for pData. 1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 1148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Timeout Timeout duration. 1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint3 1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint8_t *pdata8bits; 1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t *pdata16bits; 1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tickstart; 1158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input parameter 1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** should be aligned on a u16 frontier, as data to be filled into TDR will be 1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** handled through a u16 cast. */ 1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((((uint32_t)pData) & 1U) != 0U) ARM GAS /tmp/ccwvDHH5.s page 22 1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init tickstart for timeout management */ 1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tickstart = HAL_GetTick(); 1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferSize = Size; 1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size; 1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */ 1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits = NULL; 1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 1194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits = pData; 1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits = NULL; 1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** while (huart->TxXferCount > 0U) 1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK) 1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT; 1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (pdata8bits == NULL) 1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->TDR = (uint16_t)(*pdata16bits & 0x01FFU); 1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++; 1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*pdata8bits & 0xFFU); 1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++; 1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount--; 1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK) 1223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT; 1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */ 1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 23 1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 1231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_BUSY; 1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode. 1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * of u16 available through pData. 1243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * address of user data buffer for storing data to be received, should be aligned on a hal 1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (16 bits) (as received data will be handled using u16 pointer cast). Depending on compi 1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required 1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to ensure proper alignment for pData. 1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Timeout Timeout duration. 1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32 1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint8_t *pdata8bits; 1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t *pdata16bits; 1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t uhMask; 1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tickstart; 1260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input parameter 1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** should be aligned on a u16 frontier, as data to be received from RDR will be 1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** handled through a u16 cast. */ 1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((((uint32_t)pData) & 1U) != 0U) 1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 1277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init tickstart for timeout management */ ARM GAS /tmp/ccwvDHH5.s page 24 1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tickstart = HAL_GetTick(); 1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferSize = Size; 1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = Size; 1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */ 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_MASK_COMPUTATION(huart); 1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask; 1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */ 1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits = NULL; 1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits = pData; 1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits = NULL; 1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* as long as data have to be received */ 1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** while (huart->RxXferCount > 0U) 1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK) 1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT; 1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (pdata8bits == NULL) 1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->RDR & uhMask); 1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++; 1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->RDR & (uint8_t)uhMask); 1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++; 1326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount--; 1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 1336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_BUSY; 1338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Send an amount of data in interrupt mode. 1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- ARM GAS /tmp/ccwvDHH5.s page 25 1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * of u16 provided through pData. 1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * address of user data buffer containing data to be sent, should be aligned on a half wor 1348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (as sent data will be handled using u16 pointer cast). Depending on compilation chain, 1349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required 1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to ensure proper alignment for pData. 1351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 1355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input parameter 1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** should be aligned on a u16 frontier, as data to be filled into TDR will be 1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** handled through a u16 cast. */ 1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((((uint32_t)pData) & 1U) != 0U) 1372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 1378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr = pData; 1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferSize = Size; 1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size; 1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL; 1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the Tx ISR function pointer according to the data word length */ 1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = UART_TxISR_16BIT; 1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 1393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = UART_TxISR_8BIT; 1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 1398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the Transmit Data Register Empty interrupt */ 1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TXEIE); ARM GAS /tmp/ccwvDHH5.s page 26 1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_BUSY; 1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode. 1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * of u16 available through pData. 1415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * address of user data buffer for storing data to be received, should be aligned on a hal 1417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (16 bits) (as received data will be handled using u16 pointer cast). Depending on compi 1418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required 1419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to ensure proper alignment for pData. 1420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 1421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input parameter 1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** should be aligned on a u16 frontier, as data to be received from RDR will be 1437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** handled through a u16 cast. */ 1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((((uint32_t)pData) & 1U) != 0U) 1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set Reception type to Standard reception */ 1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 1453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 27 1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (UART_Start_Receive_IT(huart, pData, Size)); 1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 1461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_BUSY; 1463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Send an amount of data in DMA mode. 1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * of u16 provided through pData. 1471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * address of user data buffer containing data to be sent, should be aligned on a half wor 1473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (as sent data will be handled by DMA from halfword frontier). Depending on compilation 1474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required 1475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to ensure proper alignment for pData. 1476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 1480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 1481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input parameter 1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** should be aligned on a u16 frontier, as data copy into TDR will be 1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** handled by DMA from a u16 frontier. */ 1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((((uint32_t)pData) & 1U) != 0U) 1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr = pData; 1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferSize = Size; 1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size; 1507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx != NULL) 1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */ 1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt; ARM GAS /tmp/ccwvDHH5.s page 28 1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */ 1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt; 1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the DMA error callback */ 1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError; 1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the DMA abort callback */ 1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART transmit DMA channel */ 1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance-> 1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set error code to DMA */ 1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState to ready */ 1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the TC flag in the ICR register */ 1540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF); 1541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 1543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit 1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in the UART CR3 register */ 1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 1549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_BUSY; 1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode. 1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain 1559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the parity bit (MSB position). 1560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * of u16 available through pData. 1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * address of user data buffer for storing data to be received, should be aligned on a hal 1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (16 bits) (as received data will be handled by DMA from halfword frontier). Depending o 1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required 1567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to ensure proper alignment for pData. 1568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status ARM GAS /tmp/ccwvDHH5.s page 29 1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input parameter 1584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** should be aligned on a u16 frontier, as data copy from RDR will be 1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** handled by DMA from a u16 frontier. */ 1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((((uint32_t)pData) & 1U) != 0U) 1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 1591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set Reception type to Standard reception */ 1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 1604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (UART_Start_Receive_DMA(huart, pData, Size)); 1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 1609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_BUSY; 1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 1615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Pause the DMA Transfer. 1616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 1617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 1618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 1619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart) 1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 30 1629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Tx request */ 1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Rx request */ 1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 1649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Resume the DMA Transfer. 1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 1651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 1652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 1653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart) 1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART DMA Tx request */ 1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 1663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer */ 1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 1666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Re-enable PE and ERR (Frame error, noise error, overrun error) interrupts */ 1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART DMA Rx request */ 1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 1681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Stop the DMA Transfer. 1682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 1683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart) ARM GAS /tmp/ccwvDHH5.s page 31 1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback() 1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback / HAL_UART_RxHalfCpltCallback: 1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** indeed, when HAL_DMA_Abort() API is called, the DMA TX/RX Transfer or Half Transfer complete 1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** interrupt is generated if the DMA transfer interruption occurs at the middle or at the end of 1692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the stream and the corresponding call back is executed. */ 1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */ 1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 1699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Tx channel */ 1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx != NULL) 1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set error code to DMA */ 1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT; 1714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndTxTransfer(huart); 1719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */ 1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Rx channel */ 1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL) 1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set error code to DMA */ 1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT; 1738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndRxTransfer(huart); ARM GAS /tmp/ccwvDHH5.s page 32 1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 1749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode). 1750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or 1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This procedure performs following operations : 1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx) 1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Set handle State to READY 1757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 1760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart) 1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA 1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */ 1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx != NULL) 1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set error code to DMA */ 1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT; 1792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 33 1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */ 1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL) 1804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set error code to DMA */ 1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT; 1817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */ 1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U; 1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 1828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Discard the received data */ 1831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 1844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode). 1845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 1847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This procedure performs following operations : 1848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable UART Interrupts (Tx) 1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Set handle State to READY 1852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 1854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 1855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart) 1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 34 1857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); 1859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */ 1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx != NULL) 1867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set error code to DMA */ 1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT; 1880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset Tx transfer counter */ 1886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U; 1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState to Ready */ 1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode). 1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 1898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 1899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This procedure performs following operations : 1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable UART Interrupts (Rx) 1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Set handle State to READY 1904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 1906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart) 1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ ARM GAS /tmp/ccwvDHH5.s page 35 1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */ 1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL) 1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set error code to DMA */ 1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT; 1939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset Rx transfer counter */ 1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 1946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Discard the received data */ 1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 1961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode). 1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 1963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or 1964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This procedure performs following operations : 1965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx) 1966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) 1968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Set handle State to READY 1969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - At abort completion, call user abort complete callback 1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be ARM GAS /tmp/ccwvDHH5.s page 36 1971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 1972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 1974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart) 1975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t abortcplt = 1U; 1977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable interrupts */ 1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA 1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh 1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** before any call to DMA Abort functions */ 1990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DMA Tx Handle is valid */ 1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx != NULL) 1992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled. 1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Otherwise, set it to NULL */ 1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback; 1998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 2000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 2002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DMA Rx Handle is valid */ 2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL) 2006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled. 2008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Otherwise, set it to NULL */ 2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback; 2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 2014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 2021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable DMA Tx at UART level */ 2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ 2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx != NULL) 2027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 37 2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised : 2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort DMA TX */ 2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 2033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 2035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 2037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** abortcplt = 0U; 2039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ 2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL) 2050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised : 2052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort DMA RX */ 2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** abortcplt = 1U; 2059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 2061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** abortcplt = 0U; 2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback * 2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (abortcplt == 1U) 2069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */ 2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U; 2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear ISR function pointers */ 2075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL; 2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL; 2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset errorCode */ 2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 2080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF 2083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 38 2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Discard the received data */ 2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 2087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort complete callback */ 2096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortCpltCallback(huart); 2097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 2099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 2100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode). 2108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 2109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 2110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This procedure performs following operations : 2111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable UART Interrupts (Tx) 2112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 2113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) 2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Set handle State to READY 2115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - At abort completion, call user abort complete callback 2116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 2118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 2119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart) 2121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable interrupts */ 2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); 2124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 2127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 2129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ 2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx != NULL) 2132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback; 2136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort DMA TX */ 2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 2139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */ 2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx); ARM GAS /tmp/ccwvDHH5.s page 39 2142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 2145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset Tx transfer counter */ 2147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U; 2148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear TxISR function pointers */ 2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL; 2151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState to Ready */ 2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 2158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 2159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 2160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 2162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 2166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset Tx transfer counter */ 2168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U; 2169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear TxISR function pointers */ 2171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL; 2172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState to Ready */ 2175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 2180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 2181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 2183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 2184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode). 2192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 2193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This procedure performs following operations : 2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable UART Interrupts (Rx) 2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) 2198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Set handle State to READY ARM GAS /tmp/ccwvDHH5.s page 40 2199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - At abort completion, call user abort complete callback 2200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 2201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 2203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart) 2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 2212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 2214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ 2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL) 2223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback; 2227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort DMA RX */ 2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ 2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx); 2233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset Rx transfer counter */ 2238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 2239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear RxISR function pointer */ 2241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr = NULL; 2242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_F 2245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Discard the received data */ 2247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 2248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ ARM GAS /tmp/ccwvDHH5.s page 41 2256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 2257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 2258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 2259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset Rx transfer counter */ 2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 2267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear RxISR function pointer */ 2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr = NULL; 2270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 2272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF 2273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 2281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 2282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 2283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 2284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 2285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Handle UART interrupt request. 2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 2294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 2295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart) 2297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 2301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t errorflags; 2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t errorcode; 2304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If no error occurs */ 2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE | 2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (errorflags == 0U) 2308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART in mode Receiver ---------------------------------------------------*/ 2310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE) != 0U) 2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 2312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 42 2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxISR != NULL) 2314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR(huart); 2316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return; 2318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If some errors occur */ 2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((errorflags != 0U) 2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (((cr3its & USART_CR3_EIE) != 0U) 2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))) 2325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/ 2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U)) 2328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); 2330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE; 2332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/ 2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 2336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); 2338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE; 2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/ 2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 2344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); 2346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE; 2348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART Over-Run interrupt occurred -----------------------------------------*/ 2351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_ORE) != 0U) 2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) || 2353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U))) 2354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 2356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE; 2358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART Receiver Timeout interrupt occurred ---------------------------------*/ 2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U)) 2362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 2364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_RTO; 2366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/ 2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE) ARM GAS /tmp/ccwvDHH5.s page 43 2370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART in mode Receiver --------------------------------------------------*/ 2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE) != 0U) 2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxISR != NULL) 2376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR(huart); 2378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If Error is to be considered as blocking : 2382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - Receiver Timeout error in Reception 2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - Overrun error in Reception 2384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - any error occurs in DMA mode reception 2385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** errorcode = huart->ErrorCode; 2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Blocking error : transfer is aborted 2391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */ 2393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndRxTransfer(huart); 2394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Rx channel */ 2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL) 2402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */ 2405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError; 2406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort DMA RX */ 2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ 2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx); 2412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 2415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call user error callback */ 2417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered error callback*/ 2419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCallback(huart); 2420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 2421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak error callback*/ 2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } ARM GAS /tmp/ccwvDHH5.s page 44 2427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 2428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call user error callback */ 2430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered error callback*/ 2432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCallback(huart); 2433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 2434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak error callback*/ 2435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 2440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Non Blocking error : transfer could go on. 2442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Error is notified to user through user error callback */ 2443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered error callback*/ 2445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCallback(huart); 2446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak error callback*/ 2448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 2451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return; 2454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } /* End if some error occurs */ 2456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check current reception Mode : 2458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 2460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 2461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U)) 2462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 2464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check if DMA mode is enabled in UART */ 2466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DMA mode enabled */ 2469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing, 2470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (DMA cplt callback will be called). 2471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to 2472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx); 2473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 2475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reception is not complete */ 2477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = nb_remaining_rx_data; 2478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In Normal mode, end DMA xfer and HAL UART Rx process*/ 2480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx->Init.Mode != DMA_CIRCULAR) 2481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); ARM GAS /tmp/ccwvDHH5.s page 45 2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit 2487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in the UART CR3 register */ 2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 2491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 2495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Last bytes received, so no need as the abort is immediate */ 2497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (void)HAL_DMA_Abort(huart->hdmarx); 2498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx Event callback*/ 2501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount)); 2502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 2503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount)); 2505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 2506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return; 2508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 2510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DMA mode not enabled */ 2512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing. 2513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to 2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount; 2515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 2516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (nb_rx_data > 0U)) 2517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */ 2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 2520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 2525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear RxISR function pointer */ 2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL; 2530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 2532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx complete callback*/ 2534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback(huart, nb_rx_data); 2535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 2536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 2537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, nb_rx_data); 2538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 2539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return; ARM GAS /tmp/ccwvDHH5.s page 46 2541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR1_UESM) 2544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR3_WUFIE) 2545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART wakeup from Stop mode interrupt occurred ---------------------------*/ 2547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_WUF) != 0U) && ((cr3its & USART_CR3_WUFIE) != 0U)) 2548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF); 2550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART Rx state is not reset as a reception process might be ongoing. 2552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** If UART handle state fields need to be reset to READY, this could be done in Wakeup callback 2553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Wakeup Callback */ 2556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->WakeupCallback(huart); 2557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 2558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Wakeup Callback */ 2559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UARTEx_WakeupCallback(huart); 2560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return; 2562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_WUFIE */ 2564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR1_UESM */ 2565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/ 2567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_TXE) != 0U) 2568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U)) 2569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->TxISR != NULL) 2571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR(huart); 2573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return; 2575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART in mode Transmitter (transmission end) -----------------------------*/ 2578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U)) 2579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndTransmit_IT(huart); 2581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return; 2582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Tx Transfer completed callback. 2588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 2589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 2590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) 2592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart); 2595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_TxCpltCallback can be implemented in the user file. ARM GAS /tmp/ccwvDHH5.s page 47 2598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Tx Half Transfer completed callback. 2603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 2604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 2605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart) 2607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart); 2610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback can be implemented in the user file. 2613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Rx Transfer completed callback. 2618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 2619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 2620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) 2622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart); 2625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_RxCpltCallback can be implemented in the user file. 2628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Rx Half Transfer completed callback. 2633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 2634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 2635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart) 2637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart); 2640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback can be implemented in the user file. 2643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UART error callback. 2648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 2649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 2650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart) 2652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart); ARM GAS /tmp/ccwvDHH5.s page 48 2655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_ErrorCallback can be implemented in the user file. 2658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UART Abort Complete callback. 2663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 2664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 2665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart) 2667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart); 2670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file. 2673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UART Abort Complete callback. 2678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 2679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 2680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart) 2682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart); 2685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file. 2688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UART Abort Receive Complete callback. 2693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 2694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 2695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart) 2697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart); 2700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file. 2703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Reception Event Callback (Rx event notification called after use of advanced reception 2708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle 2709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Number of data available in application reception buffer (indicates a position in 2710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * reception buffer until which, data are available) 2711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None ARM GAS /tmp/ccwvDHH5.s page 49 2712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) 2714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart); 2717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(Size); 2718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UARTEx_RxEventCallback can be implemented in the user file. 2721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @} 2726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions 2729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UART control functions 2730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * 2731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @verbatim 2732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** =============================================================================== 2733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ##### Peripheral Control functions ##### 2734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** =============================================================================== 2735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..] 2736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART. 2737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_ReceiverTimeout_Config() API allows to configure the receiver timeout value on th 2738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_EnableReceiverTimeout() API enables the receiver timeout feature 2739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_DisableReceiverTimeout() API disables the receiver timeout feature 2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_MultiProcessor_EnableMuteMode() API enables mute mode 2741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_MultiProcessor_DisableMuteMode() API disables mute mode 2742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API enters mute mode 2743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) UART_SetConfig() API configures the UART peripheral 2744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) UART_AdvFeatureConfig() API optionally configures the UART advanced features 2745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) UART_CheckIdleState() API ensures that TEACK and/or REACK are set after initialization 2746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API disables receiver and enables transmitter 2747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API disables transmitter and enables receiver 2748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API transmits the break characters 2749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @endverbatim 2750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{ 2751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Update on the fly the receiver timeout value in RTOR register. 2755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the configuration information for the specified UART module. 2757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param TimeoutValue receiver timeout value in number of baud blocks. The timeout 2758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * value must be less or equal to 0x0FFFFFFFF. 2759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 2760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** void HAL_UART_ReceiverTimeout_Config(UART_HandleTypeDef *huart, uint32_t TimeoutValue) 2762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue)); 2764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 2765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Enable the UART receiver timeout feature. ARM GAS /tmp/ccwvDHH5.s page 50 2769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the configuration information for the specified UART module. 2771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 2772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_EnableReceiverTimeout(UART_HandleTypeDef *huart) 2774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 2776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Process Locked */ 2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 2779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the USART RTOEN bit */ 2783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_RTOEN); 2784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Process Unlocked */ 2788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 2789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 2791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 2793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_BUSY; 2795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Disable the UART receiver timeout feature. 2800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the configuration information for the specified UART module. 2802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 2803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DisableReceiverTimeout(UART_HandleTypeDef *huart) 2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 2807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Process Locked */ 2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 2810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the USART RTOEN bit */ 2814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_RTOEN); 2815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Process Unlocked */ 2819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 2820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 2822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 2824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_BUSY; ARM GAS /tmp/ccwvDHH5.s page 51 2826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Enable UART in mute mode (does not mean UART enters mute mode; 2831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to enter mute mode, HAL_MultiProcessor_EnterMuteMode() API must be called). 2832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 2833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 2834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart) 2836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 2838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable USART mute mode by setting the MME bit in the CR1 register */ 2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_MME); 2843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 2847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Disable UART mute mode (does not mean the UART actually exits mute mode 2851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * as it may not have been in mute mode at this very moment). 2852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 2853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 2854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart) 2856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 2858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable USART mute mode by clearing the MME bit in the CR1 register */ 2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_MME); 2863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 2867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Enter UART mute mode (means UART actually enters mute mode). 2871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note To exit from mute mode, HAL_MultiProcessor_DisableMuteMode() API must be called. 2872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 2873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 2874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** void HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart) 2876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST); 2878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Enable the UART transmitter and disable the UART receiver. 2882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. ARM GAS /tmp/ccwvDHH5.s page 52 2883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 2884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart) 2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 2888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear TE and RE bits */ 2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE)); 2892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */ 2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TE); 2895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 2899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 2901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Enable the UART receiver and disable the UART transmitter. 2905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 2906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status. 2907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart) 2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear TE and RE bits */ 2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE)); 2915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */ 2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RE); 2918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 2922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 2924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR2_LINEN) 2928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Transmit break characters. 2930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 2931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 2932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart) 2934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the parameters */ 2936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); 2937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 2939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 53 2940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Send break characters */ 2943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_SENDBREAK_REQUEST); 2944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 2948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 2950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR2_LINEN */ 2952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @} 2955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Error functions 2958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UART Peripheral State functions 2959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * 2960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @verbatim 2961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ============================================================================== 2962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ##### Peripheral State and Error functions ##### 2963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ============================================================================== 2964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..] 2965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** This subsection provides functions allowing to : 2966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) Return the UART handle state. 2967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) Return the UART handle error code 2968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @endverbatim 2970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{ 2971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Return the UART handle state. 2975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the configuration information for the specified UART. 2977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL state 2978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(UART_HandleTypeDef *huart) 2980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t temp1; 2982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t temp2; 2983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** temp1 = huart->gState; 2984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** temp2 = huart->RxState; 2985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2); 2987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 2990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Return the UART handle error code. 2991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the configuration information for the specified UART. 2993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval UART Error Code 2994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 2995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart) 2996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 54 2997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return huart->ErrorCode; 2998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @} 3001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @} 3005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions 3008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{ 3009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Initialize the callbacks to their default values. 3013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 3014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval none 3015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart) 3018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the UART Callback settings */ 3020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC 3021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb 3022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC 3023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb 3024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba 3025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa 3026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm 3027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv 3028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR1_UESM) 3029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR3_WUFIE) 3030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak WakeupCallb 3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_WUFIE */ 3032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR1_UESM */ 3033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak RxEventCall 3034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Configure the UART peripheral. 3040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 3041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 3042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart) 3044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tmpreg; 3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t brrtemp; 3047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource; 3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t usartdiv; 3049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK; 3050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t pclk; 3051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the parameters */ 3053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate)); ARM GAS /tmp/ccwvDHH5.s page 55 3054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 3055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits)); 3056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling)); 3057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity)); 3059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 3060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); 3061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 3062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/ 3064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear M, PCE, PS, TE, RE and OVER8 bits and configure 3065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the UART Word Length, Parity, Mode and oversampling: 3066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * set the M bits according to huart->Init.WordLength value 3067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * set PCE and PS bits according to huart->Init.Parity value 3068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * set TE and RE bits according to huart->Init.Mode value 3069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * set OVER8 bit according to huart->Init.OverSampling value */ 3070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O 3071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 3072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/ 3074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits according 3075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to huart->Init.StopBits value */ 3076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits); 3077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/ 3079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Configure 3080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - UART HardWare Flow Control: set CTSE and RTSE bits according 3081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to huart->Init.HwFlowCtl value 3082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - one-bit sampling method versus three samples' majority rule according 3083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to huart->Init.OneBitSampling (not applicable to LPUART) */ 3084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.HwFlowCtl; 3085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tmpreg |= huart->Init.OneBitSampling; 3087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 3088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*-------------------------- USART BRR Configuration -----------------------*/ 3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_GETCLOCKSOURCE(huart, clocksource); 3092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8) 3094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** switch (clocksource) 3096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1: 3098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 3099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 3100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 3101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 3102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 3103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK: 3104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq(); 3105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 3106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 3107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 3108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 3109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** default: 3110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = 0U; ARM GAS /tmp/ccwvDHH5.s page 56 3111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ret = HAL_ERROR; 3112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 3113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */ 3116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (pclk != 0U) 3117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** usartdiv = (uint16_t)(UART_DIV_SAMPLING8(pclk, huart->Init.BaudRate)); 3119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 3120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** brrtemp = (uint16_t)(usartdiv & 0xFFF0U); 3122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 3124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 3126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ret = HAL_ERROR; 3128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 3132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** switch (clocksource) 3134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1: 3136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 3137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 3138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 3140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 3141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK: 3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq(); 3143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 3144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 3145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 3146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 3147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** default: 3148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = 0U; 3149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ret = HAL_ERROR; 3150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 3151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (pclk != 0U) 3154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */ 3156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** usartdiv = (uint16_t)(UART_DIV_SAMPLING16(pclk, huart->Init.BaudRate)); 3157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 3158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->BRR = usartdiv; 3160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 3162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ret = HAL_ERROR; 3164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 57 3168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear ISR function pointers */ 3170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL; 3171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL; 3172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return ret; 3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Configure the UART peripheral advanced features. 3178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 3179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** void UART_AdvFeatureConfig(UART_HandleTypeDef *huart) 3182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */ 3184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit)); 3185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if required, configure TX pin active level inversion */ 3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT)) 3188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert)); 3190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); 3191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if required, configure RX pin active level inversion */ 3194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT)) 3195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert)); 3197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); 3198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if required, configure data inversion */ 3201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT)) 3202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert)); 3204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); 3205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if required, configure RX/TX pins swap */ 3208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT)) 3209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap)); 3211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); 3212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if required, configure RX overrun detection disabling */ 3215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT)) 3216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable)); 3218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); 3219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if required, configure DMA disabling on reception error */ 3222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT)) 3223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError)); ARM GAS /tmp/ccwvDHH5.s page 58 3225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); 3226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if required, configure auto Baud rate detection scheme */ 3229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT)) 3230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance)); 3232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); 3233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); 3234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 3235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE) 3236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode)); 3238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); 3239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if required, configure MSB first on communication line */ 3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT)) 3244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst)); 3246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); 3247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Check the UART Idle State. 3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 3253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 3254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart) 3256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tickstart; 3258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Initialize the UART ErrorCode */ 3260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init tickstart for timeout management */ 3263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tickstart = HAL_GetTick(); 3264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check if the Transmitter is enabled */ 3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE) 3267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Wait until TEACK flag is set */ 3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU 3270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Timeout occurred */ 3272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT; 3273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check if the Receiver is enabled */ 3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE) 3278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Wait until REACK flag is set */ 3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU 3281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 59 3282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Timeout occurred */ 3283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT; 3284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Initialize the UART State */ 3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 3293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 3295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Handle UART Communication Timeout. 3299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 3300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Flag Specifies the UART flag to check 3301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Status Flag status (SET or RESET) 3302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Tickstart Tick start value 3303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Timeout Timeout duration 3304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 3305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus 3307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout) 3308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Wait until flag is set */ 3310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status) 3311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check for the Timeout */ 3313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY) 3314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 3316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) 3318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** interrupts for the interrupt process */ 3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE 3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 3326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT; 3328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR1, USART_CR1_RE) != 0U) 3331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RTOF) == SET) 3333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear Receiver Timeout flag*/ 3335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 3336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) 3338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** interrupts for the interrupt process */ ARM GAS /tmp/ccwvDHH5.s page 60 3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXE 3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO; 3345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Process Unlocked */ 3347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 3348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT; 3350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Start Receive operation in interrupt mode. 3359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in Interrupt mode 3360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked, 3361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * i.e. Rx State, buffer address, ... 3362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * UART Handle is assumed as Locked. 3363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 3364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 3365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 3366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 3367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 3369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr = pData; 3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferSize = Size; 3372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = Size; 3373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL; 3374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */ 3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_MASK_COMPUTATION(huart); 3377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 3380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 3383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the Rx ISR function pointer according to the data word length */ 3385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 3386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT; 3388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 3390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT; 3392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 3395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 61 3396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Parity Error interrupt and Data Register Not Empty interrupt */ 3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE); 3398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 3399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Start Receive operation in DMA mode. 3403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in DMA mode. 3404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked, 3405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * i.e. Rx State, buffer address, ... 3406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * UART Handle is assumed as Locked. 3407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 3408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 3409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 3410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status 3411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr = pData; 3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferSize = Size; 3416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 3419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL) 3421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */ 3423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt; 3424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */ 3426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt; 3427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the DMA error callback */ 3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError; 3430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the DMA abort callback */ 3432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 3433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the DMA channel */ 3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->RDR, (uint32_t)huart->pRxBuffPt 3436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set error code to DMA */ 3438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 3439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 3441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->RxState to ready */ 3443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR; 3446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart); 3449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */ 3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 62 3453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 3455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit 3457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in the UART CR3 register */ 3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); 3459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 3461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl 3466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 3467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart) 3470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 27 .loc 1 3470 1 view -0 28 .cfi_startproc 29 @ args = 0, pretend = 0, frame = 0 30 @ frame_needed = 0, uses_anonymous_args = 0 31 .loc 1 3470 1 is_stmt 0 view .LVU1 32 0000 10B5 push {r4, lr} 33 .LCFI0: 34 .cfi_def_cfa_offset 8 35 .cfi_offset 4, -8 36 .cfi_offset 14, -4 3471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 3472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); 37 .loc 1 3472 3 is_stmt 1 view .LVU2 38 .LBB564: 39 .loc 1 3472 3 view .LVU3 40 .loc 1 3472 3 view .LVU4 41 .LBB565: 42 .LBI565: 43 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h" 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//** 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file 4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/ 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /* 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved. 9:Drivers/CMSIS/Include/cmsis_gcc.h **** * 10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0 11:Drivers/CMSIS/Include/cmsis_gcc.h **** * 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License. 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at 15:Drivers/CMSIS/Include/cmsis_gcc.h **** * 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0 17:Drivers/CMSIS/Include/cmsis_gcc.h **** * 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ARM GAS /tmp/ccwvDHH5.s page 63 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License. 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 24:Drivers/CMSIS/Include/cmsis_gcc.h **** 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H 27:Drivers/CMSIS/Include/cmsis_gcc.h **** 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */ 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion" 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion" 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter" 33:Drivers/CMSIS/Include/cmsis_gcc.h **** 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */ 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0) 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 38:Drivers/CMSIS/Include/cmsis_gcc.h **** 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */ 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline 48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__)) 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used)) 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak)) 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1))) 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1))) 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1))) 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */ 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; }; 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif ARM GAS /tmp/ccwvDHH5.s page 64 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))- 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; }; 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))- 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; }; 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x))) 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT 114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 116:Drivers/CMSIS/Include/cmsis_gcc.h **** 117:Drivers/CMSIS/Include/cmsis_gcc.h **** 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */ 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface 120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions 121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{ 122:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 123:Drivers/CMSIS/Include/cmsis_gcc.h **** 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR. 127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 128:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void) 130:Drivers/CMSIS/Include/cmsis_gcc.h **** { 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory"); 132:Drivers/CMSIS/Include/cmsis_gcc.h **** } 133:Drivers/CMSIS/Include/cmsis_gcc.h **** 134:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/ccwvDHH5.s page 65 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts 137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR. 138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 139:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void) 141:Drivers/CMSIS/Include/cmsis_gcc.h **** { 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory"); 143:Drivers/CMSIS/Include/cmsis_gcc.h **** } 144:Drivers/CMSIS/Include/cmsis_gcc.h **** 145:Drivers/CMSIS/Include/cmsis_gcc.h **** 146:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register 148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register. 149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value 150:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void) 152:Drivers/CMSIS/Include/cmsis_gcc.h **** { 153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 154:Drivers/CMSIS/Include/cmsis_gcc.h **** 155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) ); 156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 157:Drivers/CMSIS/Include/cmsis_gcc.h **** } 158:Drivers/CMSIS/Include/cmsis_gcc.h **** 159:Drivers/CMSIS/Include/cmsis_gcc.h **** 160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 161:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure) 163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode. 164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value 165:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void) 167:Drivers/CMSIS/Include/cmsis_gcc.h **** { 168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 169:Drivers/CMSIS/Include/cmsis_gcc.h **** 170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) ); 171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 172:Drivers/CMSIS/Include/cmsis_gcc.h **** } 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 174:Drivers/CMSIS/Include/cmsis_gcc.h **** 175:Drivers/CMSIS/Include/cmsis_gcc.h **** 176:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register 178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register. 179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set 180:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control) 182:Drivers/CMSIS/Include/cmsis_gcc.h **** { 183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory"); 184:Drivers/CMSIS/Include/cmsis_gcc.h **** } 185:Drivers/CMSIS/Include/cmsis_gcc.h **** 186:Drivers/CMSIS/Include/cmsis_gcc.h **** 187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 188:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure) 190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state. 191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set ARM GAS /tmp/ccwvDHH5.s page 66 192:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control) 194:Drivers/CMSIS/Include/cmsis_gcc.h **** { 195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory"); 196:Drivers/CMSIS/Include/cmsis_gcc.h **** } 197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 198:Drivers/CMSIS/Include/cmsis_gcc.h **** 199:Drivers/CMSIS/Include/cmsis_gcc.h **** 200:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register 202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register. 203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value 204:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void) 206:Drivers/CMSIS/Include/cmsis_gcc.h **** { 207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 208:Drivers/CMSIS/Include/cmsis_gcc.h **** 209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); 210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 211:Drivers/CMSIS/Include/cmsis_gcc.h **** } 212:Drivers/CMSIS/Include/cmsis_gcc.h **** 213:Drivers/CMSIS/Include/cmsis_gcc.h **** 214:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register 216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register. 217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value 218:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void) 220:Drivers/CMSIS/Include/cmsis_gcc.h **** { 221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 222:Drivers/CMSIS/Include/cmsis_gcc.h **** 223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) ); 224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 225:Drivers/CMSIS/Include/cmsis_gcc.h **** } 226:Drivers/CMSIS/Include/cmsis_gcc.h **** 227:Drivers/CMSIS/Include/cmsis_gcc.h **** 228:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register 230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register. 231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value 232:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void) 234:Drivers/CMSIS/Include/cmsis_gcc.h **** { 235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 236:Drivers/CMSIS/Include/cmsis_gcc.h **** 237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) ); 238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 239:Drivers/CMSIS/Include/cmsis_gcc.h **** } 240:Drivers/CMSIS/Include/cmsis_gcc.h **** 241:Drivers/CMSIS/Include/cmsis_gcc.h **** 242:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer 244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP). 245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value 246:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void) 248:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS /tmp/ccwvDHH5.s page 67 249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 250:Drivers/CMSIS/Include/cmsis_gcc.h **** 251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) ); 252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 253:Drivers/CMSIS/Include/cmsis_gcc.h **** } 254:Drivers/CMSIS/Include/cmsis_gcc.h **** 255:Drivers/CMSIS/Include/cmsis_gcc.h **** 256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 257:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure) 259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s 260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value 261:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void) 263:Drivers/CMSIS/Include/cmsis_gcc.h **** { 264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 265:Drivers/CMSIS/Include/cmsis_gcc.h **** 266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) ); 267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 268:Drivers/CMSIS/Include/cmsis_gcc.h **** } 269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 270:Drivers/CMSIS/Include/cmsis_gcc.h **** 271:Drivers/CMSIS/Include/cmsis_gcc.h **** 272:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer 274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP). 275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set 276:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack) 278:Drivers/CMSIS/Include/cmsis_gcc.h **** { 279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : ); 280:Drivers/CMSIS/Include/cmsis_gcc.h **** } 281:Drivers/CMSIS/Include/cmsis_gcc.h **** 282:Drivers/CMSIS/Include/cmsis_gcc.h **** 283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 284:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure) 286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta 287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set 288:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack) 290:Drivers/CMSIS/Include/cmsis_gcc.h **** { 291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : ); 292:Drivers/CMSIS/Include/cmsis_gcc.h **** } 293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 294:Drivers/CMSIS/Include/cmsis_gcc.h **** 295:Drivers/CMSIS/Include/cmsis_gcc.h **** 296:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer 298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP). 299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value 300:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void) 302:Drivers/CMSIS/Include/cmsis_gcc.h **** { 303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 304:Drivers/CMSIS/Include/cmsis_gcc.h **** 305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) ); ARM GAS /tmp/ccwvDHH5.s page 68 306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 307:Drivers/CMSIS/Include/cmsis_gcc.h **** } 308:Drivers/CMSIS/Include/cmsis_gcc.h **** 309:Drivers/CMSIS/Include/cmsis_gcc.h **** 310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 311:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure) 313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat 314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value 315:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void) 317:Drivers/CMSIS/Include/cmsis_gcc.h **** { 318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 319:Drivers/CMSIS/Include/cmsis_gcc.h **** 320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) ); 321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 322:Drivers/CMSIS/Include/cmsis_gcc.h **** } 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 324:Drivers/CMSIS/Include/cmsis_gcc.h **** 325:Drivers/CMSIS/Include/cmsis_gcc.h **** 326:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer 328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP). 329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set 330:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack) 332:Drivers/CMSIS/Include/cmsis_gcc.h **** { 333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : ); 334:Drivers/CMSIS/Include/cmsis_gcc.h **** } 335:Drivers/CMSIS/Include/cmsis_gcc.h **** 336:Drivers/CMSIS/Include/cmsis_gcc.h **** 337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 338:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure) 340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state. 341:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set 342:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack) 344:Drivers/CMSIS/Include/cmsis_gcc.h **** { 345:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : ); 346:Drivers/CMSIS/Include/cmsis_gcc.h **** } 347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 348:Drivers/CMSIS/Include/cmsis_gcc.h **** 349:Drivers/CMSIS/Include/cmsis_gcc.h **** 350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 351:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 352:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Stack Pointer (non-secure) 353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state. 354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value 355:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void) 357:Drivers/CMSIS/Include/cmsis_gcc.h **** { 358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 359:Drivers/CMSIS/Include/cmsis_gcc.h **** 360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) ); 361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 362:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS /tmp/ccwvDHH5.s page 69 363:Drivers/CMSIS/Include/cmsis_gcc.h **** 364:Drivers/CMSIS/Include/cmsis_gcc.h **** 365:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure) 367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state. 368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set 369:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack) 371:Drivers/CMSIS/Include/cmsis_gcc.h **** { 372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : ); 373:Drivers/CMSIS/Include/cmsis_gcc.h **** } 374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 375:Drivers/CMSIS/Include/cmsis_gcc.h **** 376:Drivers/CMSIS/Include/cmsis_gcc.h **** 377:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask 379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register. 380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value 381:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) 44 .loc 2 382 31 view .LVU5 45 .LBB566: 383:Drivers/CMSIS/Include/cmsis_gcc.h **** { 384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 46 .loc 2 384 3 view .LVU6 385:Drivers/CMSIS/Include/cmsis_gcc.h **** 386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); 47 .loc 2 386 3 view .LVU7 48 .syntax divided 49 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 50 0002 EFF31081 MRS r1, primask 51 @ 0 "" 2 52 .LVL1: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 53 .loc 2 387 3 view .LVU8 54 .loc 2 387 3 is_stmt 0 view .LVU9 55 .thumb 56 .syntax unified 57 .LBE566: 58 .LBE565: 59 .loc 1 3472 3 is_stmt 1 view .LVU10 60 .LBB567: 61 .LBI567: 388:Drivers/CMSIS/Include/cmsis_gcc.h **** } 389:Drivers/CMSIS/Include/cmsis_gcc.h **** 390:Drivers/CMSIS/Include/cmsis_gcc.h **** 391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 392:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure) 394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg 395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value 396:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void) 398:Drivers/CMSIS/Include/cmsis_gcc.h **** { 399:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 400:Drivers/CMSIS/Include/cmsis_gcc.h **** 401:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory"); ARM GAS /tmp/ccwvDHH5.s page 70 402:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 403:Drivers/CMSIS/Include/cmsis_gcc.h **** } 404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 405:Drivers/CMSIS/Include/cmsis_gcc.h **** 406:Drivers/CMSIS/Include/cmsis_gcc.h **** 407:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 408:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask 409:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register. 410:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask 411:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask) 62 .loc 2 412 27 view .LVU11 63 .LBB568: 413:Drivers/CMSIS/Include/cmsis_gcc.h **** { 414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); 64 .loc 2 414 3 view .LVU12 65 0006 0123 movs r3, #1 66 .syntax divided 67 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 68 0008 83F31088 MSR primask, r3 69 @ 0 "" 2 70 .LVL2: 71 .loc 2 414 3 is_stmt 0 view .LVU13 72 .thumb 73 .syntax unified 74 .LBE568: 75 .LBE567: 76 .loc 1 3472 3 is_stmt 1 view .LVU14 77 000c 0268 ldr r2, [r0] 78 000e 1368 ldr r3, [r2] 79 0010 C024 movs r4, #192 80 0012 A343 bics r3, r4 81 0014 1360 str r3, [r2] 82 .loc 1 3472 3 view .LVU15 83 .LVL3: 84 .LBB569: 85 .LBI569: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 86 .loc 2 412 27 view .LVU16 87 .LBB570: 88 .loc 2 414 3 view .LVU17 89 .syntax divided 90 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 91 0016 81F31088 MSR primask, r1 92 @ 0 "" 2 93 .LVL4: 94 .loc 2 414 3 is_stmt 0 view .LVU18 95 .thumb 96 .syntax unified 97 .LBE570: 98 .LBE569: 99 .LBE564: 3473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */ 3475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 100 .loc 1 3475 3 is_stmt 1 view .LVU19 101 .loc 1 3475 17 is_stmt 0 view .LVU20 ARM GAS /tmp/ccwvDHH5.s page 71 102 001a 2023 movs r3, #32 103 001c 8367 str r3, [r0, #120] 3476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 104 .loc 1 3476 1 view .LVU21 105 @ sp needed 106 001e 10BD pop {r4, pc} 107 .cfi_endproc 108 .LFE89: 110 .section .text.UART_EndRxTransfer,"ax",%progbits 111 .align 1 112 .syntax unified 113 .code 16 114 .thumb_func 115 .fpu softvfp 117 UART_EndRxTransfer: 118 .LVL5: 119 .LFB90: 3477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp 3481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 3482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart) 3485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 120 .loc 1 3485 1 is_stmt 1 view -0 121 .cfi_startproc 122 @ args = 0, pretend = 0, frame = 0 123 @ frame_needed = 0, uses_anonymous_args = 0 124 .loc 1 3485 1 is_stmt 0 view .LVU23 125 0000 30B5 push {r4, r5, lr} 126 .LCFI1: 127 .cfi_def_cfa_offset 12 128 .cfi_offset 4, -12 129 .cfi_offset 5, -8 130 .cfi_offset 14, -4 3486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 3487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 131 .loc 1 3487 3 is_stmt 1 view .LVU24 132 .LBB571: 133 .loc 1 3487 3 view .LVU25 134 .loc 1 3487 3 view .LVU26 135 .LBB572: 136 .LBI572: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 137 .loc 2 382 31 view .LVU27 138 .LBB573: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 139 .loc 2 384 3 view .LVU28 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 140 .loc 2 386 3 view .LVU29 141 .syntax divided 142 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 143 0002 EFF31084 MRS r4, primask 144 @ 0 "" 2 145 .LVL6: ARM GAS /tmp/ccwvDHH5.s page 72 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 146 .loc 2 387 3 view .LVU30 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 147 .loc 2 387 3 is_stmt 0 view .LVU31 148 .thumb 149 .syntax unified 150 .LBE573: 151 .LBE572: 152 .loc 1 3487 3 is_stmt 1 view .LVU32 153 .LBB574: 154 .LBI574: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 155 .loc 2 412 27 view .LVU33 156 .LBB575: 157 .loc 2 414 3 view .LVU34 158 0006 0122 movs r2, #1 159 .syntax divided 160 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 161 0008 82F31088 MSR primask, r2 162 @ 0 "" 2 163 .LVL7: 164 .loc 2 414 3 is_stmt 0 view .LVU35 165 .thumb 166 .syntax unified 167 .LBE575: 168 .LBE574: 169 .loc 1 3487 3 is_stmt 1 view .LVU36 170 000c 0168 ldr r1, [r0] 171 000e 0B68 ldr r3, [r1] 172 0010 114D ldr r5, .L5 173 0012 2B40 ands r3, r5 174 0014 0B60 str r3, [r1] 175 .loc 1 3487 3 view .LVU37 176 .LVL8: 177 .LBB576: 178 .LBI576: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 179 .loc 2 412 27 view .LVU38 180 .LBB577: 181 .loc 2 414 3 view .LVU39 182 .syntax divided 183 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 184 0016 84F31088 MSR primask, r4 185 @ 0 "" 2 186 .LVL9: 187 .loc 2 414 3 is_stmt 0 view .LVU40 188 .thumb 189 .syntax unified 190 .LBE577: 191 .LBE576: 192 .LBE571: 3488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 193 .loc 1 3488 3 is_stmt 1 view .LVU41 194 .LBB578: 195 .loc 1 3488 3 view .LVU42 196 .loc 1 3488 3 view .LVU43 197 .LBB579: ARM GAS /tmp/ccwvDHH5.s page 73 198 .LBI579: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 199 .loc 2 382 31 view .LVU44 200 .LBB580: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 201 .loc 2 384 3 view .LVU45 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 202 .loc 2 386 3 view .LVU46 203 .syntax divided 204 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 205 001a EFF31084 MRS r4, primask 206 @ 0 "" 2 207 .LVL10: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 208 .loc 2 387 3 view .LVU47 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 209 .loc 2 387 3 is_stmt 0 view .LVU48 210 .thumb 211 .syntax unified 212 .LBE580: 213 .LBE579: 214 .loc 1 3488 3 is_stmt 1 view .LVU49 215 .LBB581: 216 .LBI581: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 217 .loc 2 412 27 view .LVU50 218 .LBB582: 219 .loc 2 414 3 view .LVU51 220 .syntax divided 221 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 222 001e 82F31088 MSR primask, r2 223 @ 0 "" 2 224 .LVL11: 225 .loc 2 414 3 is_stmt 0 view .LVU52 226 .thumb 227 .syntax unified 228 .LBE582: 229 .LBE581: 230 .loc 1 3488 3 is_stmt 1 view .LVU53 231 0022 0168 ldr r1, [r0] 232 0024 8B68 ldr r3, [r1, #8] 233 0026 9343 bics r3, r2 234 0028 8B60 str r3, [r1, #8] 235 .loc 1 3488 3 view .LVU54 236 .LVL12: 237 .LBB583: 238 .LBI583: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 239 .loc 2 412 27 view .LVU55 240 .LBB584: 241 .loc 2 414 3 view .LVU56 242 .syntax divided 243 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 244 002a 84F31088 MSR primask, r4 245 @ 0 "" 2 246 .LVL13: 247 .loc 2 414 3 is_stmt 0 view .LVU57 ARM GAS /tmp/ccwvDHH5.s page 74 248 .thumb 249 .syntax unified 250 .LBE584: 251 .LBE583: 252 .LBE578: 3489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */ 3491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 253 .loc 1 3491 3 is_stmt 1 view .LVU58 254 .loc 1 3491 12 is_stmt 0 view .LVU59 255 002e 036E ldr r3, [r0, #96] 256 .loc 1 3491 6 view .LVU60 257 0030 012B cmp r3, #1 258 0032 05D0 beq .L4 259 .LVL14: 260 .L3: 3492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 3494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 261 .loc 1 3497 3 is_stmt 1 view .LVU61 262 .loc 1 3497 18 is_stmt 0 view .LVU62 263 0034 2023 movs r3, #32 264 0036 C367 str r3, [r0, #124] 3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 265 .loc 1 3498 3 is_stmt 1 view .LVU63 266 .loc 1 3498 24 is_stmt 0 view .LVU64 267 0038 0023 movs r3, #0 268 003a 0366 str r3, [r0, #96] 3499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset RxIsr function pointer */ 3501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL; 269 .loc 1 3501 3 is_stmt 1 view .LVU65 270 .loc 1 3501 16 is_stmt 0 view .LVU66 271 003c 4366 str r3, [r0, #100] 3502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 272 .loc 1 3502 1 view .LVU67 273 @ sp needed 274 003e 30BD pop {r4, r5, pc} 275 .LVL15: 276 .L4: 3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 277 .loc 1 3493 5 is_stmt 1 view .LVU68 278 .LBB585: 3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 279 .loc 1 3493 5 view .LVU69 3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 280 .loc 1 3493 5 view .LVU70 281 .LBB586: 282 .LBI586: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 283 .loc 2 382 31 view .LVU71 284 .LBB587: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 285 .loc 2 384 3 view .LVU72 ARM GAS /tmp/ccwvDHH5.s page 75 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 286 .loc 2 386 3 view .LVU73 287 .syntax divided 288 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 289 0040 EFF31081 MRS r1, primask 290 @ 0 "" 2 291 .LVL16: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 292 .loc 2 387 3 view .LVU74 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 293 .loc 2 387 3 is_stmt 0 view .LVU75 294 .thumb 295 .syntax unified 296 .LBE587: 297 .LBE586: 3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 298 .loc 1 3493 5 is_stmt 1 view .LVU76 299 .LBB588: 300 .LBI588: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 301 .loc 2 412 27 view .LVU77 302 .LBB589: 303 .loc 2 414 3 view .LVU78 304 .syntax divided 305 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 306 0044 83F31088 MSR primask, r3 307 @ 0 "" 2 308 .LVL17: 309 .loc 2 414 3 is_stmt 0 view .LVU79 310 .thumb 311 .syntax unified 312 .LBE589: 313 .LBE588: 3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 314 .loc 1 3493 5 is_stmt 1 view .LVU80 315 0048 0268 ldr r2, [r0] 316 004a 1368 ldr r3, [r2] 317 004c 1024 movs r4, #16 318 .LVL18: 3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 319 .loc 1 3493 5 is_stmt 0 view .LVU81 320 004e A343 bics r3, r4 321 0050 1360 str r3, [r2] 3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 322 .loc 1 3493 5 is_stmt 1 view .LVU82 323 .LVL19: 324 .LBB590: 325 .LBI590: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 326 .loc 2 412 27 view .LVU83 327 .LBB591: 328 .loc 2 414 3 view .LVU84 329 .syntax divided 330 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 331 0052 81F31088 MSR primask, r1 332 @ 0 "" 2 333 .thumb ARM GAS /tmp/ccwvDHH5.s page 76 334 .syntax unified 335 0056 EDE7 b .L3 336 .L6: 337 .align 2 338 .L5: 339 0058 DFFEFFFF .word -289 340 .LBE591: 341 .LBE590: 342 .LBE585: 343 .cfi_endproc 344 .LFE90: 346 .section .text.UART_TxISR_8BIT,"ax",%progbits 347 .align 1 348 .syntax unified 349 .code 16 350 .thumb_func 351 .fpu softvfp 353 UART_TxISR_8BIT: 354 .LVL20: 355 .LFB101: 3503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART transmit process complete callback. 3507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle. 3508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma) 3511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DMA Normal mode */ 3515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR) 3516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U; 3518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by resetting the DMAT bit 3520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in the UART CR3 register */ 3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 3522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DMA Circular mode */ 3527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 3528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Tx complete callback*/ 3531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxCpltCallback(huart); 3532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 3533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ 3534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart); 3535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** ARM GAS /tmp/ccwvDHH5.s page 77 3540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback. 3541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle. 3542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma) 3545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Tx Half complete callback*/ 3550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxHalfCpltCallback(huart); 3551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 3552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Tx Half complete callback*/ 3553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart); 3554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART receive process complete callback. 3559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle. 3560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma) 3563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DMA Normal mode */ 3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR) 3568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 3570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit 3576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in the UART CR3 register */ 3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 3578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If Reception till IDLE event has been selected, Disable IDLE Interrupt */ 3583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 3586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check current reception Mode : 3590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */ 3591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 3596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else ARM GAS /tmp/ccwvDHH5.s page 78 3597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 3599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 3602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In other cases : use Rx Complete callback */ 3604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx complete callback*/ 3606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxCpltCallback(huart); 3607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 3608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART receive process half complete callback. 3616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle. 3617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma) 3620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check current reception Mode : 3624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */ 3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize / 2U); 3630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 3631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize / 2U); 3633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 3636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In other cases : use Rx Half Complete callback */ 3638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx Half complete callback*/ 3640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxHalfCpltCallback(huart); 3641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 3642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/ 3643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart); 3644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART communication error callback. 3650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle. 3651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma) ARM GAS /tmp/ccwvDHH5.s page 79 3654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 3658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */ 3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 3662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U; 3665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndTxTransfer(huart); 3666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */ 3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 3673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndRxTransfer(huart); 3674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA; 3677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered error callback*/ 3680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCallback(huart); 3681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 3682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak error callback*/ 3683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 3684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error 3689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence). 3690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle. 3691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma) 3694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 3697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U; 3698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered error callback*/ 3701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCallback(huart); 3702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 3703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak error callback*/ 3704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 3705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user 3710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request). ARM GAS /tmp/ccwvDHH5.s page 80 3711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no 3712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle. 3713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle. 3714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma) 3717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 3721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check if an Abort process is still ongoing */ 3723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL) 3724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL) 3726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return; 3728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba 3732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U; 3733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 3734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset errorCode */ 3736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 3740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 3743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call user Abort complete callback */ 3748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort complete callback */ 3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortCpltCallback(huart); 3751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 3752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 3753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 3754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user 3760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request). 3761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no 3762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle. 3763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle. 3764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma) 3767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 81 3768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 3771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check if an Abort process is still ongoing */ 3773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx != NULL) 3774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL) 3776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return; 3778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba 3782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U; 3783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 3784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset errorCode */ 3786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 3790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Discard the received data */ 3792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 3793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 3795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call user Abort complete callback */ 3800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort complete callback */ 3802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortCpltCallback(huart); 3803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 3804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 3805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 3806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to 3812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer) 3813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques 3814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution). 3815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle. 3816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma) 3819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U; 3823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 82 3825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState to Ready */ 3826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call user Abort complete callback */ 3829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 3831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 3832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 3833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 3834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 3835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to 3840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer) 3841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques 3842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution). 3843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle. 3844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma) 3847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 3849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 3851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 3854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Discard the received data */ 3856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 3857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 3859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call user Abort complete callback */ 3863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 3865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 3866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 3867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 3868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 3869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief TX interrupt handler for 7 or 8 bits data word length . 3874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note Function is called under interruption only, once 3875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 3876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 3877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart) 3880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 356 .loc 1 3880 1 view -0 ARM GAS /tmp/ccwvDHH5.s page 83 357 .cfi_startproc 358 @ args = 0, pretend = 0, frame = 0 359 @ frame_needed = 0, uses_anonymous_args = 0 360 .loc 1 3880 1 is_stmt 0 view .LVU86 361 0000 30B5 push {r4, r5, lr} 362 .LCFI2: 363 .cfi_def_cfa_offset 12 364 .cfi_offset 4, -12 365 .cfi_offset 5, -8 366 .cfi_offset 14, -4 3881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 3882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 367 .loc 1 3882 3 is_stmt 1 view .LVU87 368 .loc 1 3882 12 is_stmt 0 view .LVU88 369 0002 836F ldr r3, [r0, #120] 370 .loc 1 3882 6 view .LVU89 371 0004 212B cmp r3, #33 372 0006 00D0 beq .L10 373 .LVL21: 374 .L7: 3883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->TxXferCount == 0U) 3885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */ 3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE); 3888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 3893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF); 3895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr++; 3896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount--; 3897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 375 .loc 1 3899 1 view .LVU90 376 @ sp needed 377 0008 30BD pop {r4, r5, pc} 378 .LVL22: 379 .L10: 3884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 380 .loc 1 3884 5 is_stmt 1 view .LVU91 3884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 381 .loc 1 3884 14 is_stmt 0 view .LVU92 382 000a 3133 adds r3, r3, #49 383 000c C35A ldrh r3, [r0, r3] 384 000e 9BB2 uxth r3, r3 3884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 385 .loc 1 3884 8 view .LVU93 386 0010 002B cmp r3, #0 387 0012 17D1 bne .L9 3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 388 .loc 1 3887 7 is_stmt 1 view .LVU94 389 .LBB592: 3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 84 390 .loc 1 3887 7 view .LVU95 3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 391 .loc 1 3887 7 view .LVU96 392 .LBB593: 393 .LBI593: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 394 .loc 2 382 31 view .LVU97 395 .LBB594: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 396 .loc 2 384 3 view .LVU98 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 397 .loc 2 386 3 view .LVU99 398 .syntax divided 399 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 400 0014 EFF31084 MRS r4, primask 401 @ 0 "" 2 402 .LVL23: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 403 .loc 2 387 3 view .LVU100 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 404 .loc 2 387 3 is_stmt 0 view .LVU101 405 .thumb 406 .syntax unified 407 .LBE594: 408 .LBE593: 3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 409 .loc 1 3887 7 is_stmt 1 view .LVU102 410 .LBB595: 411 .LBI595: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 412 .loc 2 412 27 view .LVU103 413 .LBB596: 414 .loc 2 414 3 view .LVU104 415 0018 0122 movs r2, #1 416 .syntax divided 417 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 418 001a 82F31088 MSR primask, r2 419 @ 0 "" 2 420 .LVL24: 421 .loc 2 414 3 is_stmt 0 view .LVU105 422 .thumb 423 .syntax unified 424 .LBE596: 425 .LBE595: 3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 426 .loc 1 3887 7 is_stmt 1 view .LVU106 427 001e 0168 ldr r1, [r0] 428 0020 0B68 ldr r3, [r1] 429 0022 8025 movs r5, #128 430 0024 AB43 bics r3, r5 431 0026 0B60 str r3, [r1] 3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 432 .loc 1 3887 7 view .LVU107 433 .LVL25: 434 .LBB597: 435 .LBI597: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS /tmp/ccwvDHH5.s page 85 436 .loc 2 412 27 view .LVU108 437 .LBB598: 438 .loc 2 414 3 view .LVU109 439 .syntax divided 440 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 441 0028 84F31088 MSR primask, r4 442 @ 0 "" 2 443 .LVL26: 444 .loc 2 414 3 is_stmt 0 view .LVU110 445 .thumb 446 .syntax unified 447 .LBE598: 448 .LBE597: 449 .LBE592: 3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 450 .loc 1 3890 7 is_stmt 1 view .LVU111 451 .LBB599: 3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 452 .loc 1 3890 7 view .LVU112 3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 453 .loc 1 3890 7 view .LVU113 454 .LBB600: 455 .LBI600: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 456 .loc 2 382 31 view .LVU114 457 .LBB601: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 458 .loc 2 384 3 view .LVU115 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 459 .loc 2 386 3 view .LVU116 460 .syntax divided 461 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 462 002c EFF31081 MRS r1, primask 463 @ 0 "" 2 464 .LVL27: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 465 .loc 2 387 3 view .LVU117 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 466 .loc 2 387 3 is_stmt 0 view .LVU118 467 .thumb 468 .syntax unified 469 .LBE601: 470 .LBE600: 3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 471 .loc 1 3890 7 is_stmt 1 view .LVU119 472 .LBB602: 473 .LBI602: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 474 .loc 2 412 27 view .LVU120 475 .LBB603: 476 .loc 2 414 3 view .LVU121 477 .syntax divided 478 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 479 0030 82F31088 MSR primask, r2 480 @ 0 "" 2 481 .LVL28: 482 .loc 2 414 3 is_stmt 0 view .LVU122 ARM GAS /tmp/ccwvDHH5.s page 86 483 .thumb 484 .syntax unified 485 .LBE603: 486 .LBE602: 3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 487 .loc 1 3890 7 is_stmt 1 view .LVU123 488 0034 0268 ldr r2, [r0] 489 0036 1368 ldr r3, [r2] 490 0038 4020 movs r0, #64 491 .LVL29: 3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 492 .loc 1 3890 7 is_stmt 0 view .LVU124 493 003a 0343 orrs r3, r0 494 003c 1360 str r3, [r2] 3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 495 .loc 1 3890 7 is_stmt 1 view .LVU125 496 .LVL30: 497 .LBB604: 498 .LBI604: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 499 .loc 2 412 27 view .LVU126 500 .LBB605: 501 .loc 2 414 3 view .LVU127 502 .syntax divided 503 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 504 003e 81F31088 MSR primask, r1 505 @ 0 "" 2 506 .thumb 507 .syntax unified 508 0042 E1E7 b .L7 509 .LVL31: 510 .L9: 511 .loc 2 414 3 is_stmt 0 view .LVU128 512 .LBE605: 513 .LBE604: 514 .LBE599: 3894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr++; 515 .loc 1 3894 7 is_stmt 1 view .LVU129 3894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr++; 516 .loc 1 3894 30 is_stmt 0 view .LVU130 517 0044 C36C ldr r3, [r0, #76] 518 0046 1B78 ldrb r3, [r3] 3894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr++; 519 .loc 1 3894 28 view .LVU131 520 0048 0268 ldr r2, [r0] 521 004a 1385 strh r3, [r2, #40] 3895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount--; 522 .loc 1 3895 7 is_stmt 1 view .LVU132 3895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount--; 523 .loc 1 3895 24 is_stmt 0 view .LVU133 524 004c C36C ldr r3, [r0, #76] 525 004e 0133 adds r3, r3, #1 526 0050 C364 str r3, [r0, #76] 3896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 527 .loc 1 3896 7 is_stmt 1 view .LVU134 3896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 528 .loc 1 3896 12 is_stmt 0 view .LVU135 ARM GAS /tmp/ccwvDHH5.s page 87 529 0052 5222 movs r2, #82 530 0054 835A ldrh r3, [r0, r2] 3896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 531 .loc 1 3896 25 view .LVU136 532 0056 013B subs r3, r3, #1 533 0058 9BB2 uxth r3, r3 534 005a 8352 strh r3, [r0, r2] 535 .loc 1 3899 1 view .LVU137 536 005c D4E7 b .L7 537 .cfi_endproc 538 .LFE101: 540 .section .text.UART_TxISR_16BIT,"ax",%progbits 541 .align 1 542 .syntax unified 543 .code 16 544 .thumb_func 545 .fpu softvfp 547 UART_TxISR_16BIT: 548 .LVL32: 549 .LFB102: 3900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief TX interrupt handler for 9 bits data word length. 3903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note Function is called under interruption only, once 3904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 3905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 3906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart) 3909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 550 .loc 1 3909 1 is_stmt 1 view -0 551 .cfi_startproc 552 @ args = 0, pretend = 0, frame = 0 553 @ frame_needed = 0, uses_anonymous_args = 0 554 .loc 1 3909 1 is_stmt 0 view .LVU139 555 0000 30B5 push {r4, r5, lr} 556 .LCFI3: 557 .cfi_def_cfa_offset 12 558 .cfi_offset 4, -12 559 .cfi_offset 5, -8 560 .cfi_offset 14, -4 3910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t *tmp; 561 .loc 1 3910 3 is_stmt 1 view .LVU140 3911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 3913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 562 .loc 1 3913 3 view .LVU141 563 .loc 1 3913 12 is_stmt 0 view .LVU142 564 0002 836F ldr r3, [r0, #120] 565 .loc 1 3913 6 view .LVU143 566 0004 212B cmp r3, #33 567 0006 00D0 beq .L14 568 .LVL33: 569 .L11: 3914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->TxXferCount == 0U) 3916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 88 3917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */ 3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE); 3919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 3924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tmp = (uint16_t *) huart->pTxBuffPtr; 3926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 3928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount--; 3929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 570 .loc 1 3931 1 view .LVU144 571 @ sp needed 572 0008 30BD pop {r4, r5, pc} 573 .LVL34: 574 .L14: 3915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 575 .loc 1 3915 5 is_stmt 1 view .LVU145 3915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 576 .loc 1 3915 14 is_stmt 0 view .LVU146 577 000a 3133 adds r3, r3, #49 578 000c C35A ldrh r3, [r0, r3] 579 000e 9BB2 uxth r3, r3 3915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 580 .loc 1 3915 8 view .LVU147 581 0010 002B cmp r3, #0 582 0012 17D1 bne .L13 3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 583 .loc 1 3918 7 is_stmt 1 view .LVU148 584 .LBB606: 3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 585 .loc 1 3918 7 view .LVU149 3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 586 .loc 1 3918 7 view .LVU150 587 .LBB607: 588 .LBI607: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 589 .loc 2 382 31 view .LVU151 590 .LBB608: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 591 .loc 2 384 3 view .LVU152 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 592 .loc 2 386 3 view .LVU153 593 .syntax divided 594 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 595 0014 EFF31084 MRS r4, primask 596 @ 0 "" 2 597 .LVL35: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 598 .loc 2 387 3 view .LVU154 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 599 .loc 2 387 3 is_stmt 0 view .LVU155 600 .thumb ARM GAS /tmp/ccwvDHH5.s page 89 601 .syntax unified 602 .LBE608: 603 .LBE607: 3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 604 .loc 1 3918 7 is_stmt 1 view .LVU156 605 .LBB609: 606 .LBI609: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 607 .loc 2 412 27 view .LVU157 608 .LBB610: 609 .loc 2 414 3 view .LVU158 610 0018 0122 movs r2, #1 611 .syntax divided 612 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 613 001a 82F31088 MSR primask, r2 614 @ 0 "" 2 615 .LVL36: 616 .loc 2 414 3 is_stmt 0 view .LVU159 617 .thumb 618 .syntax unified 619 .LBE610: 620 .LBE609: 3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 621 .loc 1 3918 7 is_stmt 1 view .LVU160 622 001e 0168 ldr r1, [r0] 623 0020 0B68 ldr r3, [r1] 624 0022 8025 movs r5, #128 625 0024 AB43 bics r3, r5 626 0026 0B60 str r3, [r1] 3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 627 .loc 1 3918 7 view .LVU161 628 .LVL37: 629 .LBB611: 630 .LBI611: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 631 .loc 2 412 27 view .LVU162 632 .LBB612: 633 .loc 2 414 3 view .LVU163 634 .syntax divided 635 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 636 0028 84F31088 MSR primask, r4 637 @ 0 "" 2 638 .LVL38: 639 .loc 2 414 3 is_stmt 0 view .LVU164 640 .thumb 641 .syntax unified 642 .LBE612: 643 .LBE611: 644 .LBE606: 3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 645 .loc 1 3921 7 is_stmt 1 view .LVU165 646 .LBB613: 3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 647 .loc 1 3921 7 view .LVU166 3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 648 .loc 1 3921 7 view .LVU167 649 .LBB614: ARM GAS /tmp/ccwvDHH5.s page 90 650 .LBI614: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 651 .loc 2 382 31 view .LVU168 652 .LBB615: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 653 .loc 2 384 3 view .LVU169 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 654 .loc 2 386 3 view .LVU170 655 .syntax divided 656 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 657 002c EFF31081 MRS r1, primask 658 @ 0 "" 2 659 .LVL39: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 660 .loc 2 387 3 view .LVU171 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 661 .loc 2 387 3 is_stmt 0 view .LVU172 662 .thumb 663 .syntax unified 664 .LBE615: 665 .LBE614: 3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 666 .loc 1 3921 7 is_stmt 1 view .LVU173 667 .LBB616: 668 .LBI616: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 669 .loc 2 412 27 view .LVU174 670 .LBB617: 671 .loc 2 414 3 view .LVU175 672 .syntax divided 673 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 674 0030 82F31088 MSR primask, r2 675 @ 0 "" 2 676 .LVL40: 677 .loc 2 414 3 is_stmt 0 view .LVU176 678 .thumb 679 .syntax unified 680 .LBE617: 681 .LBE616: 3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 682 .loc 1 3921 7 is_stmt 1 view .LVU177 683 0034 0268 ldr r2, [r0] 684 0036 1368 ldr r3, [r2] 685 0038 4020 movs r0, #64 686 .LVL41: 3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 687 .loc 1 3921 7 is_stmt 0 view .LVU178 688 003a 0343 orrs r3, r0 689 003c 1360 str r3, [r2] 3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 690 .loc 1 3921 7 is_stmt 1 view .LVU179 691 .LVL42: 692 .LBB618: 693 .LBI618: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 694 .loc 2 412 27 view .LVU180 695 .LBB619: ARM GAS /tmp/ccwvDHH5.s page 91 696 .loc 2 414 3 view .LVU181 697 .syntax divided 698 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 699 003e 81F31088 MSR primask, r1 700 @ 0 "" 2 701 .thumb 702 .syntax unified 703 0042 E1E7 b .L11 704 .LVL43: 705 .L13: 706 .loc 2 414 3 is_stmt 0 view .LVU182 707 .LBE619: 708 .LBE618: 709 .LBE613: 3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 710 .loc 1 3925 7 is_stmt 1 view .LVU183 3926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 711 .loc 1 3926 7 view .LVU184 3926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 712 .loc 1 3926 43 is_stmt 0 view .LVU185 713 0044 C36C ldr r3, [r0, #76] 714 0046 1B88 ldrh r3, [r3] 3926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 715 .loc 1 3926 50 view .LVU186 716 0048 DB05 lsls r3, r3, #23 717 004a DB0D lsrs r3, r3, #23 3926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 718 .loc 1 3926 28 view .LVU187 719 004c 0268 ldr r2, [r0] 720 004e 1385 strh r3, [r2, #40] 721 .LVL44: 3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount--; 722 .loc 1 3927 7 is_stmt 1 view .LVU188 3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount--; 723 .loc 1 3927 25 is_stmt 0 view .LVU189 724 0050 C36C ldr r3, [r0, #76] 725 0052 0233 adds r3, r3, #2 726 0054 C364 str r3, [r0, #76] 3928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 727 .loc 1 3928 7 is_stmt 1 view .LVU190 3928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 728 .loc 1 3928 12 is_stmt 0 view .LVU191 729 0056 5222 movs r2, #82 730 0058 835A ldrh r3, [r0, r2] 3928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 731 .loc 1 3928 25 view .LVU192 732 005a 013B subs r3, r3, #1 733 005c 9BB2 uxth r3, r3 734 005e 8352 strh r3, [r0, r2] 735 .loc 1 3931 1 view .LVU193 736 0060 D2E7 b .L11 737 .cfi_endproc 738 .LFE102: 740 .section .text.HAL_UART_MspInit,"ax",%progbits 741 .align 1 742 .weak HAL_UART_MspInit 743 .syntax unified ARM GAS /tmp/ccwvDHH5.s page 92 744 .code 16 745 .thumb_func 746 .fpu softvfp 748 HAL_UART_MspInit: 749 .LVL45: 750 .LFB45: 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 751 .loc 1 713 1 is_stmt 1 view -0 752 .cfi_startproc 753 @ args = 0, pretend = 0, frame = 0 754 @ frame_needed = 0, uses_anonymous_args = 0 755 @ link register save eliminated. 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 756 .loc 1 715 3 view .LVU195 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 757 .loc 1 720 1 is_stmt 0 view .LVU196 758 @ sp needed 759 0000 7047 bx lr 760 .cfi_endproc 761 .LFE45: 763 .section .text.HAL_UART_MspDeInit,"ax",%progbits 764 .align 1 765 .weak HAL_UART_MspDeInit 766 .syntax unified 767 .code 16 768 .thumb_func 769 .fpu softvfp 771 HAL_UART_MspDeInit: 772 .LVL46: 773 .LFB46: 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 774 .loc 1 728 1 is_stmt 1 view -0 775 .cfi_startproc 776 @ args = 0, pretend = 0, frame = 0 777 @ frame_needed = 0, uses_anonymous_args = 0 778 @ link register save eliminated. 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 779 .loc 1 730 3 view .LVU198 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 780 .loc 1 735 1 is_stmt 0 view .LVU199 781 @ sp needed 782 0000 7047 bx lr 783 .cfi_endproc 784 .LFE46: 786 .section .text.HAL_UART_DeInit,"ax",%progbits 787 .align 1 788 .global HAL_UART_DeInit 789 .syntax unified 790 .code 16 791 .thumb_func 792 .fpu softvfp 794 HAL_UART_DeInit: 795 .LVL47: 796 .LFB44: 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */ 797 .loc 1 667 1 is_stmt 1 view -0 798 .cfi_startproc ARM GAS /tmp/ccwvDHH5.s page 93 799 @ args = 0, pretend = 0, frame = 0 800 @ frame_needed = 0, uses_anonymous_args = 0 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */ 801 .loc 1 667 1 is_stmt 0 view .LVU201 802 0000 70B5 push {r4, r5, r6, lr} 803 .LCFI4: 804 .cfi_def_cfa_offset 16 805 .cfi_offset 4, -16 806 .cfi_offset 5, -12 807 .cfi_offset 6, -8 808 .cfi_offset 14, -4 809 0002 041E subs r4, r0, #0 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 810 .loc 1 669 3 is_stmt 1 view .LVU202 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 811 .loc 1 669 6 is_stmt 0 view .LVU203 812 0004 18D0 beq .L19 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 813 .loc 1 675 3 is_stmt 1 view .LVU204 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 814 .loc 1 677 3 view .LVU205 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 815 .loc 1 677 17 is_stmt 0 view .LVU206 816 0006 2423 movs r3, #36 817 0008 8367 str r3, [r0, #120] 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 818 .loc 1 679 3 is_stmt 1 view .LVU207 819 000a 0268 ldr r2, [r0] 820 000c 1368 ldr r3, [r2] 821 000e 0121 movs r1, #1 822 0010 8B43 bics r3, r1 823 0012 1360 str r3, [r2] 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 824 .loc 1 681 3 view .LVU208 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 825 .loc 1 681 8 is_stmt 0 view .LVU209 826 0014 0368 ldr r3, [r0] 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 827 .loc 1 681 24 view .LVU210 828 0016 0025 movs r5, #0 829 0018 1D60 str r5, [r3] 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 830 .loc 1 682 3 is_stmt 1 view .LVU211 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 831 .loc 1 682 8 is_stmt 0 view .LVU212 832 001a 0368 ldr r3, [r0] 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 833 .loc 1 682 24 view .LVU213 834 001c 5D60 str r5, [r3, #4] 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 835 .loc 1 683 3 is_stmt 1 view .LVU214 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 836 .loc 1 683 8 is_stmt 0 view .LVU215 837 001e 0368 ldr r3, [r0] 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 838 .loc 1 683 24 view .LVU216 839 0020 9D60 str r5, [r3, #8] ARM GAS /tmp/ccwvDHH5.s page 94 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 840 .loc 1 694 3 is_stmt 1 view .LVU217 841 0022 FFF7FEFF bl HAL_UART_MspDeInit 842 .LVL48: 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 843 .loc 1 697 3 view .LVU218 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 844 .loc 1 697 20 is_stmt 0 view .LVU219 845 0026 8023 movs r3, #128 846 0028 E550 str r5, [r4, r3] 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 847 .loc 1 698 3 is_stmt 1 view .LVU220 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 848 .loc 1 698 17 is_stmt 0 view .LVU221 849 002a A567 str r5, [r4, #120] 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 850 .loc 1 699 3 is_stmt 1 view .LVU222 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 851 .loc 1 699 18 is_stmt 0 view .LVU223 852 002c E567 str r5, [r4, #124] 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 853 .loc 1 700 3 is_stmt 1 view .LVU224 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 854 .loc 1 700 24 is_stmt 0 view .LVU225 855 002e 2566 str r5, [r4, #96] 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 856 .loc 1 702 3 is_stmt 1 view .LVU226 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 857 .loc 1 702 3 view .LVU227 858 0030 0C3B subs r3, r3, #12 859 0032 E554 strb r5, [r4, r3] 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 860 .loc 1 704 3 view .LVU228 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 861 .loc 1 704 10 is_stmt 0 view .LVU229 862 0034 0020 movs r0, #0 863 .L18: 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 864 .loc 1 705 1 view .LVU230 865 @ sp needed 866 .LVL49: 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 867 .loc 1 705 1 view .LVU231 868 0036 70BD pop {r4, r5, r6, pc} 869 .LVL50: 870 .L19: 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 871 .loc 1 671 12 view .LVU232 872 0038 0120 movs r0, #1 873 .LVL51: 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 874 .loc 1 671 12 view .LVU233 875 003a FCE7 b .L18 876 .cfi_endproc 877 .LFE44: 879 .section .text.HAL_UART_Transmit_IT,"ax",%progbits 880 .align 1 ARM GAS /tmp/ccwvDHH5.s page 95 881 .global HAL_UART_Transmit_IT 882 .syntax unified 883 .code 16 884 .thumb_func 885 .fpu softvfp 887 HAL_UART_Transmit_IT: 888 .LVL52: 889 .LFB49: 1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 890 .loc 1 1357 1 is_stmt 1 view -0 891 .cfi_startproc 892 @ args = 0, pretend = 0, frame = 0 893 @ frame_needed = 0, uses_anonymous_args = 0 1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 894 .loc 1 1357 1 is_stmt 0 view .LVU235 895 0000 30B5 push {r4, r5, lr} 896 .LCFI5: 897 .cfi_def_cfa_offset 12 898 .cfi_offset 4, -12 899 .cfi_offset 5, -8 900 .cfi_offset 14, -4 1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 901 .loc 1 1359 3 is_stmt 1 view .LVU236 1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 902 .loc 1 1359 12 is_stmt 0 view .LVU237 903 0002 836F ldr r3, [r0, #120] 1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 904 .loc 1 1359 6 view .LVU238 905 0004 202B cmp r3, #32 906 0006 3ED1 bne .L25 1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 907 .loc 1 1361 5 is_stmt 1 view .LVU239 1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 908 .loc 1 1361 8 is_stmt 0 view .LVU240 909 0008 0029 cmp r1, #0 910 000a 3ED0 beq .L26 1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 911 .loc 1 1361 25 discriminator 1 view .LVU241 912 000c 002A cmp r2, #0 913 000e 3ED0 beq .L27 1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 914 .loc 1 1369 5 is_stmt 1 view .LVU242 1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 915 .loc 1 1369 21 is_stmt 0 view .LVU243 916 0010 8368 ldr r3, [r0, #8] 1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 917 .loc 1 1369 8 view .LVU244 918 0012 8024 movs r4, #128 919 0014 6401 lsls r4, r4, #5 920 0016 A342 cmp r3, r4 921 0018 28D0 beq .L30 922 .L22: 1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 923 .loc 1 1377 5 is_stmt 1 view .LVU245 1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 924 .loc 1 1377 5 view .LVU246 925 001a 7424 movs r4, #116 ARM GAS /tmp/ccwvDHH5.s page 96 926 001c 045D ldrb r4, [r0, r4] 927 001e 012C cmp r4, #1 928 0020 37D0 beq .L29 1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 929 .loc 1 1377 5 discriminator 2 view .LVU247 930 0022 7424 movs r4, #116 931 0024 0125 movs r5, #1 932 0026 0555 strb r5, [r0, r4] 1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferSize = Size; 933 .loc 1 1379 5 discriminator 2 view .LVU248 1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferSize = Size; 934 .loc 1 1379 24 is_stmt 0 discriminator 2 view .LVU249 935 0028 C164 str r1, [r0, #76] 1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size; 936 .loc 1 1380 5 is_stmt 1 discriminator 2 view .LVU250 1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size; 937 .loc 1 1380 24 is_stmt 0 discriminator 2 view .LVU251 938 002a 5021 movs r1, #80 939 .LVL53: 1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size; 940 .loc 1 1380 24 discriminator 2 view .LVU252 941 002c 4252 strh r2, [r0, r1] 942 .LVL54: 1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL; 943 .loc 1 1381 5 is_stmt 1 discriminator 2 view .LVU253 1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL; 944 .loc 1 1381 24 is_stmt 0 discriminator 2 view .LVU254 945 002e 0231 adds r1, r1, #2 946 0030 4252 strh r2, [r0, r1] 1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 947 .loc 1 1382 5 is_stmt 1 discriminator 2 view .LVU255 1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 948 .loc 1 1382 24 is_stmt 0 discriminator 2 view .LVU256 949 0032 0022 movs r2, #0 950 .LVL55: 1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 951 .loc 1 1382 24 discriminator 2 view .LVU257 952 0034 8266 str r2, [r0, #104] 953 .LVL56: 1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 954 .loc 1 1384 5 is_stmt 1 discriminator 2 view .LVU258 1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 955 .loc 1 1384 22 is_stmt 0 discriminator 2 view .LVU259 956 0036 2E31 adds r1, r1, #46 957 0038 4250 str r2, [r0, r1] 1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 958 .loc 1 1385 5 is_stmt 1 discriminator 2 view .LVU260 1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 959 .loc 1 1385 19 is_stmt 0 discriminator 2 view .LVU261 960 003a 2132 adds r2, r2, #33 961 003c 8267 str r2, [r0, #120] 1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 962 .loc 1 1388 5 is_stmt 1 discriminator 2 view .LVU262 1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 963 .loc 1 1388 8 is_stmt 0 discriminator 2 view .LVU263 964 003e 8022 movs r2, #128 965 0040 5201 lsls r2, r2, #5 ARM GAS /tmp/ccwvDHH5.s page 97 966 0042 9342 cmp r3, r2 967 0044 19D0 beq .L31 968 .L23: 1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 969 .loc 1 1394 7 is_stmt 1 view .LVU264 1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 970 .loc 1 1394 20 is_stmt 0 view .LVU265 971 0046 144B ldr r3, .L32 972 0048 8366 str r3, [r0, #104] 973 .L24: 1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 974 .loc 1 1397 5 is_stmt 1 view .LVU266 1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 975 .loc 1 1397 5 view .LVU267 976 004a 7423 movs r3, #116 977 004c 0022 movs r2, #0 978 004e C254 strb r2, [r0, r3] 1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 979 .loc 1 1400 5 view .LVU268 980 .LBB620: 1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 981 .loc 1 1400 5 view .LVU269 1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 982 .loc 1 1400 5 view .LVU270 983 .LBB621: 984 .LBI621: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 985 .loc 2 382 31 view .LVU271 986 .LBB622: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 987 .loc 2 384 3 view .LVU272 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 988 .loc 2 386 3 view .LVU273 989 .syntax divided 990 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 991 0050 EFF31081 MRS r1, primask 992 @ 0 "" 2 993 .LVL57: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 994 .loc 2 387 3 view .LVU274 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 995 .loc 2 387 3 is_stmt 0 view .LVU275 996 .thumb 997 .syntax unified 998 .LBE622: 999 .LBE621: 1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1000 .loc 1 1400 5 is_stmt 1 view .LVU276 1001 .LBB623: 1002 .LBI623: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1003 .loc 2 412 27 view .LVU277 1004 .LBB624: 1005 .loc 2 414 3 view .LVU278 1006 0054 733B subs r3, r3, #115 1007 .syntax divided 1008 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS /tmp/ccwvDHH5.s page 98 1009 0056 83F31088 MSR primask, r3 1010 @ 0 "" 2 1011 .LVL58: 1012 .loc 2 414 3 is_stmt 0 view .LVU279 1013 .thumb 1014 .syntax unified 1015 .LBE624: 1016 .LBE623: 1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1017 .loc 1 1400 5 is_stmt 1 view .LVU280 1018 005a 0268 ldr r2, [r0] 1019 005c 1368 ldr r3, [r2] 1020 005e 8020 movs r0, #128 1021 .LVL59: 1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1022 .loc 1 1400 5 is_stmt 0 view .LVU281 1023 0060 0343 orrs r3, r0 1024 0062 1360 str r3, [r2] 1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1025 .loc 1 1400 5 is_stmt 1 view .LVU282 1026 .LVL60: 1027 .LBB625: 1028 .LBI625: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1029 .loc 2 412 27 view .LVU283 1030 .LBB626: 1031 .loc 2 414 3 view .LVU284 1032 .syntax divided 1033 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1034 0064 81F31088 MSR primask, r1 1035 @ 0 "" 2 1036 .LVL61: 1037 .loc 2 414 3 is_stmt 0 view .LVU285 1038 .thumb 1039 .syntax unified 1040 .LBE626: 1041 .LBE625: 1042 .LBE620: 1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1043 .loc 1 1402 5 is_stmt 1 view .LVU286 1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1044 .loc 1 1402 12 is_stmt 0 view .LVU287 1045 0068 0020 movs r0, #0 1046 006a 0DE0 b .L21 1047 .LVL62: 1048 .L30: 1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1049 .loc 1 1369 56 discriminator 1 view .LVU288 1050 006c 0469 ldr r4, [r0, #16] 1051 006e 002C cmp r4, #0 1052 0070 D3D1 bne .L22 1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1053 .loc 1 1371 7 is_stmt 1 view .LVU289 1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1054 .loc 1 1371 10 is_stmt 0 view .LVU290 1055 0072 CC07 lsls r4, r1, #31 1056 0074 D1D5 bpl .L22 ARM GAS /tmp/ccwvDHH5.s page 99 1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1057 .loc 1 1373 17 view .LVU291 1058 0076 0120 movs r0, #1 1059 .LVL63: 1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1060 .loc 1 1373 17 view .LVU292 1061 0078 06E0 b .L21 1062 .LVL64: 1063 .L31: 1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1064 .loc 1 1388 56 discriminator 1 view .LVU293 1065 007a 0369 ldr r3, [r0, #16] 1066 007c 002B cmp r3, #0 1067 007e E2D1 bne .L23 1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1068 .loc 1 1390 7 is_stmt 1 view .LVU294 1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1069 .loc 1 1390 20 is_stmt 0 view .LVU295 1070 0080 064B ldr r3, .L32+4 1071 0082 8366 str r3, [r0, #104] 1072 0084 E1E7 b .L24 1073 .LVL65: 1074 .L25: 1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1075 .loc 1 1406 12 view .LVU296 1076 0086 0220 movs r0, #2 1077 .LVL66: 1078 .L21: 1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1079 .loc 1 1408 1 view .LVU297 1080 @ sp needed 1081 0088 30BD pop {r4, r5, pc} 1082 .LVL67: 1083 .L26: 1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1084 .loc 1 1363 14 view .LVU298 1085 008a 0120 movs r0, #1 1086 .LVL68: 1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1087 .loc 1 1363 14 view .LVU299 1088 008c FCE7 b .L21 1089 .LVL69: 1090 .L27: 1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1091 .loc 1 1363 14 view .LVU300 1092 008e 0120 movs r0, #1 1093 .LVL70: 1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1094 .loc 1 1363 14 view .LVU301 1095 0090 FAE7 b .L21 1096 .LVL71: 1097 .L29: 1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1098 .loc 1 1377 5 view .LVU302 1099 0092 0220 movs r0, #2 1100 .LVL72: 1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 100 1101 .loc 1 1377 5 view .LVU303 1102 0094 F8E7 b .L21 1103 .L33: 1104 0096 C046 .align 2 1105 .L32: 1106 0098 00000000 .word UART_TxISR_8BIT 1107 009c 00000000 .word UART_TxISR_16BIT 1108 .cfi_endproc 1109 .LFE49: 1111 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits 1112 .align 1 1113 .global HAL_UART_Transmit_DMA 1114 .syntax unified 1115 .code 16 1116 .thumb_func 1117 .fpu softvfp 1119 HAL_UART_Transmit_DMA: 1120 .LVL73: 1121 .LFB51: 1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1122 .loc 1 1482 1 is_stmt 1 view -0 1123 .cfi_startproc 1124 @ args = 0, pretend = 0, frame = 0 1125 @ frame_needed = 0, uses_anonymous_args = 0 1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1126 .loc 1 1482 1 is_stmt 0 view .LVU305 1127 0000 10B5 push {r4, lr} 1128 .LCFI6: 1129 .cfi_def_cfa_offset 8 1130 .cfi_offset 4, -8 1131 .cfi_offset 14, -4 1132 0002 0400 movs r4, r0 1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1133 .loc 1 1484 3 is_stmt 1 view .LVU306 1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1134 .loc 1 1484 12 is_stmt 0 view .LVU307 1135 0004 836F ldr r3, [r0, #120] 1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1136 .loc 1 1484 6 view .LVU308 1137 0006 202B cmp r3, #32 1138 0008 56D1 bne .L38 1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1139 .loc 1 1486 5 is_stmt 1 view .LVU309 1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1140 .loc 1 1486 8 is_stmt 0 view .LVU310 1141 000a 0029 cmp r1, #0 1142 000c 56D0 beq .L39 1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1143 .loc 1 1486 25 discriminator 1 view .LVU311 1144 000e 002A cmp r2, #0 1145 0010 56D0 beq .L40 1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1146 .loc 1 1494 5 is_stmt 1 view .LVU312 1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1147 .loc 1 1494 8 is_stmt 0 view .LVU313 1148 0012 8023 movs r3, #128 1149 0014 5B01 lsls r3, r3, #5 ARM GAS /tmp/ccwvDHH5.s page 101 1150 0016 8068 ldr r0, [r0, #8] 1151 .LVL74: 1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1152 .loc 1 1494 8 view .LVU314 1153 0018 9842 cmp r0, r3 1154 001a 32D0 beq .L43 1155 .L36: 1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1156 .loc 1 1502 5 is_stmt 1 view .LVU315 1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1157 .loc 1 1502 5 view .LVU316 1158 001c 7423 movs r3, #116 1159 001e E35C ldrb r3, [r4, r3] 1160 0020 012B cmp r3, #1 1161 0022 4FD0 beq .L42 1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1162 .loc 1 1502 5 discriminator 2 view .LVU317 1163 0024 7423 movs r3, #116 1164 0026 0120 movs r0, #1 1165 0028 E054 strb r0, [r4, r3] 1504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferSize = Size; 1166 .loc 1 1504 5 discriminator 2 view .LVU318 1504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferSize = Size; 1167 .loc 1 1504 24 is_stmt 0 discriminator 2 view .LVU319 1168 002a E164 str r1, [r4, #76] 1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size; 1169 .loc 1 1505 5 is_stmt 1 discriminator 2 view .LVU320 1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size; 1170 .loc 1 1505 24 is_stmt 0 discriminator 2 view .LVU321 1171 002c 243B subs r3, r3, #36 1172 002e E252 strh r2, [r4, r3] 1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1173 .loc 1 1506 5 is_stmt 1 discriminator 2 view .LVU322 1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1174 .loc 1 1506 24 is_stmt 0 discriminator 2 view .LVU323 1175 0030 0233 adds r3, r3, #2 1176 0032 E252 strh r2, [r4, r3] 1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1177 .loc 1 1508 5 is_stmt 1 discriminator 2 view .LVU324 1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1178 .loc 1 1508 22 is_stmt 0 discriminator 2 view .LVU325 1179 0034 2E33 adds r3, r3, #46 1180 0036 0021 movs r1, #0 1181 .LVL75: 1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1182 .loc 1 1508 22 discriminator 2 view .LVU326 1183 0038 E150 str r1, [r4, r3] 1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1184 .loc 1 1509 5 is_stmt 1 discriminator 2 view .LVU327 1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1185 .loc 1 1509 19 is_stmt 0 discriminator 2 view .LVU328 1186 003a 5F3B subs r3, r3, #95 1187 003c A367 str r3, [r4, #120] 1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1188 .loc 1 1511 5 is_stmt 1 discriminator 2 view .LVU329 1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1189 .loc 1 1511 14 is_stmt 0 discriminator 2 view .LVU330 ARM GAS /tmp/ccwvDHH5.s page 102 1190 003e E36E ldr r3, [r4, #108] 1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1191 .loc 1 1511 8 discriminator 2 view .LVU331 1192 0040 002B cmp r3, #0 1193 0042 25D0 beq .L37 1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1194 .loc 1 1514 7 is_stmt 1 view .LVU332 1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1195 .loc 1 1514 39 is_stmt 0 view .LVU333 1196 0044 2049 ldr r1, .L44 1197 0046 9962 str r1, [r3, #40] 1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1198 .loc 1 1517 7 is_stmt 1 view .LVU334 1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1199 .loc 1 1517 12 is_stmt 0 view .LVU335 1200 0048 E36E ldr r3, [r4, #108] 1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1201 .loc 1 1517 43 view .LVU336 1202 004a 2049 ldr r1, .L44+4 1203 004c D962 str r1, [r3, #44] 1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1204 .loc 1 1520 7 is_stmt 1 view .LVU337 1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1205 .loc 1 1520 12 is_stmt 0 view .LVU338 1206 004e E36E ldr r3, [r4, #108] 1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1207 .loc 1 1520 40 view .LVU339 1208 0050 1F49 ldr r1, .L44+8 1209 0052 1963 str r1, [r3, #48] 1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1210 .loc 1 1523 7 is_stmt 1 view .LVU340 1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1211 .loc 1 1523 12 is_stmt 0 view .LVU341 1212 0054 E36E ldr r3, [r4, #108] 1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1213 .loc 1 1523 40 view .LVU342 1214 0056 0021 movs r1, #0 1215 0058 5963 str r1, [r3, #52] 1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1216 .loc 1 1526 7 is_stmt 1 view .LVU343 1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1217 .loc 1 1526 82 is_stmt 0 view .LVU344 1218 005a 2168 ldr r1, [r4] 1219 005c 2831 adds r1, r1, #40 1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1220 .loc 1 1526 11 view .LVU345 1221 005e 1300 movs r3, r2 1222 0060 0A00 movs r2, r1 1223 .LVL76: 1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1224 .loc 1 1526 11 view .LVU346 1225 0062 E16C ldr r1, [r4, #76] 1226 0064 E06E ldr r0, [r4, #108] 1227 0066 FFF7FEFF bl HAL_DMA_Start_IT 1228 .LVL77: 1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1229 .loc 1 1526 10 view .LVU347 ARM GAS /tmp/ccwvDHH5.s page 103 1230 006a 0028 cmp r0, #0 1231 006c 10D0 beq .L37 1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1232 .loc 1 1529 9 is_stmt 1 view .LVU348 1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1233 .loc 1 1529 26 is_stmt 0 view .LVU349 1234 006e 8023 movs r3, #128 1235 0070 1022 movs r2, #16 1236 0072 E250 str r2, [r4, r3] 1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1237 .loc 1 1531 9 is_stmt 1 view .LVU350 1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1238 .loc 1 1531 9 view .LVU351 1239 0074 0C3B subs r3, r3, #12 1240 0076 0022 movs r2, #0 1241 0078 E254 strb r2, [r4, r3] 1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1242 .loc 1 1534 9 view .LVU352 1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1243 .loc 1 1534 23 is_stmt 0 view .LVU353 1244 007a 543B subs r3, r3, #84 1245 007c A367 str r3, [r4, #120] 1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1246 .loc 1 1536 9 is_stmt 1 view .LVU354 1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1247 .loc 1 1536 16 is_stmt 0 view .LVU355 1248 007e 0120 movs r0, #1 1249 0080 1BE0 b .L35 1250 .LVL78: 1251 .L43: 1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1252 .loc 1 1494 56 discriminator 1 view .LVU356 1253 0082 2369 ldr r3, [r4, #16] 1254 0084 002B cmp r3, #0 1255 0086 C9D1 bne .L36 1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1256 .loc 1 1496 7 is_stmt 1 view .LVU357 1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1257 .loc 1 1496 10 is_stmt 0 view .LVU358 1258 0088 CB07 lsls r3, r1, #31 1259 008a C7D5 bpl .L36 1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1260 .loc 1 1498 17 view .LVU359 1261 008c 0120 movs r0, #1 1262 008e 14E0 b .L35 1263 .LVL79: 1264 .L37: 1540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1265 .loc 1 1540 5 is_stmt 1 view .LVU360 1266 0090 2368 ldr r3, [r4] 1267 0092 4022 movs r2, #64 1268 0094 1A62 str r2, [r3, #32] 1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1269 .loc 1 1542 5 view .LVU361 1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1270 .loc 1 1542 5 view .LVU362 1271 0096 7423 movs r3, #116 ARM GAS /tmp/ccwvDHH5.s page 104 1272 0098 0022 movs r2, #0 1273 009a E254 strb r2, [r4, r3] 1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1274 .loc 1 1546 5 view .LVU363 1275 .LBB627: 1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1276 .loc 1 1546 5 view .LVU364 1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1277 .loc 1 1546 5 view .LVU365 1278 .LBB628: 1279 .LBI628: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1280 .loc 2 382 31 view .LVU366 1281 .LBB629: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 1282 .loc 2 384 3 view .LVU367 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1283 .loc 2 386 3 view .LVU368 1284 .syntax divided 1285 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1286 009c EFF31081 MRS r1, primask 1287 @ 0 "" 2 1288 .LVL80: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1289 .loc 2 387 3 view .LVU369 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1290 .loc 2 387 3 is_stmt 0 view .LVU370 1291 .thumb 1292 .syntax unified 1293 .LBE629: 1294 .LBE628: 1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1295 .loc 1 1546 5 is_stmt 1 view .LVU371 1296 .LBB630: 1297 .LBI630: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1298 .loc 2 412 27 view .LVU372 1299 .LBB631: 1300 .loc 2 414 3 view .LVU373 1301 00a0 733B subs r3, r3, #115 1302 .syntax divided 1303 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1304 00a2 83F31088 MSR primask, r3 1305 @ 0 "" 2 1306 .LVL81: 1307 .loc 2 414 3 is_stmt 0 view .LVU374 1308 .thumb 1309 .syntax unified 1310 .LBE631: 1311 .LBE630: 1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1312 .loc 1 1546 5 is_stmt 1 view .LVU375 1313 00a6 2268 ldr r2, [r4] 1314 00a8 9368 ldr r3, [r2, #8] 1315 00aa 8020 movs r0, #128 1316 00ac 0343 orrs r3, r0 1317 00ae 9360 str r3, [r2, #8] ARM GAS /tmp/ccwvDHH5.s page 105 1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1318 .loc 1 1546 5 view .LVU376 1319 .LVL82: 1320 .LBB632: 1321 .LBI632: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1322 .loc 2 412 27 view .LVU377 1323 .LBB633: 1324 .loc 2 414 3 view .LVU378 1325 .syntax divided 1326 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1327 00b0 81F31088 MSR primask, r1 1328 @ 0 "" 2 1329 .LVL83: 1330 .loc 2 414 3 is_stmt 0 view .LVU379 1331 .thumb 1332 .syntax unified 1333 .LBE633: 1334 .LBE632: 1335 .LBE627: 1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1336 .loc 1 1548 5 is_stmt 1 view .LVU380 1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1337 .loc 1 1548 12 is_stmt 0 view .LVU381 1338 00b4 0020 movs r0, #0 1339 00b6 00E0 b .L35 1340 .LVL84: 1341 .L38: 1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1342 .loc 1 1552 12 view .LVU382 1343 00b8 0220 movs r0, #2 1344 .LVL85: 1345 .L35: 1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1346 .loc 1 1554 1 view .LVU383 1347 @ sp needed 1348 .LVL86: 1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1349 .loc 1 1554 1 view .LVU384 1350 00ba 10BD pop {r4, pc} 1351 .LVL87: 1352 .L39: 1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1353 .loc 1 1488 14 view .LVU385 1354 00bc 0120 movs r0, #1 1355 .LVL88: 1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1356 .loc 1 1488 14 view .LVU386 1357 00be FCE7 b .L35 1358 .LVL89: 1359 .L40: 1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1360 .loc 1 1488 14 view .LVU387 1361 00c0 0120 movs r0, #1 1362 .LVL90: 1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1363 .loc 1 1488 14 view .LVU388 ARM GAS /tmp/ccwvDHH5.s page 106 1364 00c2 FAE7 b .L35 1365 .L42: 1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1366 .loc 1 1502 5 view .LVU389 1367 00c4 0220 movs r0, #2 1368 00c6 F8E7 b .L35 1369 .L45: 1370 .align 2 1371 .L44: 1372 00c8 00000000 .word UART_DMATransmitCplt 1373 00cc 00000000 .word UART_DMATxHalfCplt 1374 00d0 00000000 .word UART_DMAError 1375 .cfi_endproc 1376 .LFE51: 1378 .section .text.HAL_UART_DMAPause,"ax",%progbits 1379 .align 1 1380 .global HAL_UART_DMAPause 1381 .syntax unified 1382 .code 16 1383 .thumb_func 1384 .fpu softvfp 1386 HAL_UART_DMAPause: 1387 .LVL91: 1388 .LFB53: 1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1389 .loc 1 1620 1 is_stmt 1 view -0 1390 .cfi_startproc 1391 @ args = 0, pretend = 0, frame = 0 1392 @ frame_needed = 0, uses_anonymous_args = 0 1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1393 .loc 1 1620 1 is_stmt 0 view .LVU391 1394 0000 30B5 push {r4, r5, lr} 1395 .LCFI7: 1396 .cfi_def_cfa_offset 12 1397 .cfi_offset 4, -12 1398 .cfi_offset 5, -8 1399 .cfi_offset 14, -4 1621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1400 .loc 1 1621 3 is_stmt 1 view .LVU392 1621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1401 .loc 1 1621 31 is_stmt 0 view .LVU393 1402 0002 846F ldr r4, [r0, #120] 1403 .LVL92: 1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1404 .loc 1 1622 3 is_stmt 1 view .LVU394 1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1405 .loc 1 1622 31 is_stmt 0 view .LVU395 1406 0004 C16F ldr r1, [r0, #124] 1407 .LVL93: 1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1408 .loc 1 1624 3 is_stmt 1 view .LVU396 1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1409 .loc 1 1624 3 view .LVU397 1410 0006 7423 movs r3, #116 1411 0008 C35C ldrb r3, [r0, r3] 1412 000a 012B cmp r3, #1 1413 000c 42D0 beq .L50 ARM GAS /tmp/ccwvDHH5.s page 107 1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1414 .loc 1 1624 3 discriminator 2 view .LVU398 1415 000e 7423 movs r3, #116 1416 0010 0122 movs r2, #1 1417 0012 C254 strb r2, [r0, r3] 1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1418 .loc 1 1626 3 discriminator 2 view .LVU399 1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1419 .loc 1 1626 8 is_stmt 0 discriminator 2 view .LVU400 1420 0014 0368 ldr r3, [r0] 1421 0016 9B68 ldr r3, [r3, #8] 1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1422 .loc 1 1626 6 discriminator 2 view .LVU401 1423 0018 1B06 lsls r3, r3, #24 1424 001a 01D5 bpl .L48 1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1425 .loc 1 1626 62 discriminator 1 view .LVU402 1426 001c 212C cmp r4, #33 1427 001e 0AD0 beq .L51 1428 .LVL94: 1429 .L48: 1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1430 .loc 1 1632 3 is_stmt 1 view .LVU403 1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1431 .loc 1 1632 8 is_stmt 0 view .LVU404 1432 0020 0368 ldr r3, [r0] 1433 0022 9B68 ldr r3, [r3, #8] 1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1434 .loc 1 1632 6 view .LVU405 1435 0024 5B06 lsls r3, r3, #25 1436 0026 01D5 bpl .L49 1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1437 .loc 1 1632 62 discriminator 1 view .LVU406 1438 0028 2229 cmp r1, #34 1439 002a 11D0 beq .L52 1440 .LVL95: 1441 .L49: 1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1442 .loc 1 1643 3 is_stmt 1 view .LVU407 1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1443 .loc 1 1643 3 view .LVU408 1444 002c 7423 movs r3, #116 1445 002e 0022 movs r2, #0 1446 0030 C254 strb r2, [r0, r3] 1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1447 .loc 1 1645 3 view .LVU409 1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1448 .loc 1 1645 10 is_stmt 0 view .LVU410 1449 0032 0020 movs r0, #0 1450 .LVL96: 1451 .L47: 1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1452 .loc 1 1646 1 view .LVU411 1453 @ sp needed 1454 0034 30BD pop {r4, r5, pc} 1455 .LVL97: 1456 .L51: ARM GAS /tmp/ccwvDHH5.s page 108 1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1457 .loc 1 1630 5 is_stmt 1 view .LVU412 1458 .LBB634: 1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1459 .loc 1 1630 5 view .LVU413 1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1460 .loc 1 1630 5 view .LVU414 1461 .LBB635: 1462 .LBI635: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1463 .loc 2 382 31 view .LVU415 1464 .LBB636: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 1465 .loc 2 384 3 view .LVU416 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1466 .loc 2 386 3 view .LVU417 1467 .syntax divided 1468 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1469 0036 EFF31084 MRS r4, primask 1470 @ 0 "" 2 1471 .LVL98: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1472 .loc 2 387 3 view .LVU418 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1473 .loc 2 387 3 is_stmt 0 view .LVU419 1474 .thumb 1475 .syntax unified 1476 .LBE636: 1477 .LBE635: 1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1478 .loc 1 1630 5 is_stmt 1 view .LVU420 1479 .LBB637: 1480 .LBI637: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1481 .loc 2 412 27 view .LVU421 1482 .LBB638: 1483 .loc 2 414 3 view .LVU422 1484 003a 0123 movs r3, #1 1485 .syntax divided 1486 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1487 003c 83F31088 MSR primask, r3 1488 @ 0 "" 2 1489 .LVL99: 1490 .loc 2 414 3 is_stmt 0 view .LVU423 1491 .thumb 1492 .syntax unified 1493 .LBE638: 1494 .LBE637: 1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1495 .loc 1 1630 5 is_stmt 1 view .LVU424 1496 0040 0268 ldr r2, [r0] 1497 0042 9368 ldr r3, [r2, #8] 1498 0044 8025 movs r5, #128 1499 0046 AB43 bics r3, r5 1500 0048 9360 str r3, [r2, #8] 1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1501 .loc 1 1630 5 view .LVU425 ARM GAS /tmp/ccwvDHH5.s page 109 1502 .LVL100: 1503 .LBB639: 1504 .LBI639: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1505 .loc 2 412 27 view .LVU426 1506 .LBB640: 1507 .loc 2 414 3 view .LVU427 1508 .syntax divided 1509 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1510 004a 84F31088 MSR primask, r4 1511 @ 0 "" 2 1512 .thumb 1513 .syntax unified 1514 004e E7E7 b .L48 1515 .LVL101: 1516 .L52: 1517 .loc 2 414 3 is_stmt 0 view .LVU428 1518 .LBE640: 1519 .LBE639: 1520 .LBE634: 1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1521 .loc 1 1636 5 is_stmt 1 view .LVU429 1522 .LBB641: 1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1523 .loc 1 1636 5 view .LVU430 1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1524 .loc 1 1636 5 view .LVU431 1525 .LBB642: 1526 .LBI642: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1527 .loc 2 382 31 view .LVU432 1528 .LBB643: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 1529 .loc 2 384 3 view .LVU433 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1530 .loc 2 386 3 view .LVU434 1531 .syntax divided 1532 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1533 0050 EFF31084 MRS r4, primask 1534 @ 0 "" 2 1535 .LVL102: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1536 .loc 2 387 3 view .LVU435 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1537 .loc 2 387 3 is_stmt 0 view .LVU436 1538 .thumb 1539 .syntax unified 1540 .LBE643: 1541 .LBE642: 1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1542 .loc 1 1636 5 is_stmt 1 view .LVU437 1543 .LBB644: 1544 .LBI644: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1545 .loc 2 412 27 view .LVU438 1546 .LBB645: 1547 .loc 2 414 3 view .LVU439 ARM GAS /tmp/ccwvDHH5.s page 110 1548 0054 0123 movs r3, #1 1549 .syntax divided 1550 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1551 0056 83F31088 MSR primask, r3 1552 @ 0 "" 2 1553 .LVL103: 1554 .loc 2 414 3 is_stmt 0 view .LVU440 1555 .thumb 1556 .syntax unified 1557 .LBE645: 1558 .LBE644: 1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1559 .loc 1 1636 5 is_stmt 1 view .LVU441 1560 005a 0168 ldr r1, [r0] 1561 .LVL104: 1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1562 .loc 1 1636 5 is_stmt 0 view .LVU442 1563 005c 0A68 ldr r2, [r1] 1564 005e 0E4D ldr r5, .L53 1565 0060 2A40 ands r2, r5 1566 0062 0A60 str r2, [r1] 1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1567 .loc 1 1636 5 is_stmt 1 view .LVU443 1568 .LVL105: 1569 .LBB646: 1570 .LBI646: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1571 .loc 2 412 27 view .LVU444 1572 .LBB647: 1573 .loc 2 414 3 view .LVU445 1574 .syntax divided 1575 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1576 0064 84F31088 MSR primask, r4 1577 @ 0 "" 2 1578 .LVL106: 1579 .loc 2 414 3 is_stmt 0 view .LVU446 1580 .thumb 1581 .syntax unified 1582 .LBE647: 1583 .LBE646: 1584 .LBE641: 1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1585 .loc 1 1637 5 is_stmt 1 view .LVU447 1586 .LBB648: 1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1587 .loc 1 1637 5 view .LVU448 1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1588 .loc 1 1637 5 view .LVU449 1589 .LBB649: 1590 .LBI649: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1591 .loc 2 382 31 view .LVU450 1592 .LBB650: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 1593 .loc 2 384 3 view .LVU451 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1594 .loc 2 386 3 view .LVU452 ARM GAS /tmp/ccwvDHH5.s page 111 1595 .syntax divided 1596 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1597 0068 EFF31084 MRS r4, primask 1598 @ 0 "" 2 1599 .LVL107: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1600 .loc 2 387 3 view .LVU453 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1601 .loc 2 387 3 is_stmt 0 view .LVU454 1602 .thumb 1603 .syntax unified 1604 .LBE650: 1605 .LBE649: 1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1606 .loc 1 1637 5 is_stmt 1 view .LVU455 1607 .LBB651: 1608 .LBI651: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1609 .loc 2 412 27 view .LVU456 1610 .LBB652: 1611 .loc 2 414 3 view .LVU457 1612 .syntax divided 1613 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1614 006c 83F31088 MSR primask, r3 1615 @ 0 "" 2 1616 .LVL108: 1617 .loc 2 414 3 is_stmt 0 view .LVU458 1618 .thumb 1619 .syntax unified 1620 .LBE652: 1621 .LBE651: 1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1622 .loc 1 1637 5 is_stmt 1 view .LVU459 1623 0070 0168 ldr r1, [r0] 1624 0072 8A68 ldr r2, [r1, #8] 1625 0074 9A43 bics r2, r3 1626 0076 8A60 str r2, [r1, #8] 1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1627 .loc 1 1637 5 view .LVU460 1628 .LVL109: 1629 .LBB653: 1630 .LBI653: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1631 .loc 2 412 27 view .LVU461 1632 .LBB654: 1633 .loc 2 414 3 view .LVU462 1634 .syntax divided 1635 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1636 0078 84F31088 MSR primask, r4 1637 @ 0 "" 2 1638 .LVL110: 1639 .loc 2 414 3 is_stmt 0 view .LVU463 1640 .thumb 1641 .syntax unified 1642 .LBE654: 1643 .LBE653: 1644 .LBE648: ARM GAS /tmp/ccwvDHH5.s page 112 1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1645 .loc 1 1640 5 is_stmt 1 view .LVU464 1646 .LBB655: 1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1647 .loc 1 1640 5 view .LVU465 1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1648 .loc 1 1640 5 view .LVU466 1649 .LBB656: 1650 .LBI656: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1651 .loc 2 382 31 view .LVU467 1652 .LBB657: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 1653 .loc 2 384 3 view .LVU468 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1654 .loc 2 386 3 view .LVU469 1655 .syntax divided 1656 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1657 007c EFF31081 MRS r1, primask 1658 @ 0 "" 2 1659 .LVL111: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1660 .loc 2 387 3 view .LVU470 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1661 .loc 2 387 3 is_stmt 0 view .LVU471 1662 .thumb 1663 .syntax unified 1664 .LBE657: 1665 .LBE656: 1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1666 .loc 1 1640 5 is_stmt 1 view .LVU472 1667 .LBB658: 1668 .LBI658: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1669 .loc 2 412 27 view .LVU473 1670 .LBB659: 1671 .loc 2 414 3 view .LVU474 1672 .syntax divided 1673 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1674 0080 83F31088 MSR primask, r3 1675 @ 0 "" 2 1676 .LVL112: 1677 .loc 2 414 3 is_stmt 0 view .LVU475 1678 .thumb 1679 .syntax unified 1680 .LBE659: 1681 .LBE658: 1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1682 .loc 1 1640 5 is_stmt 1 view .LVU476 1683 0084 0268 ldr r2, [r0] 1684 0086 9368 ldr r3, [r2, #8] 1685 0088 4024 movs r4, #64 1686 .LVL113: 1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1687 .loc 1 1640 5 is_stmt 0 view .LVU477 1688 008a A343 bics r3, r4 1689 008c 9360 str r3, [r2, #8] ARM GAS /tmp/ccwvDHH5.s page 113 1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1690 .loc 1 1640 5 is_stmt 1 view .LVU478 1691 .LVL114: 1692 .LBB660: 1693 .LBI660: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1694 .loc 2 412 27 view .LVU479 1695 .LBB661: 1696 .loc 2 414 3 view .LVU480 1697 .syntax divided 1698 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1699 008e 81F31088 MSR primask, r1 1700 @ 0 "" 2 1701 .thumb 1702 .syntax unified 1703 0092 CBE7 b .L49 1704 .LVL115: 1705 .L50: 1706 .loc 2 414 3 is_stmt 0 view .LVU481 1707 .LBE661: 1708 .LBE660: 1709 .LBE655: 1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1710 .loc 1 1624 3 view .LVU482 1711 0094 0220 movs r0, #2 1712 .LVL116: 1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1713 .loc 1 1624 3 view .LVU483 1714 0096 CDE7 b .L47 1715 .L54: 1716 .align 2 1717 .L53: 1718 0098 FFFEFFFF .word -257 1719 .cfi_endproc 1720 .LFE53: 1722 .section .text.HAL_UART_DMAResume,"ax",%progbits 1723 .align 1 1724 .global HAL_UART_DMAResume 1725 .syntax unified 1726 .code 16 1727 .thumb_func 1728 .fpu softvfp 1730 HAL_UART_DMAResume: 1731 .LVL117: 1732 .LFB54: 1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 1733 .loc 1 1654 1 is_stmt 1 view -0 1734 .cfi_startproc 1735 @ args = 0, pretend = 0, frame = 0 1736 @ frame_needed = 0, uses_anonymous_args = 0 1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 1737 .loc 1 1654 1 is_stmt 0 view .LVU485 1738 0000 30B5 push {r4, r5, lr} 1739 .LCFI8: 1740 .cfi_def_cfa_offset 12 1741 .cfi_offset 4, -12 1742 .cfi_offset 5, -8 ARM GAS /tmp/ccwvDHH5.s page 114 1743 .cfi_offset 14, -4 1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1744 .loc 1 1655 3 is_stmt 1 view .LVU486 1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1745 .loc 1 1655 3 view .LVU487 1746 0002 7423 movs r3, #116 1747 0004 C35C ldrb r3, [r0, r3] 1748 0006 012B cmp r3, #1 1749 0008 3FD0 beq .L59 1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1750 .loc 1 1655 3 discriminator 2 view .LVU488 1751 000a 7423 movs r3, #116 1752 000c 0122 movs r2, #1 1753 000e C254 strb r2, [r0, r3] 1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1754 .loc 1 1657 3 discriminator 2 view .LVU489 1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1755 .loc 1 1657 12 is_stmt 0 discriminator 2 view .LVU490 1756 0010 836F ldr r3, [r0, #120] 1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1757 .loc 1 1657 6 discriminator 2 view .LVU491 1758 0012 212B cmp r3, #33 1759 0014 07D0 beq .L60 1760 .L57: 1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1761 .loc 1 1662 3 is_stmt 1 view .LVU492 1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1762 .loc 1 1662 12 is_stmt 0 view .LVU493 1763 0016 C36F ldr r3, [r0, #124] 1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 1764 .loc 1 1662 6 view .LVU494 1765 0018 222B cmp r3, #34 1766 001a 11D0 beq .L61 1767 .L58: 1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1768 .loc 1 1675 3 is_stmt 1 view .LVU495 1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1769 .loc 1 1675 3 view .LVU496 1770 001c 7423 movs r3, #116 1771 001e 0022 movs r2, #0 1772 0020 C254 strb r2, [r0, r3] 1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1773 .loc 1 1677 3 view .LVU497 1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1774 .loc 1 1677 10 is_stmt 0 view .LVU498 1775 0022 0020 movs r0, #0 1776 .LVL118: 1777 .L56: 1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1778 .loc 1 1678 1 view .LVU499 1779 @ sp needed 1780 0024 30BD pop {r4, r5, pc} 1781 .LVL119: 1782 .L60: 1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1783 .loc 1 1660 5 is_stmt 1 view .LVU500 1784 .LBB662: ARM GAS /tmp/ccwvDHH5.s page 115 1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1785 .loc 1 1660 5 view .LVU501 1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1786 .loc 1 1660 5 view .LVU502 1787 .LBB663: 1788 .LBI663: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1789 .loc 2 382 31 view .LVU503 1790 .LBB664: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 1791 .loc 2 384 3 view .LVU504 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1792 .loc 2 386 3 view .LVU505 1793 .syntax divided 1794 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1795 0026 EFF31081 MRS r1, primask 1796 @ 0 "" 2 1797 .LVL120: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1798 .loc 2 387 3 view .LVU506 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1799 .loc 2 387 3 is_stmt 0 view .LVU507 1800 .thumb 1801 .syntax unified 1802 .LBE664: 1803 .LBE663: 1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1804 .loc 1 1660 5 is_stmt 1 view .LVU508 1805 .LBB665: 1806 .LBI665: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1807 .loc 2 412 27 view .LVU509 1808 .LBB666: 1809 .loc 2 414 3 view .LVU510 1810 002a 203B subs r3, r3, #32 1811 .syntax divided 1812 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1813 002c 83F31088 MSR primask, r3 1814 @ 0 "" 2 1815 .LVL121: 1816 .loc 2 414 3 is_stmt 0 view .LVU511 1817 .thumb 1818 .syntax unified 1819 .LBE666: 1820 .LBE665: 1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1821 .loc 1 1660 5 is_stmt 1 view .LVU512 1822 0030 0268 ldr r2, [r0] 1823 0032 9368 ldr r3, [r2, #8] 1824 0034 8024 movs r4, #128 1825 0036 2343 orrs r3, r4 1826 0038 9360 str r3, [r2, #8] 1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1827 .loc 1 1660 5 view .LVU513 1828 .LVL122: 1829 .LBB667: 1830 .LBI667: ARM GAS /tmp/ccwvDHH5.s page 116 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1831 .loc 2 412 27 view .LVU514 1832 .LBB668: 1833 .loc 2 414 3 view .LVU515 1834 .syntax divided 1835 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1836 003a 81F31088 MSR primask, r1 1837 @ 0 "" 2 1838 .thumb 1839 .syntax unified 1840 003e EAE7 b .L57 1841 .LVL123: 1842 .L61: 1843 .loc 2 414 3 is_stmt 0 view .LVU516 1844 .LBE668: 1845 .LBE667: 1846 .LBE662: 1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1847 .loc 1 1665 5 is_stmt 1 view .LVU517 1848 0040 0368 ldr r3, [r0] 1849 0042 0822 movs r2, #8 1850 0044 1A62 str r2, [r3, #32] 1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1851 .loc 1 1668 5 view .LVU518 1852 .LBB669: 1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1853 .loc 1 1668 5 view .LVU519 1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1854 .loc 1 1668 5 view .LVU520 1855 .LBB670: 1856 .LBI670: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1857 .loc 2 382 31 view .LVU521 1858 .LBB671: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 1859 .loc 2 384 3 view .LVU522 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1860 .loc 2 386 3 view .LVU523 1861 .syntax divided 1862 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1863 0046 EFF31084 MRS r4, primask 1864 @ 0 "" 2 1865 .LVL124: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1866 .loc 2 387 3 view .LVU524 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1867 .loc 2 387 3 is_stmt 0 view .LVU525 1868 .thumb 1869 .syntax unified 1870 .LBE671: 1871 .LBE670: 1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1872 .loc 1 1668 5 is_stmt 1 view .LVU526 1873 .LBB672: 1874 .LBI672: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1875 .loc 2 412 27 view .LVU527 ARM GAS /tmp/ccwvDHH5.s page 117 1876 .LBB673: 1877 .loc 2 414 3 view .LVU528 1878 004a 0123 movs r3, #1 1879 .syntax divided 1880 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1881 004c 83F31088 MSR primask, r3 1882 @ 0 "" 2 1883 .LVL125: 1884 .loc 2 414 3 is_stmt 0 view .LVU529 1885 .thumb 1886 .syntax unified 1887 .LBE673: 1888 .LBE672: 1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1889 .loc 1 1668 5 is_stmt 1 view .LVU530 1890 0050 0168 ldr r1, [r0] 1891 0052 0D68 ldr r5, [r1] 1892 0054 F832 adds r2, r2, #248 1893 0056 2A43 orrs r2, r5 1894 0058 0A60 str r2, [r1] 1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1895 .loc 1 1668 5 view .LVU531 1896 .LVL126: 1897 .LBB674: 1898 .LBI674: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1899 .loc 2 412 27 view .LVU532 1900 .LBB675: 1901 .loc 2 414 3 view .LVU533 1902 .syntax divided 1903 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1904 005a 84F31088 MSR primask, r4 1905 @ 0 "" 2 1906 .LVL127: 1907 .loc 2 414 3 is_stmt 0 view .LVU534 1908 .thumb 1909 .syntax unified 1910 .LBE675: 1911 .LBE674: 1912 .LBE669: 1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1913 .loc 1 1669 5 is_stmt 1 view .LVU535 1914 .LBB676: 1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1915 .loc 1 1669 5 view .LVU536 1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1916 .loc 1 1669 5 view .LVU537 1917 .LBB677: 1918 .LBI677: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1919 .loc 2 382 31 view .LVU538 1920 .LBB678: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 1921 .loc 2 384 3 view .LVU539 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1922 .loc 2 386 3 view .LVU540 1923 .syntax divided ARM GAS /tmp/ccwvDHH5.s page 118 1924 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1925 005e EFF31084 MRS r4, primask 1926 @ 0 "" 2 1927 .LVL128: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1928 .loc 2 387 3 view .LVU541 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1929 .loc 2 387 3 is_stmt 0 view .LVU542 1930 .thumb 1931 .syntax unified 1932 .LBE678: 1933 .LBE677: 1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1934 .loc 1 1669 5 is_stmt 1 view .LVU543 1935 .LBB679: 1936 .LBI679: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1937 .loc 2 412 27 view .LVU544 1938 .LBB680: 1939 .loc 2 414 3 view .LVU545 1940 .syntax divided 1941 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1942 0062 83F31088 MSR primask, r3 1943 @ 0 "" 2 1944 .LVL129: 1945 .loc 2 414 3 is_stmt 0 view .LVU546 1946 .thumb 1947 .syntax unified 1948 .LBE680: 1949 .LBE679: 1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1950 .loc 1 1669 5 is_stmt 1 view .LVU547 1951 0066 0168 ldr r1, [r0] 1952 0068 8A68 ldr r2, [r1, #8] 1953 006a 1A43 orrs r2, r3 1954 006c 8A60 str r2, [r1, #8] 1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 1955 .loc 1 1669 5 view .LVU548 1956 .LVL130: 1957 .LBB681: 1958 .LBI681: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1959 .loc 2 412 27 view .LVU549 1960 .LBB682: 1961 .loc 2 414 3 view .LVU550 1962 .syntax divided 1963 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1964 006e 84F31088 MSR primask, r4 1965 @ 0 "" 2 1966 .LVL131: 1967 .loc 2 414 3 is_stmt 0 view .LVU551 1968 .thumb 1969 .syntax unified 1970 .LBE682: 1971 .LBE681: 1972 .LBE676: 1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } ARM GAS /tmp/ccwvDHH5.s page 119 1973 .loc 1 1672 5 is_stmt 1 view .LVU552 1974 .LBB683: 1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1975 .loc 1 1672 5 view .LVU553 1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1976 .loc 1 1672 5 view .LVU554 1977 .LBB684: 1978 .LBI684: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1979 .loc 2 382 31 view .LVU555 1980 .LBB685: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 1981 .loc 2 384 3 view .LVU556 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1982 .loc 2 386 3 view .LVU557 1983 .syntax divided 1984 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1985 0072 EFF31081 MRS r1, primask 1986 @ 0 "" 2 1987 .LVL132: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1988 .loc 2 387 3 view .LVU558 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1989 .loc 2 387 3 is_stmt 0 view .LVU559 1990 .thumb 1991 .syntax unified 1992 .LBE685: 1993 .LBE684: 1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 1994 .loc 1 1672 5 is_stmt 1 view .LVU560 1995 .LBB686: 1996 .LBI686: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1997 .loc 2 412 27 view .LVU561 1998 .LBB687: 1999 .loc 2 414 3 view .LVU562 2000 .syntax divided 2001 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2002 0076 83F31088 MSR primask, r3 2003 @ 0 "" 2 2004 .LVL133: 2005 .loc 2 414 3 is_stmt 0 view .LVU563 2006 .thumb 2007 .syntax unified 2008 .LBE687: 2009 .LBE686: 1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2010 .loc 1 1672 5 is_stmt 1 view .LVU564 2011 007a 0268 ldr r2, [r0] 2012 007c 9368 ldr r3, [r2, #8] 2013 007e 4024 movs r4, #64 2014 .LVL134: 1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2015 .loc 1 1672 5 is_stmt 0 view .LVU565 2016 0080 2343 orrs r3, r4 2017 0082 9360 str r3, [r2, #8] 1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } ARM GAS /tmp/ccwvDHH5.s page 120 2018 .loc 1 1672 5 is_stmt 1 view .LVU566 2019 .LVL135: 2020 .LBB688: 2021 .LBI688: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2022 .loc 2 412 27 view .LVU567 2023 .LBB689: 2024 .loc 2 414 3 view .LVU568 2025 .syntax divided 2026 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2027 0084 81F31088 MSR primask, r1 2028 @ 0 "" 2 2029 .thumb 2030 .syntax unified 2031 0088 C8E7 b .L58 2032 .LVL136: 2033 .L59: 2034 .loc 2 414 3 is_stmt 0 view .LVU569 2035 .LBE689: 2036 .LBE688: 2037 .LBE683: 1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2038 .loc 1 1655 3 view .LVU570 2039 008a 0220 movs r0, #2 2040 .LVL137: 1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2041 .loc 1 1655 3 view .LVU571 2042 008c CAE7 b .L56 2043 .cfi_endproc 2044 .LFE54: 2046 .section .text.HAL_UART_DMAStop,"ax",%progbits 2047 .align 1 2048 .global HAL_UART_DMAStop 2049 .syntax unified 2050 .code 16 2051 .thumb_func 2052 .fpu softvfp 2054 HAL_UART_DMAStop: 2055 .LVL138: 2056 .LFB55: 1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 2057 .loc 1 1686 1 is_stmt 1 view -0 2058 .cfi_startproc 2059 @ args = 0, pretend = 0, frame = 0 2060 @ frame_needed = 0, uses_anonymous_args = 0 1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 2061 .loc 1 1686 1 is_stmt 0 view .LVU573 2062 0000 70B5 push {r4, r5, r6, lr} 2063 .LCFI9: 2064 .cfi_def_cfa_offset 16 2065 .cfi_offset 4, -16 2066 .cfi_offset 5, -12 2067 .cfi_offset 6, -8 2068 .cfi_offset 14, -4 2069 0002 0400 movs r4, r0 1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 2070 .loc 1 1694 3 is_stmt 1 view .LVU574 ARM GAS /tmp/ccwvDHH5.s page 121 1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 2071 .loc 1 1694 31 is_stmt 0 view .LVU575 2072 0004 826F ldr r2, [r0, #120] 2073 .LVL139: 1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2074 .loc 1 1695 3 is_stmt 1 view .LVU576 1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2075 .loc 1 1695 31 is_stmt 0 view .LVU577 2076 0006 C56F ldr r5, [r0, #124] 2077 .LVL140: 1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 2078 .loc 1 1698 3 is_stmt 1 view .LVU578 1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 2079 .loc 1 1698 8 is_stmt 0 view .LVU579 2080 0008 0368 ldr r3, [r0] 2081 000a 9B68 ldr r3, [r3, #8] 1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 2082 .loc 1 1698 6 view .LVU580 2083 000c 1B06 lsls r3, r3, #24 2084 000e 01D5 bpl .L63 1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 2085 .loc 1 1698 62 discriminator 1 view .LVU581 2086 0010 212A cmp r2, #33 2087 0012 07D0 beq .L69 2088 .LVL141: 2089 .L63: 1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 2090 .loc 1 1722 3 is_stmt 1 view .LVU582 1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 2091 .loc 1 1722 8 is_stmt 0 view .LVU583 2092 0014 2368 ldr r3, [r4] 2093 0016 9B68 ldr r3, [r3, #8] 1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 2094 .loc 1 1722 6 view .LVU584 2095 0018 5B06 lsls r3, r3, #25 2096 001a 46D5 bpl .L67 1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 2097 .loc 1 1722 62 discriminator 1 view .LVU585 2098 001c 222D cmp r5, #34 2099 001e 22D0 beq .L70 1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2100 .loc 1 1745 10 view .LVU586 2101 0020 0020 movs r0, #0 2102 0022 43E0 b .L65 2103 .LVL142: 2104 .L69: 1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2105 .loc 1 1701 5 is_stmt 1 view .LVU587 2106 .LBB690: 1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2107 .loc 1 1701 5 view .LVU588 1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2108 .loc 1 1701 5 view .LVU589 2109 .LBB691: 2110 .LBI691: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2111 .loc 2 382 31 view .LVU590 ARM GAS /tmp/ccwvDHH5.s page 122 2112 .LBB692: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 2113 .loc 2 384 3 view .LVU591 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2114 .loc 2 386 3 view .LVU592 2115 .syntax divided 2116 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2117 0024 EFF31081 MRS r1, primask 2118 @ 0 "" 2 2119 .LVL143: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2120 .loc 2 387 3 view .LVU593 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2121 .loc 2 387 3 is_stmt 0 view .LVU594 2122 .thumb 2123 .syntax unified 2124 .LBE692: 2125 .LBE691: 1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2126 .loc 1 1701 5 is_stmt 1 view .LVU595 2127 .LBB693: 2128 .LBI693: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2129 .loc 2 412 27 view .LVU596 2130 .LBB694: 2131 .loc 2 414 3 view .LVU597 2132 0028 0123 movs r3, #1 2133 .syntax divided 2134 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2135 002a 83F31088 MSR primask, r3 2136 @ 0 "" 2 2137 .LVL144: 2138 .loc 2 414 3 is_stmt 0 view .LVU598 2139 .thumb 2140 .syntax unified 2141 .LBE694: 2142 .LBE693: 1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2143 .loc 1 1701 5 is_stmt 1 view .LVU599 2144 002e 0268 ldr r2, [r0] 2145 .LVL145: 1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2146 .loc 1 1701 5 is_stmt 0 view .LVU600 2147 0030 9368 ldr r3, [r2, #8] 2148 0032 8020 movs r0, #128 2149 .LVL146: 1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2150 .loc 1 1701 5 view .LVU601 2151 0034 8343 bics r3, r0 2152 0036 9360 str r3, [r2, #8] 1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2153 .loc 1 1701 5 is_stmt 1 view .LVU602 2154 .LVL147: 2155 .LBB695: 2156 .LBI695: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2157 .loc 2 412 27 view .LVU603 ARM GAS /tmp/ccwvDHH5.s page 123 2158 .LBB696: 2159 .loc 2 414 3 view .LVU604 2160 .syntax divided 2161 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2162 0038 81F31088 MSR primask, r1 2163 @ 0 "" 2 2164 .LVL148: 2165 .loc 2 414 3 is_stmt 0 view .LVU605 2166 .thumb 2167 .syntax unified 2168 .LBE696: 2169 .LBE695: 2170 .LBE690: 1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2171 .loc 1 1704 5 is_stmt 1 view .LVU606 1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2172 .loc 1 1704 14 is_stmt 0 view .LVU607 2173 003c E06E ldr r0, [r4, #108] 1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2174 .loc 1 1704 8 view .LVU608 2175 003e 0028 cmp r0, #0 2176 0040 03D0 beq .L64 1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2177 .loc 1 1706 7 is_stmt 1 view .LVU609 1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2178 .loc 1 1706 11 is_stmt 0 view .LVU610 2179 0042 FFF7FEFF bl HAL_DMA_Abort 2180 .LVL149: 1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2181 .loc 1 1706 10 view .LVU611 2182 0046 0028 cmp r0, #0 2183 0048 03D1 bne .L71 2184 .L64: 1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2185 .loc 1 1718 5 is_stmt 1 view .LVU612 2186 004a 2000 movs r0, r4 2187 004c FFF7FEFF bl UART_EndTxTransfer 2188 .LVL150: 2189 0050 E0E7 b .L63 2190 .L71: 1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2191 .loc 1 1708 9 view .LVU613 1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2192 .loc 1 1708 13 is_stmt 0 view .LVU614 2193 0052 E06E ldr r0, [r4, #108] 2194 0054 FFF7FEFF bl HAL_DMA_GetError 2195 .LVL151: 1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2196 .loc 1 1708 12 view .LVU615 2197 0058 2028 cmp r0, #32 2198 005a F6D1 bne .L64 1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2199 .loc 1 1711 11 is_stmt 1 view .LVU616 1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2200 .loc 1 1711 28 is_stmt 0 view .LVU617 2201 005c 8023 movs r3, #128 2202 005e 1022 movs r2, #16 ARM GAS /tmp/ccwvDHH5.s page 124 2203 0060 E250 str r2, [r4, r3] 1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2204 .loc 1 1713 11 is_stmt 1 view .LVU618 1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2205 .loc 1 1713 18 is_stmt 0 view .LVU619 2206 0062 1D38 subs r0, r0, #29 2207 0064 22E0 b .L65 2208 .L70: 1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2209 .loc 1 1725 5 is_stmt 1 view .LVU620 2210 .LBB697: 1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2211 .loc 1 1725 5 view .LVU621 1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2212 .loc 1 1725 5 view .LVU622 2213 .LBB698: 2214 .LBI698: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2215 .loc 2 382 31 view .LVU623 2216 .LBB699: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 2217 .loc 2 384 3 view .LVU624 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2218 .loc 2 386 3 view .LVU625 2219 .syntax divided 2220 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2221 0066 EFF31081 MRS r1, primask 2222 @ 0 "" 2 2223 .LVL152: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2224 .loc 2 387 3 view .LVU626 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2225 .loc 2 387 3 is_stmt 0 view .LVU627 2226 .thumb 2227 .syntax unified 2228 .LBE699: 2229 .LBE698: 1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2230 .loc 1 1725 5 is_stmt 1 view .LVU628 2231 .LBB700: 2232 .LBI700: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2233 .loc 2 412 27 view .LVU629 2234 .LBB701: 2235 .loc 2 414 3 view .LVU630 2236 006a 0123 movs r3, #1 2237 .syntax divided 2238 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2239 006c 83F31088 MSR primask, r3 2240 @ 0 "" 2 2241 .LVL153: 2242 .loc 2 414 3 is_stmt 0 view .LVU631 2243 .thumb 2244 .syntax unified 2245 .LBE701: 2246 .LBE700: 1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 125 2247 .loc 1 1725 5 is_stmt 1 view .LVU632 2248 0070 2268 ldr r2, [r4] 2249 0072 9368 ldr r3, [r2, #8] 2250 0074 4020 movs r0, #64 2251 0076 8343 bics r3, r0 2252 0078 9360 str r3, [r2, #8] 1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2253 .loc 1 1725 5 view .LVU633 2254 .LVL154: 2255 .LBB702: 2256 .LBI702: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2257 .loc 2 412 27 view .LVU634 2258 .LBB703: 2259 .loc 2 414 3 view .LVU635 2260 .syntax divided 2261 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2262 007a 81F31088 MSR primask, r1 2263 @ 0 "" 2 2264 .LVL155: 2265 .loc 2 414 3 is_stmt 0 view .LVU636 2266 .thumb 2267 .syntax unified 2268 .LBE703: 2269 .LBE702: 2270 .LBE697: 1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2271 .loc 1 1728 5 is_stmt 1 view .LVU637 1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2272 .loc 1 1728 14 is_stmt 0 view .LVU638 2273 007e 206F ldr r0, [r4, #112] 1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2274 .loc 1 1728 8 view .LVU639 2275 0080 0028 cmp r0, #0 2276 0082 03D0 beq .L66 1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2277 .loc 1 1730 7 is_stmt 1 view .LVU640 1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2278 .loc 1 1730 11 is_stmt 0 view .LVU641 2279 0084 FFF7FEFF bl HAL_DMA_Abort 2280 .LVL156: 1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2281 .loc 1 1730 10 view .LVU642 2282 0088 0028 cmp r0, #0 2283 008a 04D1 bne .L72 2284 .L66: 1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2285 .loc 1 1742 5 is_stmt 1 view .LVU643 2286 008c 2000 movs r0, r4 2287 008e FFF7FEFF bl UART_EndRxTransfer 2288 .LVL157: 1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2289 .loc 1 1745 10 is_stmt 0 view .LVU644 2290 0092 0020 movs r0, #0 2291 0094 0AE0 b .L65 2292 .L72: 1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 126 2293 .loc 1 1732 9 is_stmt 1 view .LVU645 1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2294 .loc 1 1732 13 is_stmt 0 view .LVU646 2295 0096 206F ldr r0, [r4, #112] 2296 0098 FFF7FEFF bl HAL_DMA_GetError 2297 .LVL158: 1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2298 .loc 1 1732 12 view .LVU647 2299 009c 2028 cmp r0, #32 2300 009e F5D1 bne .L66 1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2301 .loc 1 1735 11 is_stmt 1 view .LVU648 1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2302 .loc 1 1735 28 is_stmt 0 view .LVU649 2303 00a0 8023 movs r3, #128 2304 00a2 1022 movs r2, #16 2305 00a4 E250 str r2, [r4, r3] 1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2306 .loc 1 1737 11 is_stmt 1 view .LVU650 1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2307 .loc 1 1737 18 is_stmt 0 view .LVU651 2308 00a6 1D38 subs r0, r0, #29 2309 00a8 00E0 b .L65 2310 .L67: 1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2311 .loc 1 1745 10 view .LVU652 2312 00aa 0020 movs r0, #0 2313 .L65: 1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2314 .loc 1 1746 1 view .LVU653 2315 @ sp needed 2316 .LVL159: 2317 .LVL160: 1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2318 .loc 1 1746 1 view .LVU654 2319 00ac 70BD pop {r4, r5, r6, pc} 2320 .cfi_endproc 2321 .LFE55: 2323 .section .text.HAL_UART_Abort,"ax",%progbits 2324 .align 1 2325 .global HAL_UART_Abort 2326 .syntax unified 2327 .code 16 2328 .thumb_func 2329 .fpu softvfp 2331 HAL_UART_Abort: 2332 .LVL161: 2333 .LFB56: 1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2334 .loc 1 1761 1 is_stmt 1 view -0 2335 .cfi_startproc 2336 @ args = 0, pretend = 0, frame = 0 2337 @ frame_needed = 0, uses_anonymous_args = 0 1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2338 .loc 1 1761 1 is_stmt 0 view .LVU656 2339 0000 70B5 push {r4, r5, r6, lr} 2340 .LCFI10: ARM GAS /tmp/ccwvDHH5.s page 127 2341 .cfi_def_cfa_offset 16 2342 .cfi_offset 4, -16 2343 .cfi_offset 5, -12 2344 .cfi_offset 6, -8 2345 .cfi_offset 14, -4 2346 0002 0400 movs r4, r0 1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2347 .loc 1 1763 3 is_stmt 1 view .LVU657 2348 .LBB704: 1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2349 .loc 1 1763 3 view .LVU658 1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2350 .loc 1 1763 3 view .LVU659 2351 .LBB705: 2352 .LBI705: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2353 .loc 2 382 31 view .LVU660 2354 .LBB706: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 2355 .loc 2 384 3 view .LVU661 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2356 .loc 2 386 3 view .LVU662 2357 .syntax divided 2358 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2359 0004 EFF31080 MRS r0, primask 2360 @ 0 "" 2 2361 .LVL162: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2362 .loc 2 387 3 view .LVU663 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2363 .loc 2 387 3 is_stmt 0 view .LVU664 2364 .thumb 2365 .syntax unified 2366 .LBE706: 2367 .LBE705: 1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2368 .loc 1 1763 3 is_stmt 1 view .LVU665 2369 .LBB707: 2370 .LBI707: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2371 .loc 2 412 27 view .LVU666 2372 .LBB708: 2373 .loc 2 414 3 view .LVU667 2374 0008 0122 movs r2, #1 2375 .syntax divided 2376 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2377 000a 82F31088 MSR primask, r2 2378 @ 0 "" 2 2379 .LVL163: 2380 .loc 2 414 3 is_stmt 0 view .LVU668 2381 .thumb 2382 .syntax unified 2383 .LBE708: 2384 .LBE707: 1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2385 .loc 1 1763 3 is_stmt 1 view .LVU669 2386 000e 2168 ldr r1, [r4] ARM GAS /tmp/ccwvDHH5.s page 128 2387 0010 0B68 ldr r3, [r1] 2388 0012 3D4D ldr r5, .L81 2389 0014 2B40 ands r3, r5 2390 0016 0B60 str r3, [r1] 1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2391 .loc 1 1763 3 view .LVU670 2392 .LVL164: 2393 .LBB709: 2394 .LBI709: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2395 .loc 2 412 27 view .LVU671 2396 .LBB710: 2397 .loc 2 414 3 view .LVU672 2398 .syntax divided 2399 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2400 0018 80F31088 MSR primask, r0 2401 @ 0 "" 2 2402 .LVL165: 2403 .loc 2 414 3 is_stmt 0 view .LVU673 2404 .thumb 2405 .syntax unified 2406 .LBE710: 2407 .LBE709: 2408 .LBE704: 1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2409 .loc 1 1764 3 is_stmt 1 view .LVU674 2410 .LBB711: 1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2411 .loc 1 1764 3 view .LVU675 1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2412 .loc 1 1764 3 view .LVU676 2413 .LBB712: 2414 .LBI712: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2415 .loc 2 382 31 view .LVU677 2416 .LBB713: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 2417 .loc 2 384 3 view .LVU678 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2418 .loc 2 386 3 view .LVU679 2419 .syntax divided 2420 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2421 001c EFF31080 MRS r0, primask 2422 @ 0 "" 2 2423 .LVL166: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2424 .loc 2 387 3 view .LVU680 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2425 .loc 2 387 3 is_stmt 0 view .LVU681 2426 .thumb 2427 .syntax unified 2428 .LBE713: 2429 .LBE712: 1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2430 .loc 1 1764 3 is_stmt 1 view .LVU682 2431 .LBB714: 2432 .LBI714: ARM GAS /tmp/ccwvDHH5.s page 129 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2433 .loc 2 412 27 view .LVU683 2434 .LBB715: 2435 .loc 2 414 3 view .LVU684 2436 .syntax divided 2437 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2438 0020 82F31088 MSR primask, r2 2439 @ 0 "" 2 2440 .LVL167: 2441 .loc 2 414 3 is_stmt 0 view .LVU685 2442 .thumb 2443 .syntax unified 2444 .LBE715: 2445 .LBE714: 1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2446 .loc 1 1764 3 is_stmt 1 view .LVU686 2447 0024 2168 ldr r1, [r4] 2448 0026 8B68 ldr r3, [r1, #8] 2449 0028 9343 bics r3, r2 2450 002a 8B60 str r3, [r1, #8] 1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2451 .loc 1 1764 3 view .LVU687 2452 .LVL168: 2453 .LBB716: 2454 .LBI716: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2455 .loc 2 412 27 view .LVU688 2456 .LBB717: 2457 .loc 2 414 3 view .LVU689 2458 .syntax divided 2459 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2460 002c 80F31088 MSR primask, r0 2461 @ 0 "" 2 2462 .LVL169: 2463 .loc 2 414 3 is_stmt 0 view .LVU690 2464 .thumb 2465 .syntax unified 2466 .LBE717: 2467 .LBE716: 2468 .LBE711: 1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2469 .loc 1 1767 3 is_stmt 1 view .LVU691 1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2470 .loc 1 1767 12 is_stmt 0 view .LVU692 2471 0030 236E ldr r3, [r4, #96] 1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2472 .loc 1 1767 6 view .LVU693 2473 0032 012B cmp r3, #1 2474 0034 48D0 beq .L78 2475 .LVL170: 2476 .L74: 1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2477 .loc 1 1773 3 is_stmt 1 view .LVU694 1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2478 .loc 1 1773 7 is_stmt 0 view .LVU695 2479 0036 2368 ldr r3, [r4] 2480 0038 9B68 ldr r3, [r3, #8] ARM GAS /tmp/ccwvDHH5.s page 130 1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2481 .loc 1 1773 6 view .LVU696 2482 003a 1B06 lsls r3, r3, #24 2483 003c 15D5 bpl .L75 1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2484 .loc 1 1775 5 is_stmt 1 view .LVU697 2485 .LBB718: 1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2486 .loc 1 1775 5 view .LVU698 1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2487 .loc 1 1775 5 view .LVU699 2488 .LBB719: 2489 .LBI719: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2490 .loc 2 382 31 view .LVU700 2491 .LBB720: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 2492 .loc 2 384 3 view .LVU701 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2493 .loc 2 386 3 view .LVU702 2494 .syntax divided 2495 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2496 003e EFF31081 MRS r1, primask 2497 @ 0 "" 2 2498 .LVL171: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2499 .loc 2 387 3 view .LVU703 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2500 .loc 2 387 3 is_stmt 0 view .LVU704 2501 .thumb 2502 .syntax unified 2503 .LBE720: 2504 .LBE719: 1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2505 .loc 1 1775 5 is_stmt 1 view .LVU705 2506 .LBB721: 2507 .LBI721: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2508 .loc 2 412 27 view .LVU706 2509 .LBB722: 2510 .loc 2 414 3 view .LVU707 2511 0042 0123 movs r3, #1 2512 .syntax divided 2513 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2514 0044 83F31088 MSR primask, r3 2515 @ 0 "" 2 2516 .LVL172: 2517 .loc 2 414 3 is_stmt 0 view .LVU708 2518 .thumb 2519 .syntax unified 2520 .LBE722: 2521 .LBE721: 1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2522 .loc 1 1775 5 is_stmt 1 view .LVU709 2523 0048 2268 ldr r2, [r4] 2524 004a 9368 ldr r3, [r2, #8] 2525 004c 8020 movs r0, #128 ARM GAS /tmp/ccwvDHH5.s page 131 2526 004e 8343 bics r3, r0 2527 0050 9360 str r3, [r2, #8] 1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2528 .loc 1 1775 5 view .LVU710 2529 .LVL173: 2530 .LBB723: 2531 .LBI723: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2532 .loc 2 412 27 view .LVU711 2533 .LBB724: 2534 .loc 2 414 3 view .LVU712 2535 .syntax divided 2536 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2537 0052 81F31088 MSR primask, r1 2538 @ 0 "" 2 2539 .LVL174: 2540 .loc 2 414 3 is_stmt 0 view .LVU713 2541 .thumb 2542 .syntax unified 2543 .LBE724: 2544 .LBE723: 2545 .LBE718: 1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2546 .loc 1 1778 5 is_stmt 1 view .LVU714 1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2547 .loc 1 1778 14 is_stmt 0 view .LVU715 2548 0056 E36E ldr r3, [r4, #108] 1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2549 .loc 1 1778 8 view .LVU716 2550 0058 002B cmp r3, #0 2551 005a 06D0 beq .L75 1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2552 .loc 1 1782 7 is_stmt 1 view .LVU717 1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2553 .loc 1 1782 40 is_stmt 0 view .LVU718 2554 005c 0022 movs r2, #0 2555 005e 5A63 str r2, [r3, #52] 1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2556 .loc 1 1784 7 is_stmt 1 view .LVU719 1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2557 .loc 1 1784 11 is_stmt 0 view .LVU720 2558 0060 E06E ldr r0, [r4, #108] 2559 0062 FFF7FEFF bl HAL_DMA_Abort 2560 .LVL175: 1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2561 .loc 1 1784 10 view .LVU721 2562 0066 0028 cmp r0, #0 2563 0068 3AD1 bne .L79 2564 .L75: 1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2565 .loc 1 1798 3 is_stmt 1 view .LVU722 1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2566 .loc 1 1798 7 is_stmt 0 view .LVU723 2567 006a 2368 ldr r3, [r4] 2568 006c 9B68 ldr r3, [r3, #8] 1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2569 .loc 1 1798 6 view .LVU724 ARM GAS /tmp/ccwvDHH5.s page 132 2570 006e 5B06 lsls r3, r3, #25 2571 0070 15D5 bpl .L77 1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2572 .loc 1 1800 5 is_stmt 1 view .LVU725 2573 .LBB725: 1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2574 .loc 1 1800 5 view .LVU726 1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2575 .loc 1 1800 5 view .LVU727 2576 .LBB726: 2577 .LBI726: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2578 .loc 2 382 31 view .LVU728 2579 .LBB727: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 2580 .loc 2 384 3 view .LVU729 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2581 .loc 2 386 3 view .LVU730 2582 .syntax divided 2583 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2584 0072 EFF31081 MRS r1, primask 2585 @ 0 "" 2 2586 .LVL176: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2587 .loc 2 387 3 view .LVU731 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2588 .loc 2 387 3 is_stmt 0 view .LVU732 2589 .thumb 2590 .syntax unified 2591 .LBE727: 2592 .LBE726: 1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2593 .loc 1 1800 5 is_stmt 1 view .LVU733 2594 .LBB728: 2595 .LBI728: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2596 .loc 2 412 27 view .LVU734 2597 .LBB729: 2598 .loc 2 414 3 view .LVU735 2599 0076 0123 movs r3, #1 2600 .syntax divided 2601 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2602 0078 83F31088 MSR primask, r3 2603 @ 0 "" 2 2604 .LVL177: 2605 .loc 2 414 3 is_stmt 0 view .LVU736 2606 .thumb 2607 .syntax unified 2608 .LBE729: 2609 .LBE728: 1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2610 .loc 1 1800 5 is_stmt 1 view .LVU737 2611 007c 2268 ldr r2, [r4] 2612 007e 9368 ldr r3, [r2, #8] 2613 0080 4020 movs r0, #64 2614 0082 8343 bics r3, r0 2615 0084 9360 str r3, [r2, #8] ARM GAS /tmp/ccwvDHH5.s page 133 1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2616 .loc 1 1800 5 view .LVU738 2617 .LVL178: 2618 .LBB730: 2619 .LBI730: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2620 .loc 2 412 27 view .LVU739 2621 .LBB731: 2622 .loc 2 414 3 view .LVU740 2623 .syntax divided 2624 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2625 0086 81F31088 MSR primask, r1 2626 @ 0 "" 2 2627 .LVL179: 2628 .loc 2 414 3 is_stmt 0 view .LVU741 2629 .thumb 2630 .syntax unified 2631 .LBE731: 2632 .LBE730: 2633 .LBE725: 1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2634 .loc 1 1803 5 is_stmt 1 view .LVU742 1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2635 .loc 1 1803 14 is_stmt 0 view .LVU743 2636 008a 236F ldr r3, [r4, #112] 1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2637 .loc 1 1803 8 view .LVU744 2638 008c 002B cmp r3, #0 2639 008e 06D0 beq .L77 1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2640 .loc 1 1807 7 is_stmt 1 view .LVU745 1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2641 .loc 1 1807 40 is_stmt 0 view .LVU746 2642 0090 0022 movs r2, #0 2643 0092 5A63 str r2, [r3, #52] 1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2644 .loc 1 1809 7 is_stmt 1 view .LVU747 1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2645 .loc 1 1809 11 is_stmt 0 view .LVU748 2646 0094 206F ldr r0, [r4, #112] 2647 0096 FFF7FEFF bl HAL_DMA_Abort 2648 .LVL180: 1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2649 .loc 1 1809 10 view .LVU749 2650 009a 0028 cmp r0, #0 2651 009c 2AD1 bne .L80 2652 .L77: 1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 2653 .loc 1 1823 3 is_stmt 1 view .LVU750 1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 2654 .loc 1 1823 22 is_stmt 0 view .LVU751 2655 009e 0023 movs r3, #0 2656 00a0 5222 movs r2, #82 2657 00a2 A352 strh r3, [r4, r2] 1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2658 .loc 1 1824 3 is_stmt 1 view .LVU752 1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 134 2659 .loc 1 1824 22 is_stmt 0 view .LVU753 2660 00a4 0832 adds r2, r2, #8 2661 00a6 A352 strh r3, [r4, r2] 1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2662 .loc 1 1827 3 is_stmt 1 view .LVU754 2663 00a8 2268 ldr r2, [r4] 2664 00aa 0F21 movs r1, #15 2665 00ac 1162 str r1, [r2, #32] 1831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2666 .loc 1 1831 3 view .LVU755 2667 00ae 2168 ldr r1, [r4] 2668 00b0 8A69 ldr r2, [r1, #24] 2669 00b2 0820 movs r0, #8 2670 00b4 0243 orrs r2, r0 2671 00b6 8A61 str r2, [r1, #24] 1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2672 .loc 1 1834 3 view .LVU756 1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2673 .loc 1 1834 18 is_stmt 0 view .LVU757 2674 00b8 2022 movs r2, #32 2675 00ba A267 str r2, [r4, #120] 1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2676 .loc 1 1835 3 is_stmt 1 view .LVU758 1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2677 .loc 1 1835 18 is_stmt 0 view .LVU759 2678 00bc E267 str r2, [r4, #124] 1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2679 .loc 1 1836 3 is_stmt 1 view .LVU760 1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2680 .loc 1 1836 24 is_stmt 0 view .LVU761 2681 00be 2366 str r3, [r4, #96] 1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2682 .loc 1 1838 3 is_stmt 1 view .LVU762 1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2683 .loc 1 1838 20 is_stmt 0 view .LVU763 2684 00c0 6032 adds r2, r2, #96 2685 00c2 A350 str r3, [r4, r2] 1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2686 .loc 1 1840 3 is_stmt 1 view .LVU764 1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2687 .loc 1 1840 10 is_stmt 0 view .LVU765 2688 00c4 0020 movs r0, #0 2689 .L76: 1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2690 .loc 1 1841 1 view .LVU766 2691 @ sp needed 2692 .LVL181: 1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2693 .loc 1 1841 1 view .LVU767 2694 00c6 70BD pop {r4, r5, r6, pc} 2695 .LVL182: 2696 .L78: 1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2697 .loc 1 1769 5 is_stmt 1 view .LVU768 2698 .LBB732: 1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2699 .loc 1 1769 5 view .LVU769 ARM GAS /tmp/ccwvDHH5.s page 135 1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2700 .loc 1 1769 5 view .LVU770 2701 .LBB733: 2702 .LBI733: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2703 .loc 2 382 31 view .LVU771 2704 .LBB734: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 2705 .loc 2 384 3 view .LVU772 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2706 .loc 2 386 3 view .LVU773 2707 .syntax divided 2708 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2709 00c8 EFF31081 MRS r1, primask 2710 @ 0 "" 2 2711 .LVL183: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2712 .loc 2 387 3 view .LVU774 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2713 .loc 2 387 3 is_stmt 0 view .LVU775 2714 .thumb 2715 .syntax unified 2716 .LBE734: 2717 .LBE733: 1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2718 .loc 1 1769 5 is_stmt 1 view .LVU776 2719 .LBB735: 2720 .LBI735: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2721 .loc 2 412 27 view .LVU777 2722 .LBB736: 2723 .loc 2 414 3 view .LVU778 2724 .syntax divided 2725 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2726 00cc 83F31088 MSR primask, r3 2727 @ 0 "" 2 2728 .LVL184: 2729 .loc 2 414 3 is_stmt 0 view .LVU779 2730 .thumb 2731 .syntax unified 2732 .LBE736: 2733 .LBE735: 1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2734 .loc 1 1769 5 is_stmt 1 view .LVU780 2735 00d0 2268 ldr r2, [r4] 2736 00d2 1368 ldr r3, [r2] 2737 00d4 1020 movs r0, #16 2738 .LVL185: 1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2739 .loc 1 1769 5 is_stmt 0 view .LVU781 2740 00d6 8343 bics r3, r0 2741 00d8 1360 str r3, [r2] 1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2742 .loc 1 1769 5 is_stmt 1 view .LVU782 2743 .LVL186: 2744 .LBB737: 2745 .LBI737: ARM GAS /tmp/ccwvDHH5.s page 136 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2746 .loc 2 412 27 view .LVU783 2747 .LBB738: 2748 .loc 2 414 3 view .LVU784 2749 .syntax divided 2750 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2751 00da 81F31088 MSR primask, r1 2752 @ 0 "" 2 2753 .thumb 2754 .syntax unified 2755 00de AAE7 b .L74 2756 .LVL187: 2757 .L79: 2758 .loc 2 414 3 is_stmt 0 view .LVU785 2759 .LBE738: 2760 .LBE737: 2761 .LBE732: 1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2762 .loc 1 1786 9 is_stmt 1 view .LVU786 1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2763 .loc 1 1786 13 is_stmt 0 view .LVU787 2764 00e0 E06E ldr r0, [r4, #108] 2765 00e2 FFF7FEFF bl HAL_DMA_GetError 2766 .LVL188: 1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2767 .loc 1 1786 12 view .LVU788 2768 00e6 2028 cmp r0, #32 2769 00e8 BFD1 bne .L75 1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2770 .loc 1 1789 11 is_stmt 1 view .LVU789 1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2771 .loc 1 1789 28 is_stmt 0 view .LVU790 2772 00ea 8023 movs r3, #128 2773 00ec 1022 movs r2, #16 2774 00ee E250 str r2, [r4, r3] 1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2775 .loc 1 1791 11 is_stmt 1 view .LVU791 1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2776 .loc 1 1791 18 is_stmt 0 view .LVU792 2777 00f0 1D38 subs r0, r0, #29 2778 00f2 E8E7 b .L76 2779 .L80: 1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2780 .loc 1 1811 9 is_stmt 1 view .LVU793 1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2781 .loc 1 1811 13 is_stmt 0 view .LVU794 2782 00f4 206F ldr r0, [r4, #112] 2783 00f6 FFF7FEFF bl HAL_DMA_GetError 2784 .LVL189: 1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2785 .loc 1 1811 12 view .LVU795 2786 00fa 2028 cmp r0, #32 2787 00fc CFD1 bne .L77 1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2788 .loc 1 1814 11 is_stmt 1 view .LVU796 1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2789 .loc 1 1814 28 is_stmt 0 view .LVU797 ARM GAS /tmp/ccwvDHH5.s page 137 2790 00fe 8023 movs r3, #128 2791 0100 1022 movs r2, #16 2792 0102 E250 str r2, [r4, r3] 1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2793 .loc 1 1816 11 is_stmt 1 view .LVU798 1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2794 .loc 1 1816 18 is_stmt 0 view .LVU799 2795 0104 1D38 subs r0, r0, #29 2796 0106 DEE7 b .L76 2797 .L82: 2798 .align 2 2799 .L81: 2800 0108 1FFEFFFF .word -481 2801 .cfi_endproc 2802 .LFE56: 2804 .section .text.HAL_UART_AbortTransmit,"ax",%progbits 2805 .align 1 2806 .global HAL_UART_AbortTransmit 2807 .syntax unified 2808 .code 16 2809 .thumb_func 2810 .fpu softvfp 2812 HAL_UART_AbortTransmit: 2813 .LVL190: 2814 .LFB57: 1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 2815 .loc 1 1856 1 is_stmt 1 view -0 2816 .cfi_startproc 2817 @ args = 0, pretend = 0, frame = 0 2818 @ frame_needed = 0, uses_anonymous_args = 0 1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 2819 .loc 1 1856 1 is_stmt 0 view .LVU801 2820 0000 10B5 push {r4, lr} 2821 .LCFI11: 2822 .cfi_def_cfa_offset 8 2823 .cfi_offset 4, -8 2824 .cfi_offset 14, -4 2825 0002 0400 movs r4, r0 1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2826 .loc 1 1858 3 is_stmt 1 view .LVU802 2827 .LBB739: 1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2828 .loc 1 1858 3 view .LVU803 1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2829 .loc 1 1858 3 view .LVU804 2830 .LBB740: 2831 .LBI740: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2832 .loc 2 382 31 view .LVU805 2833 .LBB741: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 2834 .loc 2 384 3 view .LVU806 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2835 .loc 2 386 3 view .LVU807 2836 .syntax divided 2837 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2838 0004 EFF31081 MRS r1, primask ARM GAS /tmp/ccwvDHH5.s page 138 2839 @ 0 "" 2 2840 .LVL191: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2841 .loc 2 387 3 view .LVU808 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2842 .loc 2 387 3 is_stmt 0 view .LVU809 2843 .thumb 2844 .syntax unified 2845 .LBE741: 2846 .LBE740: 1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2847 .loc 1 1858 3 is_stmt 1 view .LVU810 2848 .LBB742: 2849 .LBI742: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2850 .loc 2 412 27 view .LVU811 2851 .LBB743: 2852 .loc 2 414 3 view .LVU812 2853 0008 0123 movs r3, #1 2854 .syntax divided 2855 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2856 000a 83F31088 MSR primask, r3 2857 @ 0 "" 2 2858 .LVL192: 2859 .loc 2 414 3 is_stmt 0 view .LVU813 2860 .thumb 2861 .syntax unified 2862 .LBE743: 2863 .LBE742: 1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2864 .loc 1 1858 3 is_stmt 1 view .LVU814 2865 000e 0268 ldr r2, [r0] 2866 0010 1368 ldr r3, [r2] 2867 0012 C020 movs r0, #192 2868 .LVL193: 1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2869 .loc 1 1858 3 is_stmt 0 view .LVU815 2870 0014 8343 bics r3, r0 2871 0016 1360 str r3, [r2] 1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2872 .loc 1 1858 3 is_stmt 1 view .LVU816 2873 .LVL194: 2874 .LBB744: 2875 .LBI744: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2876 .loc 2 412 27 view .LVU817 2877 .LBB745: 2878 .loc 2 414 3 view .LVU818 2879 .syntax divided 2880 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2881 0018 81F31088 MSR primask, r1 2882 @ 0 "" 2 2883 .LVL195: 2884 .loc 2 414 3 is_stmt 0 view .LVU819 2885 .thumb 2886 .syntax unified 2887 .LBE745: ARM GAS /tmp/ccwvDHH5.s page 139 2888 .LBE744: 2889 .LBE739: 1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2890 .loc 1 1861 3 is_stmt 1 view .LVU820 1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2891 .loc 1 1861 7 is_stmt 0 view .LVU821 2892 001c 2368 ldr r3, [r4] 2893 001e 9B68 ldr r3, [r3, #8] 1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2894 .loc 1 1861 6 view .LVU822 2895 0020 1B06 lsls r3, r3, #24 2896 0022 15D5 bpl .L84 1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2897 .loc 1 1863 5 is_stmt 1 view .LVU823 2898 .LBB746: 1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2899 .loc 1 1863 5 view .LVU824 1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2900 .loc 1 1863 5 view .LVU825 2901 .LBB747: 2902 .LBI747: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2903 .loc 2 382 31 view .LVU826 2904 .LBB748: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 2905 .loc 2 384 3 view .LVU827 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2906 .loc 2 386 3 view .LVU828 2907 .syntax divided 2908 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2909 0024 EFF31081 MRS r1, primask 2910 @ 0 "" 2 2911 .LVL196: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2912 .loc 2 387 3 view .LVU829 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2913 .loc 2 387 3 is_stmt 0 view .LVU830 2914 .thumb 2915 .syntax unified 2916 .LBE748: 2917 .LBE747: 1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2918 .loc 1 1863 5 is_stmt 1 view .LVU831 2919 .LBB749: 2920 .LBI749: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2921 .loc 2 412 27 view .LVU832 2922 .LBB750: 2923 .loc 2 414 3 view .LVU833 2924 0028 0123 movs r3, #1 2925 .syntax divided 2926 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2927 002a 83F31088 MSR primask, r3 2928 @ 0 "" 2 2929 .LVL197: 2930 .loc 2 414 3 is_stmt 0 view .LVU834 2931 .thumb ARM GAS /tmp/ccwvDHH5.s page 140 2932 .syntax unified 2933 .LBE750: 2934 .LBE749: 1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2935 .loc 1 1863 5 is_stmt 1 view .LVU835 2936 002e 2268 ldr r2, [r4] 2937 0030 9368 ldr r3, [r2, #8] 2938 0032 4038 subs r0, r0, #64 2939 0034 8343 bics r3, r0 2940 0036 9360 str r3, [r2, #8] 1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2941 .loc 1 1863 5 view .LVU836 2942 .LVL198: 2943 .LBB751: 2944 .LBI751: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2945 .loc 2 412 27 view .LVU837 2946 .LBB752: 2947 .loc 2 414 3 view .LVU838 2948 .syntax divided 2949 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2950 0038 81F31088 MSR primask, r1 2951 @ 0 "" 2 2952 .LVL199: 2953 .loc 2 414 3 is_stmt 0 view .LVU839 2954 .thumb 2955 .syntax unified 2956 .LBE752: 2957 .LBE751: 2958 .LBE746: 1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2959 .loc 1 1866 5 is_stmt 1 view .LVU840 1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2960 .loc 1 1866 14 is_stmt 0 view .LVU841 2961 003c E36E ldr r3, [r4, #108] 1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2962 .loc 1 1866 8 view .LVU842 2963 003e 002B cmp r3, #0 2964 0040 06D0 beq .L84 1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2965 .loc 1 1870 7 is_stmt 1 view .LVU843 1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2966 .loc 1 1870 40 is_stmt 0 view .LVU844 2967 0042 0022 movs r2, #0 2968 0044 5A63 str r2, [r3, #52] 1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2969 .loc 1 1872 7 is_stmt 1 view .LVU845 1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2970 .loc 1 1872 11 is_stmt 0 view .LVU846 2971 0046 E06E ldr r0, [r4, #108] 2972 0048 FFF7FEFF bl HAL_DMA_Abort 2973 .LVL200: 1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2974 .loc 1 1872 10 view .LVU847 2975 004c 0028 cmp r0, #0 2976 004e 06D1 bne .L86 2977 .L84: ARM GAS /tmp/ccwvDHH5.s page 141 1886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2978 .loc 1 1886 3 is_stmt 1 view .LVU848 1886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2979 .loc 1 1886 22 is_stmt 0 view .LVU849 2980 0050 5223 movs r3, #82 2981 0052 0022 movs r2, #0 2982 0054 E252 strh r2, [r4, r3] 1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2983 .loc 1 1890 3 is_stmt 1 view .LVU850 1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2984 .loc 1 1890 17 is_stmt 0 view .LVU851 2985 0056 323B subs r3, r3, #50 2986 0058 A367 str r3, [r4, #120] 1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2987 .loc 1 1892 3 is_stmt 1 view .LVU852 1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 2988 .loc 1 1892 10 is_stmt 0 view .LVU853 2989 005a 0020 movs r0, #0 2990 .L85: 1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2991 .loc 1 1893 1 view .LVU854 2992 @ sp needed 2993 .LVL201: 1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 2994 .loc 1 1893 1 view .LVU855 2995 005c 10BD pop {r4, pc} 2996 .LVL202: 2997 .L86: 1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2998 .loc 1 1874 9 is_stmt 1 view .LVU856 1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 2999 .loc 1 1874 13 is_stmt 0 view .LVU857 3000 005e E06E ldr r0, [r4, #108] 3001 0060 FFF7FEFF bl HAL_DMA_GetError 3002 .LVL203: 1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3003 .loc 1 1874 12 view .LVU858 3004 0064 2028 cmp r0, #32 3005 0066 F3D1 bne .L84 1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3006 .loc 1 1877 11 is_stmt 1 view .LVU859 1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3007 .loc 1 1877 28 is_stmt 0 view .LVU860 3008 0068 8023 movs r3, #128 3009 006a 1022 movs r2, #16 3010 006c E250 str r2, [r4, r3] 1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3011 .loc 1 1879 11 is_stmt 1 view .LVU861 1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3012 .loc 1 1879 18 is_stmt 0 view .LVU862 3013 006e 1D38 subs r0, r0, #29 3014 0070 F4E7 b .L85 3015 .cfi_endproc 3016 .LFE57: 3018 .section .text.HAL_UART_AbortReceive,"ax",%progbits 3019 .align 1 3020 .global HAL_UART_AbortReceive ARM GAS /tmp/ccwvDHH5.s page 142 3021 .syntax unified 3022 .code 16 3023 .thumb_func 3024 .fpu softvfp 3026 HAL_UART_AbortReceive: 3027 .LVL204: 3028 .LFB58: 1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 3029 .loc 1 1908 1 is_stmt 1 view -0 3030 .cfi_startproc 3031 @ args = 0, pretend = 0, frame = 0 3032 @ frame_needed = 0, uses_anonymous_args = 0 1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 3033 .loc 1 1908 1 is_stmt 0 view .LVU864 3034 0000 70B5 push {r4, r5, r6, lr} 3035 .LCFI12: 3036 .cfi_def_cfa_offset 16 3037 .cfi_offset 4, -16 3038 .cfi_offset 5, -12 3039 .cfi_offset 6, -8 3040 .cfi_offset 14, -4 3041 0002 0400 movs r4, r0 1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3042 .loc 1 1910 3 is_stmt 1 view .LVU865 3043 .LBB753: 1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3044 .loc 1 1910 3 view .LVU866 1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3045 .loc 1 1910 3 view .LVU867 3046 .LBB754: 3047 .LBI754: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3048 .loc 2 382 31 view .LVU868 3049 .LBB755: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 3050 .loc 2 384 3 view .LVU869 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3051 .loc 2 386 3 view .LVU870 3052 .syntax divided 3053 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3054 0004 EFF31080 MRS r0, primask 3055 @ 0 "" 2 3056 .LVL205: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3057 .loc 2 387 3 view .LVU871 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3058 .loc 2 387 3 is_stmt 0 view .LVU872 3059 .thumb 3060 .syntax unified 3061 .LBE755: 3062 .LBE754: 1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3063 .loc 1 1910 3 is_stmt 1 view .LVU873 3064 .LBB756: 3065 .LBI756: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3066 .loc 2 412 27 view .LVU874 ARM GAS /tmp/ccwvDHH5.s page 143 3067 .LBB757: 3068 .loc 2 414 3 view .LVU875 3069 0008 0122 movs r2, #1 3070 .syntax divided 3071 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3072 000a 82F31088 MSR primask, r2 3073 @ 0 "" 2 3074 .LVL206: 3075 .loc 2 414 3 is_stmt 0 view .LVU876 3076 .thumb 3077 .syntax unified 3078 .LBE757: 3079 .LBE756: 1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3080 .loc 1 1910 3 is_stmt 1 view .LVU877 3081 000e 2168 ldr r1, [r4] 3082 0010 0B68 ldr r3, [r1] 3083 0012 294D ldr r5, .L93 3084 0014 2B40 ands r3, r5 3085 0016 0B60 str r3, [r1] 1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3086 .loc 1 1910 3 view .LVU878 3087 .LVL207: 3088 .LBB758: 3089 .LBI758: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3090 .loc 2 412 27 view .LVU879 3091 .LBB759: 3092 .loc 2 414 3 view .LVU880 3093 .syntax divided 3094 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3095 0018 80F31088 MSR primask, r0 3096 @ 0 "" 2 3097 .LVL208: 3098 .loc 2 414 3 is_stmt 0 view .LVU881 3099 .thumb 3100 .syntax unified 3101 .LBE759: 3102 .LBE758: 3103 .LBE753: 1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3104 .loc 1 1911 3 is_stmt 1 view .LVU882 3105 .LBB760: 1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3106 .loc 1 1911 3 view .LVU883 1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3107 .loc 1 1911 3 view .LVU884 3108 .LBB761: 3109 .LBI761: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3110 .loc 2 382 31 view .LVU885 3111 .LBB762: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 3112 .loc 2 384 3 view .LVU886 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3113 .loc 2 386 3 view .LVU887 3114 .syntax divided ARM GAS /tmp/ccwvDHH5.s page 144 3115 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3116 001c EFF31080 MRS r0, primask 3117 @ 0 "" 2 3118 .LVL209: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3119 .loc 2 387 3 view .LVU888 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3120 .loc 2 387 3 is_stmt 0 view .LVU889 3121 .thumb 3122 .syntax unified 3123 .LBE762: 3124 .LBE761: 1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3125 .loc 1 1911 3 is_stmt 1 view .LVU890 3126 .LBB763: 3127 .LBI763: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3128 .loc 2 412 27 view .LVU891 3129 .LBB764: 3130 .loc 2 414 3 view .LVU892 3131 .syntax divided 3132 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3133 0020 82F31088 MSR primask, r2 3134 @ 0 "" 2 3135 .LVL210: 3136 .loc 2 414 3 is_stmt 0 view .LVU893 3137 .thumb 3138 .syntax unified 3139 .LBE764: 3140 .LBE763: 1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3141 .loc 1 1911 3 is_stmt 1 view .LVU894 3142 0024 2168 ldr r1, [r4] 3143 0026 8B68 ldr r3, [r1, #8] 3144 0028 9343 bics r3, r2 3145 002a 8B60 str r3, [r1, #8] 1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3146 .loc 1 1911 3 view .LVU895 3147 .LVL211: 3148 .LBB765: 3149 .LBI765: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3150 .loc 2 412 27 view .LVU896 3151 .LBB766: 3152 .loc 2 414 3 view .LVU897 3153 .syntax divided 3154 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3155 002c 80F31088 MSR primask, r0 3156 @ 0 "" 2 3157 .LVL212: 3158 .loc 2 414 3 is_stmt 0 view .LVU898 3159 .thumb 3160 .syntax unified 3161 .LBE766: 3162 .LBE765: 3163 .LBE760: 1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 145 3164 .loc 1 1914 3 is_stmt 1 view .LVU899 1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3165 .loc 1 1914 12 is_stmt 0 view .LVU900 3166 0030 236E ldr r3, [r4, #96] 1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3167 .loc 1 1914 6 view .LVU901 3168 0032 012B cmp r3, #1 3169 0034 29D0 beq .L91 3170 .LVL213: 3171 .L88: 1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3172 .loc 1 1920 3 is_stmt 1 view .LVU902 1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3173 .loc 1 1920 7 is_stmt 0 view .LVU903 3174 0036 2368 ldr r3, [r4] 3175 0038 9B68 ldr r3, [r3, #8] 1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3176 .loc 1 1920 6 view .LVU904 3177 003a 5B06 lsls r3, r3, #25 3178 003c 15D5 bpl .L89 1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3179 .loc 1 1922 5 is_stmt 1 view .LVU905 3180 .LBB767: 1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3181 .loc 1 1922 5 view .LVU906 1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3182 .loc 1 1922 5 view .LVU907 3183 .LBB768: 3184 .LBI768: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3185 .loc 2 382 31 view .LVU908 3186 .LBB769: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 3187 .loc 2 384 3 view .LVU909 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3188 .loc 2 386 3 view .LVU910 3189 .syntax divided 3190 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3191 003e EFF31081 MRS r1, primask 3192 @ 0 "" 2 3193 .LVL214: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3194 .loc 2 387 3 view .LVU911 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3195 .loc 2 387 3 is_stmt 0 view .LVU912 3196 .thumb 3197 .syntax unified 3198 .LBE769: 3199 .LBE768: 1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3200 .loc 1 1922 5 is_stmt 1 view .LVU913 3201 .LBB770: 3202 .LBI770: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3203 .loc 2 412 27 view .LVU914 3204 .LBB771: 3205 .loc 2 414 3 view .LVU915 ARM GAS /tmp/ccwvDHH5.s page 146 3206 0042 0123 movs r3, #1 3207 .syntax divided 3208 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3209 0044 83F31088 MSR primask, r3 3210 @ 0 "" 2 3211 .LVL215: 3212 .loc 2 414 3 is_stmt 0 view .LVU916 3213 .thumb 3214 .syntax unified 3215 .LBE771: 3216 .LBE770: 1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3217 .loc 1 1922 5 is_stmt 1 view .LVU917 3218 0048 2268 ldr r2, [r4] 3219 004a 9368 ldr r3, [r2, #8] 3220 004c 4020 movs r0, #64 3221 004e 8343 bics r3, r0 3222 0050 9360 str r3, [r2, #8] 1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3223 .loc 1 1922 5 view .LVU918 3224 .LVL216: 3225 .LBB772: 3226 .LBI772: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3227 .loc 2 412 27 view .LVU919 3228 .LBB773: 3229 .loc 2 414 3 view .LVU920 3230 .syntax divided 3231 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3232 0052 81F31088 MSR primask, r1 3233 @ 0 "" 2 3234 .LVL217: 3235 .loc 2 414 3 is_stmt 0 view .LVU921 3236 .thumb 3237 .syntax unified 3238 .LBE773: 3239 .LBE772: 3240 .LBE767: 1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3241 .loc 1 1925 5 is_stmt 1 view .LVU922 1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3242 .loc 1 1925 14 is_stmt 0 view .LVU923 3243 0056 236F ldr r3, [r4, #112] 1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3244 .loc 1 1925 8 view .LVU924 3245 0058 002B cmp r3, #0 3246 005a 06D0 beq .L89 1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3247 .loc 1 1929 7 is_stmt 1 view .LVU925 1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3248 .loc 1 1929 40 is_stmt 0 view .LVU926 3249 005c 0022 movs r2, #0 3250 005e 5A63 str r2, [r3, #52] 1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3251 .loc 1 1931 7 is_stmt 1 view .LVU927 1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3252 .loc 1 1931 11 is_stmt 0 view .LVU928 ARM GAS /tmp/ccwvDHH5.s page 147 3253 0060 206F ldr r0, [r4, #112] 3254 0062 FFF7FEFF bl HAL_DMA_Abort 3255 .LVL218: 1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3256 .loc 1 1931 10 view .LVU929 3257 0066 0028 cmp r0, #0 3258 0068 1BD1 bne .L92 3259 .L89: 1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3260 .loc 1 1945 3 is_stmt 1 view .LVU930 1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3261 .loc 1 1945 22 is_stmt 0 view .LVU931 3262 006a 0022 movs r2, #0 3263 006c 5A23 movs r3, #90 3264 006e E252 strh r2, [r4, r3] 1948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3265 .loc 1 1948 3 is_stmt 1 view .LVU932 3266 0070 2368 ldr r3, [r4] 3267 0072 0F21 movs r1, #15 3268 0074 1962 str r1, [r3, #32] 1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3269 .loc 1 1951 3 view .LVU933 3270 0076 2168 ldr r1, [r4] 3271 0078 8B69 ldr r3, [r1, #24] 3272 007a 0820 movs r0, #8 3273 007c 0343 orrs r3, r0 3274 007e 8B61 str r3, [r1, #24] 1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3275 .loc 1 1954 3 view .LVU934 1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3276 .loc 1 1954 18 is_stmt 0 view .LVU935 3277 0080 2023 movs r3, #32 3278 0082 E367 str r3, [r4, #124] 1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3279 .loc 1 1955 3 is_stmt 1 view .LVU936 1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3280 .loc 1 1955 24 is_stmt 0 view .LVU937 3281 0084 2266 str r2, [r4, #96] 1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3282 .loc 1 1957 3 is_stmt 1 view .LVU938 1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3283 .loc 1 1957 10 is_stmt 0 view .LVU939 3284 0086 0020 movs r0, #0 3285 .L90: 1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3286 .loc 1 1958 1 view .LVU940 3287 @ sp needed 3288 .LVL219: 1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3289 .loc 1 1958 1 view .LVU941 3290 0088 70BD pop {r4, r5, r6, pc} 3291 .LVL220: 3292 .L91: 1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3293 .loc 1 1916 5 is_stmt 1 view .LVU942 3294 .LBB774: 1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } ARM GAS /tmp/ccwvDHH5.s page 148 3295 .loc 1 1916 5 view .LVU943 1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3296 .loc 1 1916 5 view .LVU944 3297 .LBB775: 3298 .LBI775: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3299 .loc 2 382 31 view .LVU945 3300 .LBB776: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 3301 .loc 2 384 3 view .LVU946 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3302 .loc 2 386 3 view .LVU947 3303 .syntax divided 3304 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3305 008a EFF31081 MRS r1, primask 3306 @ 0 "" 2 3307 .LVL221: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3308 .loc 2 387 3 view .LVU948 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3309 .loc 2 387 3 is_stmt 0 view .LVU949 3310 .thumb 3311 .syntax unified 3312 .LBE776: 3313 .LBE775: 1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3314 .loc 1 1916 5 is_stmt 1 view .LVU950 3315 .LBB777: 3316 .LBI777: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3317 .loc 2 412 27 view .LVU951 3318 .LBB778: 3319 .loc 2 414 3 view .LVU952 3320 .syntax divided 3321 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3322 008e 83F31088 MSR primask, r3 3323 @ 0 "" 2 3324 .LVL222: 3325 .loc 2 414 3 is_stmt 0 view .LVU953 3326 .thumb 3327 .syntax unified 3328 .LBE778: 3329 .LBE777: 1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3330 .loc 1 1916 5 is_stmt 1 view .LVU954 3331 0092 2268 ldr r2, [r4] 3332 0094 1368 ldr r3, [r2] 3333 0096 1020 movs r0, #16 3334 .LVL223: 1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3335 .loc 1 1916 5 is_stmt 0 view .LVU955 3336 0098 8343 bics r3, r0 3337 009a 1360 str r3, [r2] 1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3338 .loc 1 1916 5 is_stmt 1 view .LVU956 3339 .LVL224: 3340 .LBB779: ARM GAS /tmp/ccwvDHH5.s page 149 3341 .LBI779: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3342 .loc 2 412 27 view .LVU957 3343 .LBB780: 3344 .loc 2 414 3 view .LVU958 3345 .syntax divided 3346 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3347 009c 81F31088 MSR primask, r1 3348 @ 0 "" 2 3349 .thumb 3350 .syntax unified 3351 00a0 C9E7 b .L88 3352 .LVL225: 3353 .L92: 3354 .loc 2 414 3 is_stmt 0 view .LVU959 3355 .LBE780: 3356 .LBE779: 3357 .LBE774: 1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3358 .loc 1 1933 9 is_stmt 1 view .LVU960 1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3359 .loc 1 1933 13 is_stmt 0 view .LVU961 3360 00a2 206F ldr r0, [r4, #112] 3361 00a4 FFF7FEFF bl HAL_DMA_GetError 3362 .LVL226: 1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3363 .loc 1 1933 12 view .LVU962 3364 00a8 2028 cmp r0, #32 3365 00aa DED1 bne .L89 1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3366 .loc 1 1936 11 is_stmt 1 view .LVU963 1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3367 .loc 1 1936 28 is_stmt 0 view .LVU964 3368 00ac 8023 movs r3, #128 3369 00ae 1022 movs r2, #16 3370 00b0 E250 str r2, [r4, r3] 1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3371 .loc 1 1938 11 is_stmt 1 view .LVU965 1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3372 .loc 1 1938 18 is_stmt 0 view .LVU966 3373 00b2 1D38 subs r0, r0, #29 3374 00b4 E8E7 b .L90 3375 .L94: 3376 00b6 C046 .align 2 3377 .L93: 3378 00b8 DFFEFFFF .word -289 3379 .cfi_endproc 3380 .LFE58: 3382 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits 3383 .align 1 3384 .weak HAL_UART_TxCpltCallback 3385 .syntax unified 3386 .code 16 3387 .thumb_func 3388 .fpu softvfp 3390 HAL_UART_TxCpltCallback: 3391 .LVL227: ARM GAS /tmp/ccwvDHH5.s page 150 3392 .LFB63: 2592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3393 .loc 1 2592 1 is_stmt 1 view -0 3394 .cfi_startproc 3395 @ args = 0, pretend = 0, frame = 0 3396 @ frame_needed = 0, uses_anonymous_args = 0 3397 @ link register save eliminated. 2594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3398 .loc 1 2594 3 view .LVU968 2599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3399 .loc 1 2599 1 is_stmt 0 view .LVU969 3400 @ sp needed 3401 0000 7047 bx lr 3402 .cfi_endproc 3403 .LFE63: 3405 .section .text.UART_DMATransmitCplt,"ax",%progbits 3406 .align 1 3407 .syntax unified 3408 .code 16 3409 .thumb_func 3410 .fpu softvfp 3412 UART_DMATransmitCplt: 3413 .LVL228: 3414 .LFB91: 3511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3415 .loc 1 3511 1 is_stmt 1 view -0 3416 .cfi_startproc 3417 @ args = 0, pretend = 0, frame = 0 3418 @ frame_needed = 0, uses_anonymous_args = 0 3511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3419 .loc 1 3511 1 is_stmt 0 view .LVU971 3420 0000 70B5 push {r4, r5, r6, lr} 3421 .LCFI13: 3422 .cfi_def_cfa_offset 16 3423 .cfi_offset 4, -16 3424 .cfi_offset 5, -12 3425 .cfi_offset 6, -8 3426 .cfi_offset 14, -4 3512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3427 .loc 1 3512 3 is_stmt 1 view .LVU972 3512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3428 .loc 1 3512 23 is_stmt 0 view .LVU973 3429 0002 436A ldr r3, [r0, #36] 3430 .LVL229: 3515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3431 .loc 1 3515 3 is_stmt 1 view .LVU974 3515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3432 .loc 1 3515 17 is_stmt 0 view .LVU975 3433 0004 8269 ldr r2, [r0, #24] 3515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3434 .loc 1 3515 6 view .LVU976 3435 0006 202A cmp r2, #32 3436 0008 1AD0 beq .L97 3517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3437 .loc 1 3517 5 is_stmt 1 view .LVU977 3517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3438 .loc 1 3517 24 is_stmt 0 view .LVU978 ARM GAS /tmp/ccwvDHH5.s page 151 3439 000a 5222 movs r2, #82 3440 000c 0021 movs r1, #0 3441 000e 9952 strh r1, [r3, r2] 3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3442 .loc 1 3521 5 is_stmt 1 view .LVU979 3443 .LBB781: 3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3444 .loc 1 3521 5 view .LVU980 3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3445 .loc 1 3521 5 view .LVU981 3446 .LBB782: 3447 .LBI782: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3448 .loc 2 382 31 view .LVU982 3449 .LBB783: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 3450 .loc 2 384 3 view .LVU983 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3451 .loc 2 386 3 view .LVU984 3452 .syntax divided 3453 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3454 0010 EFF31084 MRS r4, primask 3455 @ 0 "" 2 3456 .LVL230: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3457 .loc 2 387 3 view .LVU985 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3458 .loc 2 387 3 is_stmt 0 view .LVU986 3459 .thumb 3460 .syntax unified 3461 .LBE783: 3462 .LBE782: 3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3463 .loc 1 3521 5 is_stmt 1 view .LVU987 3464 .LBB784: 3465 .LBI784: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3466 .loc 2 412 27 view .LVU988 3467 .LBB785: 3468 .loc 2 414 3 view .LVU989 3469 0014 0131 adds r1, r1, #1 3470 .syntax divided 3471 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3472 0016 81F31088 MSR primask, r1 3473 @ 0 "" 2 3474 .LVL231: 3475 .loc 2 414 3 is_stmt 0 view .LVU990 3476 .thumb 3477 .syntax unified 3478 .LBE785: 3479 .LBE784: 3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3480 .loc 1 3521 5 is_stmt 1 view .LVU991 3481 001a 1868 ldr r0, [r3] 3482 .LVL232: 3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3483 .loc 1 3521 5 is_stmt 0 view .LVU992 ARM GAS /tmp/ccwvDHH5.s page 152 3484 001c 8268 ldr r2, [r0, #8] 3485 001e 8025 movs r5, #128 3486 0020 AA43 bics r2, r5 3487 0022 8260 str r2, [r0, #8] 3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3488 .loc 1 3521 5 is_stmt 1 view .LVU993 3489 .LVL233: 3490 .LBB786: 3491 .LBI786: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3492 .loc 2 412 27 view .LVU994 3493 .LBB787: 3494 .loc 2 414 3 view .LVU995 3495 .syntax divided 3496 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3497 0024 84F31088 MSR primask, r4 3498 @ 0 "" 2 3499 .LVL234: 3500 .loc 2 414 3 is_stmt 0 view .LVU996 3501 .thumb 3502 .syntax unified 3503 .LBE787: 3504 .LBE786: 3505 .LBE781: 3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3506 .loc 1 3524 5 is_stmt 1 view .LVU997 3507 .LBB788: 3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3508 .loc 1 3524 5 view .LVU998 3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3509 .loc 1 3524 5 view .LVU999 3510 .LBB789: 3511 .LBI789: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3512 .loc 2 382 31 view .LVU1000 3513 .LBB790: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 3514 .loc 2 384 3 view .LVU1001 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3515 .loc 2 386 3 view .LVU1002 3516 .syntax divided 3517 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3518 0028 EFF31080 MRS r0, primask 3519 @ 0 "" 2 3520 .LVL235: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3521 .loc 2 387 3 view .LVU1003 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3522 .loc 2 387 3 is_stmt 0 view .LVU1004 3523 .thumb 3524 .syntax unified 3525 .LBE790: 3526 .LBE789: 3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3527 .loc 1 3524 5 is_stmt 1 view .LVU1005 3528 .LBB791: 3529 .LBI791: ARM GAS /tmp/ccwvDHH5.s page 153 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3530 .loc 2 412 27 view .LVU1006 3531 .LBB792: 3532 .loc 2 414 3 view .LVU1007 3533 .syntax divided 3534 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3535 002c 81F31088 MSR primask, r1 3536 @ 0 "" 2 3537 .LVL236: 3538 .loc 2 414 3 is_stmt 0 view .LVU1008 3539 .thumb 3540 .syntax unified 3541 .LBE792: 3542 .LBE791: 3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3543 .loc 1 3524 5 is_stmt 1 view .LVU1009 3544 0030 1A68 ldr r2, [r3] 3545 0032 1368 ldr r3, [r2] 3546 .LVL237: 3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3547 .loc 1 3524 5 is_stmt 0 view .LVU1010 3548 0034 3F31 adds r1, r1, #63 3549 0036 0B43 orrs r3, r1 3550 0038 1360 str r3, [r2] 3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3551 .loc 1 3524 5 is_stmt 1 view .LVU1011 3552 .LVL238: 3553 .LBB793: 3554 .LBI793: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3555 .loc 2 412 27 view .LVU1012 3556 .LBB794: 3557 .loc 2 414 3 view .LVU1013 3558 .syntax divided 3559 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3560 003a 80F31088 MSR primask, r0 3561 @ 0 "" 2 3562 .LVL239: 3563 .thumb 3564 .syntax unified 3565 .L96: 3566 .loc 2 414 3 is_stmt 0 view .LVU1014 3567 .LBE794: 3568 .LBE793: 3569 .LBE788: 3537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3570 .loc 1 3537 1 view .LVU1015 3571 @ sp needed 3572 003e 70BD pop {r4, r5, r6, pc} 3573 .LVL240: 3574 .L97: 3534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3575 .loc 1 3534 5 is_stmt 1 view .LVU1016 3576 0040 1800 movs r0, r3 3577 .LVL241: 3534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3578 .loc 1 3534 5 is_stmt 0 view .LVU1017 ARM GAS /tmp/ccwvDHH5.s page 154 3579 0042 FFF7FEFF bl HAL_UART_TxCpltCallback 3580 .LVL242: 3537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3581 .loc 1 3537 1 view .LVU1018 3582 0046 FAE7 b .L96 3583 .cfi_endproc 3584 .LFE91: 3586 .section .text.UART_EndTransmit_IT,"ax",%progbits 3587 .align 1 3588 .syntax unified 3589 .code 16 3590 .thumb_func 3591 .fpu softvfp 3593 UART_EndTransmit_IT: 3594 .LVL243: 3595 .LFB103: 3932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Wrap up transmission in non-blocking mode. 3936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart pointer to a UART_HandleTypeDef structure that contains 3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the configuration information for the specified UART module. 3938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart) 3941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3596 .loc 1 3941 1 is_stmt 1 view -0 3597 .cfi_startproc 3598 @ args = 0, pretend = 0, frame = 0 3599 @ frame_needed = 0, uses_anonymous_args = 0 3600 .loc 1 3941 1 is_stmt 0 view .LVU1020 3601 0000 10B5 push {r4, lr} 3602 .LCFI14: 3603 .cfi_def_cfa_offset 8 3604 .cfi_offset 4, -8 3605 .cfi_offset 14, -4 3942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */ 3943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3606 .loc 1 3943 3 is_stmt 1 view .LVU1021 3607 .LBB795: 3608 .loc 1 3943 3 view .LVU1022 3609 .loc 1 3943 3 view .LVU1023 3610 .LBB796: 3611 .LBI796: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3612 .loc 2 382 31 view .LVU1024 3613 .LBB797: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 3614 .loc 2 384 3 view .LVU1025 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3615 .loc 2 386 3 view .LVU1026 3616 .syntax divided 3617 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3618 0002 EFF31081 MRS r1, primask 3619 @ 0 "" 2 3620 .LVL244: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS /tmp/ccwvDHH5.s page 155 3621 .loc 2 387 3 view .LVU1027 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3622 .loc 2 387 3 is_stmt 0 view .LVU1028 3623 .thumb 3624 .syntax unified 3625 .LBE797: 3626 .LBE796: 3627 .loc 1 3943 3 is_stmt 1 view .LVU1029 3628 .LBB798: 3629 .LBI798: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3630 .loc 2 412 27 view .LVU1030 3631 .LBB799: 3632 .loc 2 414 3 view .LVU1031 3633 0006 0123 movs r3, #1 3634 .syntax divided 3635 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3636 0008 83F31088 MSR primask, r3 3637 @ 0 "" 2 3638 .LVL245: 3639 .loc 2 414 3 is_stmt 0 view .LVU1032 3640 .thumb 3641 .syntax unified 3642 .LBE799: 3643 .LBE798: 3644 .loc 1 3943 3 is_stmt 1 view .LVU1033 3645 000c 0268 ldr r2, [r0] 3646 000e 1368 ldr r3, [r2] 3647 0010 4024 movs r4, #64 3648 0012 A343 bics r3, r4 3649 0014 1360 str r3, [r2] 3650 .loc 1 3943 3 view .LVU1034 3651 .LVL246: 3652 .LBB800: 3653 .LBI800: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3654 .loc 2 412 27 view .LVU1035 3655 .LBB801: 3656 .loc 2 414 3 view .LVU1036 3657 .syntax divided 3658 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3659 0016 81F31088 MSR primask, r1 3660 @ 0 "" 2 3661 .LVL247: 3662 .loc 2 414 3 is_stmt 0 view .LVU1037 3663 .thumb 3664 .syntax unified 3665 .LBE801: 3666 .LBE800: 3667 .LBE795: 3944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */ 3946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3668 .loc 1 3946 3 is_stmt 1 view .LVU1038 3669 .loc 1 3946 17 is_stmt 0 view .LVU1039 3670 001a 2023 movs r3, #32 3671 001c 8367 str r3, [r0, #120] ARM GAS /tmp/ccwvDHH5.s page 156 3947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Cleat TxISR function pointer */ 3949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL; 3672 .loc 1 3949 3 is_stmt 1 view .LVU1040 3673 .loc 1 3949 16 is_stmt 0 view .LVU1041 3674 001e 0023 movs r3, #0 3675 0020 8366 str r3, [r0, #104] 3950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Tx complete callback*/ 3953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxCpltCallback(huart); 3954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 3955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ 3956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart); 3676 .loc 1 3956 3 is_stmt 1 view .LVU1042 3677 0022 FFF7FEFF bl HAL_UART_TxCpltCallback 3678 .LVL248: 3957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3679 .loc 1 3958 1 is_stmt 0 view .LVU1043 3680 @ sp needed 3681 0026 10BD pop {r4, pc} 3682 .cfi_endproc 3683 .LFE103: 3685 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits 3686 .align 1 3687 .weak HAL_UART_TxHalfCpltCallback 3688 .syntax unified 3689 .code 16 3690 .thumb_func 3691 .fpu softvfp 3693 HAL_UART_TxHalfCpltCallback: 3694 .LVL249: 3695 .LFB64: 2607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3696 .loc 1 2607 1 is_stmt 1 view -0 3697 .cfi_startproc 3698 @ args = 0, pretend = 0, frame = 0 3699 @ frame_needed = 0, uses_anonymous_args = 0 3700 @ link register save eliminated. 2609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3701 .loc 1 2609 3 view .LVU1045 2614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3702 .loc 1 2614 1 is_stmt 0 view .LVU1046 3703 @ sp needed 3704 0000 7047 bx lr 3705 .cfi_endproc 3706 .LFE64: 3708 .section .text.UART_DMATxHalfCplt,"ax",%progbits 3709 .align 1 3710 .syntax unified 3711 .code 16 3712 .thumb_func 3713 .fpu softvfp 3715 UART_DMATxHalfCplt: 3716 .LVL250: 3717 .LFB92: ARM GAS /tmp/ccwvDHH5.s page 157 3545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3718 .loc 1 3545 1 is_stmt 1 view -0 3719 .cfi_startproc 3720 @ args = 0, pretend = 0, frame = 0 3721 @ frame_needed = 0, uses_anonymous_args = 0 3545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3722 .loc 1 3545 1 is_stmt 0 view .LVU1048 3723 0000 10B5 push {r4, lr} 3724 .LCFI15: 3725 .cfi_def_cfa_offset 8 3726 .cfi_offset 4, -8 3727 .cfi_offset 14, -4 3546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3728 .loc 1 3546 3 is_stmt 1 view .LVU1049 3546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3729 .loc 1 3546 23 is_stmt 0 view .LVU1050 3730 0002 406A ldr r0, [r0, #36] 3731 .LVL251: 3553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3732 .loc 1 3553 3 is_stmt 1 view .LVU1051 3733 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback 3734 .LVL252: 3555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3735 .loc 1 3555 1 is_stmt 0 view .LVU1052 3736 @ sp needed 3737 0008 10BD pop {r4, pc} 3738 .cfi_endproc 3739 .LFE92: 3741 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits 3742 .align 1 3743 .weak HAL_UART_RxCpltCallback 3744 .syntax unified 3745 .code 16 3746 .thumb_func 3747 .fpu softvfp 3749 HAL_UART_RxCpltCallback: 3750 .LVL253: 3751 .LFB65: 2622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3752 .loc 1 2622 1 is_stmt 1 view -0 3753 .cfi_startproc 3754 @ args = 0, pretend = 0, frame = 0 3755 @ frame_needed = 0, uses_anonymous_args = 0 3756 @ link register save eliminated. 2624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3757 .loc 1 2624 3 view .LVU1054 2629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3758 .loc 1 2629 1 is_stmt 0 view .LVU1055 3759 @ sp needed 3760 0000 7047 bx lr 3761 .cfi_endproc 3762 .LFE65: 3764 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits 3765 .align 1 3766 .weak HAL_UART_RxHalfCpltCallback 3767 .syntax unified 3768 .code 16 ARM GAS /tmp/ccwvDHH5.s page 158 3769 .thumb_func 3770 .fpu softvfp 3772 HAL_UART_RxHalfCpltCallback: 3773 .LVL254: 3774 .LFB66: 2637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3775 .loc 1 2637 1 is_stmt 1 view -0 3776 .cfi_startproc 3777 @ args = 0, pretend = 0, frame = 0 3778 @ frame_needed = 0, uses_anonymous_args = 0 3779 @ link register save eliminated. 2639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3780 .loc 1 2639 3 view .LVU1057 2644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3781 .loc 1 2644 1 is_stmt 0 view .LVU1058 3782 @ sp needed 3783 0000 7047 bx lr 3784 .cfi_endproc 3785 .LFE66: 3787 .section .text.HAL_UART_ErrorCallback,"ax",%progbits 3788 .align 1 3789 .weak HAL_UART_ErrorCallback 3790 .syntax unified 3791 .code 16 3792 .thumb_func 3793 .fpu softvfp 3795 HAL_UART_ErrorCallback: 3796 .LVL255: 3797 .LFB67: 2652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3798 .loc 1 2652 1 is_stmt 1 view -0 3799 .cfi_startproc 3800 @ args = 0, pretend = 0, frame = 0 3801 @ frame_needed = 0, uses_anonymous_args = 0 3802 @ link register save eliminated. 2654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3803 .loc 1 2654 3 view .LVU1060 2659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3804 .loc 1 2659 1 is_stmt 0 view .LVU1061 3805 @ sp needed 3806 0000 7047 bx lr 3807 .cfi_endproc 3808 .LFE67: 3810 .section .text.UART_DMAError,"ax",%progbits 3811 .align 1 3812 .syntax unified 3813 .code 16 3814 .thumb_func 3815 .fpu softvfp 3817 UART_DMAError: 3818 .LVL256: 3819 .LFB95: 3654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3820 .loc 1 3654 1 is_stmt 1 view -0 3821 .cfi_startproc 3822 @ args = 0, pretend = 0, frame = 0 3823 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccwvDHH5.s page 159 3654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3824 .loc 1 3654 1 is_stmt 0 view .LVU1063 3825 0000 70B5 push {r4, r5, r6, lr} 3826 .LCFI16: 3827 .cfi_def_cfa_offset 16 3828 .cfi_offset 4, -16 3829 .cfi_offset 5, -12 3830 .cfi_offset 6, -8 3831 .cfi_offset 14, -4 3655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3832 .loc 1 3655 3 is_stmt 1 view .LVU1064 3655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3833 .loc 1 3655 23 is_stmt 0 view .LVU1065 3834 0002 446A ldr r4, [r0, #36] 3835 .LVL257: 3657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3836 .loc 1 3657 3 is_stmt 1 view .LVU1066 3657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3837 .loc 1 3657 31 is_stmt 0 view .LVU1067 3838 0004 A26F ldr r2, [r4, #120] 3839 .LVL258: 3658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3840 .loc 1 3658 3 is_stmt 1 view .LVU1068 3658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3841 .loc 1 3658 31 is_stmt 0 view .LVU1069 3842 0006 E56F ldr r5, [r4, #124] 3843 .LVL259: 3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3844 .loc 1 3661 3 is_stmt 1 view .LVU1070 3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3845 .loc 1 3661 8 is_stmt 0 view .LVU1071 3846 0008 2368 ldr r3, [r4] 3847 000a 9B68 ldr r3, [r3, #8] 3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3848 .loc 1 3661 6 view .LVU1072 3849 000c 1B06 lsls r3, r3, #24 3850 000e 01D5 bpl .L106 3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3851 .loc 1 3661 62 discriminator 1 view .LVU1073 3852 0010 212A cmp r2, #33 3853 0012 0ED0 beq .L108 3854 .LVL260: 3855 .L106: 3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3856 .loc 1 3669 3 is_stmt 1 view .LVU1074 3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3857 .loc 1 3669 8 is_stmt 0 view .LVU1075 3858 0014 2368 ldr r3, [r4] 3859 0016 9B68 ldr r3, [r3, #8] 3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3860 .loc 1 3669 6 view .LVU1076 3861 0018 5B06 lsls r3, r3, #25 3862 001a 01D5 bpl .L107 3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3863 .loc 1 3669 62 discriminator 1 view .LVU1077 3864 001c 222D cmp r5, #34 3865 001e 0FD0 beq .L109 ARM GAS /tmp/ccwvDHH5.s page 160 3866 .L107: 3676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3867 .loc 1 3676 3 is_stmt 1 view .LVU1078 3676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3868 .loc 1 3676 20 is_stmt 0 view .LVU1079 3869 0020 8022 movs r2, #128 3870 0022 A358 ldr r3, [r4, r2] 3871 0024 1021 movs r1, #16 3872 0026 0B43 orrs r3, r1 3873 0028 A350 str r3, [r4, r2] 3683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3874 .loc 1 3683 3 is_stmt 1 view .LVU1080 3875 002a 2000 movs r0, r4 3876 002c FFF7FEFF bl HAL_UART_ErrorCallback 3877 .LVL261: 3685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3878 .loc 1 3685 1 is_stmt 0 view .LVU1081 3879 @ sp needed 3880 .LVL262: 3881 .LVL263: 3685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3882 .loc 1 3685 1 view .LVU1082 3883 0030 70BD pop {r4, r5, r6, pc} 3884 .LVL264: 3885 .L108: 3664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndTxTransfer(huart); 3886 .loc 1 3664 5 is_stmt 1 view .LVU1083 3664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndTxTransfer(huart); 3887 .loc 1 3664 24 is_stmt 0 view .LVU1084 3888 0032 5223 movs r3, #82 3889 0034 0022 movs r2, #0 3890 .LVL265: 3664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndTxTransfer(huart); 3891 .loc 1 3664 24 view .LVU1085 3892 0036 E252 strh r2, [r4, r3] 3665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3893 .loc 1 3665 5 is_stmt 1 view .LVU1086 3894 0038 2000 movs r0, r4 3895 .LVL266: 3665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3896 .loc 1 3665 5 is_stmt 0 view .LVU1087 3897 003a FFF7FEFF bl UART_EndTxTransfer 3898 .LVL267: 3899 003e E9E7 b .L106 3900 .L109: 3672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndRxTransfer(huart); 3901 .loc 1 3672 5 is_stmt 1 view .LVU1088 3672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndRxTransfer(huart); 3902 .loc 1 3672 24 is_stmt 0 view .LVU1089 3903 0040 5A23 movs r3, #90 3904 0042 0022 movs r2, #0 3905 0044 E252 strh r2, [r4, r3] 3673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 3906 .loc 1 3673 5 is_stmt 1 view .LVU1090 3907 0046 2000 movs r0, r4 3908 0048 FFF7FEFF bl UART_EndRxTransfer 3909 .LVL268: ARM GAS /tmp/ccwvDHH5.s page 161 3910 004c E8E7 b .L107 3911 .cfi_endproc 3912 .LFE95: 3914 .section .text.UART_DMAAbortOnError,"ax",%progbits 3915 .align 1 3916 .syntax unified 3917 .code 16 3918 .thumb_func 3919 .fpu softvfp 3921 UART_DMAAbortOnError: 3922 .LVL269: 3923 .LFB96: 3694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3924 .loc 1 3694 1 view -0 3925 .cfi_startproc 3926 @ args = 0, pretend = 0, frame = 0 3927 @ frame_needed = 0, uses_anonymous_args = 0 3694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3928 .loc 1 3694 1 is_stmt 0 view .LVU1092 3929 0000 10B5 push {r4, lr} 3930 .LCFI17: 3931 .cfi_def_cfa_offset 8 3932 .cfi_offset 4, -8 3933 .cfi_offset 14, -4 3695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 3934 .loc 1 3695 3 is_stmt 1 view .LVU1093 3695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 3935 .loc 1 3695 23 is_stmt 0 view .LVU1094 3936 0002 406A ldr r0, [r0, #36] 3937 .LVL270: 3696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U; 3938 .loc 1 3696 3 is_stmt 1 view .LVU1095 3696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U; 3939 .loc 1 3696 22 is_stmt 0 view .LVU1096 3940 0004 0023 movs r3, #0 3941 0006 5A22 movs r2, #90 3942 0008 8352 strh r3, [r0, r2] 3697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3943 .loc 1 3697 3 is_stmt 1 view .LVU1097 3697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3944 .loc 1 3697 22 is_stmt 0 view .LVU1098 3945 000a 083A subs r2, r2, #8 3946 000c 8352 strh r3, [r0, r2] 3704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3947 .loc 1 3704 3 is_stmt 1 view .LVU1099 3948 000e FFF7FEFF bl HAL_UART_ErrorCallback 3949 .LVL271: 3706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3950 .loc 1 3706 1 is_stmt 0 view .LVU1100 3951 @ sp needed 3952 0012 10BD pop {r4, pc} 3953 .cfi_endproc 3954 .LFE96: 3956 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits 3957 .align 1 3958 .weak HAL_UART_AbortCpltCallback 3959 .syntax unified ARM GAS /tmp/ccwvDHH5.s page 162 3960 .code 16 3961 .thumb_func 3962 .fpu softvfp 3964 HAL_UART_AbortCpltCallback: 3965 .LVL272: 3966 .LFB68: 2667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3967 .loc 1 2667 1 is_stmt 1 view -0 3968 .cfi_startproc 3969 @ args = 0, pretend = 0, frame = 0 3970 @ frame_needed = 0, uses_anonymous_args = 0 3971 @ link register save eliminated. 2669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3972 .loc 1 2669 3 view .LVU1102 2674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3973 .loc 1 2674 1 is_stmt 0 view .LVU1103 3974 @ sp needed 3975 0000 7047 bx lr 3976 .cfi_endproc 3977 .LFE68: 3979 .section .text.HAL_UART_Abort_IT,"ax",%progbits 3980 .align 1 3981 .global HAL_UART_Abort_IT 3982 .syntax unified 3983 .code 16 3984 .thumb_func 3985 .fpu softvfp 3987 HAL_UART_Abort_IT: 3988 .LVL273: 3989 .LFB59: 1975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t abortcplt = 1U; 3990 .loc 1 1975 1 is_stmt 1 view -0 3991 .cfi_startproc 3992 @ args = 0, pretend = 0, frame = 0 3993 @ frame_needed = 0, uses_anonymous_args = 0 1975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t abortcplt = 1U; 3994 .loc 1 1975 1 is_stmt 0 view .LVU1105 3995 0000 70B5 push {r4, r5, r6, lr} 3996 .LCFI18: 3997 .cfi_def_cfa_offset 16 3998 .cfi_offset 4, -16 3999 .cfi_offset 5, -12 4000 .cfi_offset 6, -8 4001 .cfi_offset 14, -4 4002 0002 0400 movs r4, r0 1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4003 .loc 1 1976 3 is_stmt 1 view .LVU1106 4004 .LVL274: 1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4005 .loc 1 1979 3 view .LVU1107 4006 .LBB802: 1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4007 .loc 1 1979 3 view .LVU1108 1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4008 .loc 1 1979 3 view .LVU1109 4009 .LBB803: 4010 .LBI803: ARM GAS /tmp/ccwvDHH5.s page 163 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4011 .loc 2 382 31 view .LVU1110 4012 .LBB804: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 4013 .loc 2 384 3 view .LVU1111 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4014 .loc 2 386 3 view .LVU1112 4015 .syntax divided 4016 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4017 0004 EFF31080 MRS r0, primask 4018 @ 0 "" 2 4019 .LVL275: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4020 .loc 2 387 3 view .LVU1113 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4021 .loc 2 387 3 is_stmt 0 view .LVU1114 4022 .thumb 4023 .syntax unified 4024 .LBE804: 4025 .LBE803: 1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4026 .loc 1 1979 3 is_stmt 1 view .LVU1115 4027 .LBB805: 4028 .LBI805: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4029 .loc 2 412 27 view .LVU1116 4030 .LBB806: 4031 .loc 2 414 3 view .LVU1117 4032 0008 0122 movs r2, #1 4033 .syntax divided 4034 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4035 000a 82F31088 MSR primask, r2 4036 @ 0 "" 2 4037 .LVL276: 4038 .loc 2 414 3 is_stmt 0 view .LVU1118 4039 .thumb 4040 .syntax unified 4041 .LBE806: 4042 .LBE805: 1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4043 .loc 1 1979 3 is_stmt 1 view .LVU1119 4044 000e 2168 ldr r1, [r4] 4045 0010 0B68 ldr r3, [r1] 4046 0012 474D ldr r5, .L126 4047 0014 2B40 ands r3, r5 4048 0016 0B60 str r3, [r1] 1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4049 .loc 1 1979 3 view .LVU1120 4050 .LVL277: 4051 .LBB807: 4052 .LBI807: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4053 .loc 2 412 27 view .LVU1121 4054 .LBB808: 4055 .loc 2 414 3 view .LVU1122 4056 .syntax divided 4057 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS /tmp/ccwvDHH5.s page 164 4058 0018 80F31088 MSR primask, r0 4059 @ 0 "" 2 4060 .LVL278: 4061 .loc 2 414 3 is_stmt 0 view .LVU1123 4062 .thumb 4063 .syntax unified 4064 .LBE808: 4065 .LBE807: 4066 .LBE802: 1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4067 .loc 1 1980 3 is_stmt 1 view .LVU1124 4068 .LBB809: 1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4069 .loc 1 1980 3 view .LVU1125 1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4070 .loc 1 1980 3 view .LVU1126 4071 .LBB810: 4072 .LBI810: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4073 .loc 2 382 31 view .LVU1127 4074 .LBB811: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 4075 .loc 2 384 3 view .LVU1128 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4076 .loc 2 386 3 view .LVU1129 4077 .syntax divided 4078 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4079 001c EFF31080 MRS r0, primask 4080 @ 0 "" 2 4081 .LVL279: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4082 .loc 2 387 3 view .LVU1130 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4083 .loc 2 387 3 is_stmt 0 view .LVU1131 4084 .thumb 4085 .syntax unified 4086 .LBE811: 4087 .LBE810: 1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4088 .loc 1 1980 3 is_stmt 1 view .LVU1132 4089 .LBB812: 4090 .LBI812: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4091 .loc 2 412 27 view .LVU1133 4092 .LBB813: 4093 .loc 2 414 3 view .LVU1134 4094 .syntax divided 4095 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4096 0020 82F31088 MSR primask, r2 4097 @ 0 "" 2 4098 .LVL280: 4099 .loc 2 414 3 is_stmt 0 view .LVU1135 4100 .thumb 4101 .syntax unified 4102 .LBE813: 4103 .LBE812: 1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 165 4104 .loc 1 1980 3 is_stmt 1 view .LVU1136 4105 0024 2168 ldr r1, [r4] 4106 0026 8B68 ldr r3, [r1, #8] 4107 0028 9343 bics r3, r2 4108 002a 8B60 str r3, [r1, #8] 1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4109 .loc 1 1980 3 view .LVU1137 4110 .LVL281: 4111 .LBB814: 4112 .LBI814: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4113 .loc 2 412 27 view .LVU1138 4114 .LBB815: 4115 .loc 2 414 3 view .LVU1139 4116 .syntax divided 4117 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4118 002c 80F31088 MSR primask, r0 4119 @ 0 "" 2 4120 .LVL282: 4121 .loc 2 414 3 is_stmt 0 view .LVU1140 4122 .thumb 4123 .syntax unified 4124 .LBE815: 4125 .LBE814: 4126 .LBE809: 1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4127 .loc 1 1983 3 is_stmt 1 view .LVU1141 1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4128 .loc 1 1983 12 is_stmt 0 view .LVU1142 4129 0030 236E ldr r3, [r4, #96] 1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4130 .loc 1 1983 6 view .LVU1143 4131 0032 012B cmp r3, #1 4132 0034 2DD0 beq .L125 4133 .LVL283: 4134 .L113: 1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4135 .loc 1 1991 3 is_stmt 1 view .LVU1144 1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4136 .loc 1 1991 12 is_stmt 0 view .LVU1145 4137 0036 E36E ldr r3, [r4, #108] 1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4138 .loc 1 1991 6 view .LVU1146 4139 0038 002B cmp r3, #0 4140 003a 05D0 beq .L114 1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4141 .loc 1 1995 5 is_stmt 1 view .LVU1147 1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4142 .loc 1 1995 9 is_stmt 0 view .LVU1148 4143 003c 2268 ldr r2, [r4] 4144 003e 9268 ldr r2, [r2, #8] 1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4145 .loc 1 1995 8 view .LVU1149 4146 0040 1206 lsls r2, r2, #24 4147 0042 32D5 bpl .L115 1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4148 .loc 1 1997 7 is_stmt 1 view .LVU1150 ARM GAS /tmp/ccwvDHH5.s page 166 1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4149 .loc 1 1997 40 is_stmt 0 view .LVU1151 4150 0044 3B4A ldr r2, .L126+4 4151 0046 5A63 str r2, [r3, #52] 4152 .L114: 2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4153 .loc 1 2005 3 is_stmt 1 view .LVU1152 2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4154 .loc 1 2005 12 is_stmt 0 view .LVU1153 4155 0048 236F ldr r3, [r4, #112] 2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4156 .loc 1 2005 6 view .LVU1154 4157 004a 002B cmp r3, #0 4158 004c 05D0 beq .L116 2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4159 .loc 1 2009 5 is_stmt 1 view .LVU1155 2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4160 .loc 1 2009 9 is_stmt 0 view .LVU1156 4161 004e 2268 ldr r2, [r4] 4162 0050 9268 ldr r2, [r2, #8] 2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4163 .loc 1 2009 8 view .LVU1157 4164 0052 5206 lsls r2, r2, #25 4165 0054 2CD5 bpl .L117 2011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4166 .loc 1 2011 7 is_stmt 1 view .LVU1158 2011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4167 .loc 1 2011 40 is_stmt 0 view .LVU1159 4168 0056 384A ldr r2, .L126+8 4169 0058 5A63 str r2, [r3, #52] 4170 .L116: 2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4171 .loc 1 2020 3 is_stmt 1 view .LVU1160 2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4172 .loc 1 2020 7 is_stmt 0 view .LVU1161 4173 005a 2368 ldr r3, [r4] 4174 005c 9B68 ldr r3, [r3, #8] 2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4175 .loc 1 2020 6 view .LVU1162 4176 005e 1B06 lsls r3, r3, #24 4177 0060 29D5 bpl .L122 2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4178 .loc 1 2023 5 is_stmt 1 view .LVU1163 4179 .LBB816: 2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4180 .loc 1 2023 5 view .LVU1164 2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4181 .loc 1 2023 5 view .LVU1165 4182 .LBB817: 4183 .LBI817: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4184 .loc 2 382 31 view .LVU1166 4185 .LBB818: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 4186 .loc 2 384 3 view .LVU1167 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4187 .loc 2 386 3 view .LVU1168 ARM GAS /tmp/ccwvDHH5.s page 167 4188 .syntax divided 4189 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4190 0062 EFF31081 MRS r1, primask 4191 @ 0 "" 2 4192 .LVL284: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4193 .loc 2 387 3 view .LVU1169 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4194 .loc 2 387 3 is_stmt 0 view .LVU1170 4195 .thumb 4196 .syntax unified 4197 .LBE818: 4198 .LBE817: 2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4199 .loc 1 2023 5 is_stmt 1 view .LVU1171 4200 .LBB819: 4201 .LBI819: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4202 .loc 2 412 27 view .LVU1172 4203 .LBB820: 4204 .loc 2 414 3 view .LVU1173 4205 0066 0123 movs r3, #1 4206 .syntax divided 4207 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4208 0068 83F31088 MSR primask, r3 4209 @ 0 "" 2 4210 .LVL285: 4211 .loc 2 414 3 is_stmt 0 view .LVU1174 4212 .thumb 4213 .syntax unified 4214 .LBE820: 4215 .LBE819: 2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4216 .loc 1 2023 5 is_stmt 1 view .LVU1175 4217 006c 2268 ldr r2, [r4] 4218 006e 9368 ldr r3, [r2, #8] 4219 0070 8020 movs r0, #128 4220 0072 8343 bics r3, r0 4221 0074 9360 str r3, [r2, #8] 2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4222 .loc 1 2023 5 view .LVU1176 4223 .LVL286: 4224 .LBB821: 4225 .LBI821: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4226 .loc 2 412 27 view .LVU1177 4227 .LBB822: 4228 .loc 2 414 3 view .LVU1178 4229 .syntax divided 4230 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4231 0076 81F31088 MSR primask, r1 4232 @ 0 "" 2 4233 .LVL287: 4234 .loc 2 414 3 is_stmt 0 view .LVU1179 4235 .thumb 4236 .syntax unified 4237 .LBE822: ARM GAS /tmp/ccwvDHH5.s page 168 4238 .LBE821: 4239 .LBE816: 2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4240 .loc 1 2026 5 is_stmt 1 view .LVU1180 2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4241 .loc 1 2026 14 is_stmt 0 view .LVU1181 4242 007a E06E ldr r0, [r4, #108] 2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4243 .loc 1 2026 8 view .LVU1182 4244 007c 0028 cmp r0, #0 4245 007e 4ED0 beq .L123 2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4246 .loc 1 2032 7 is_stmt 1 view .LVU1183 2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4247 .loc 1 2032 11 is_stmt 0 view .LVU1184 4248 0080 FFF7FEFF bl HAL_DMA_Abort_IT 4249 .LVL288: 2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4250 .loc 1 2032 10 view .LVU1185 4251 0084 0028 cmp r0, #0 4252 0086 4CD0 beq .L124 2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4253 .loc 1 2034 9 is_stmt 1 view .LVU1186 2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4254 .loc 1 2034 14 is_stmt 0 view .LVU1187 4255 0088 E36E ldr r3, [r4, #108] 2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4256 .loc 1 2034 42 view .LVU1188 4257 008a 0022 movs r2, #0 4258 008c 5A63 str r2, [r3, #52] 1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4259 .loc 1 1976 12 view .LVU1189 4260 008e 0132 adds r2, r2, #1 4261 0090 12E0 b .L118 4262 .LVL289: 4263 .L125: 1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4264 .loc 1 1985 5 is_stmt 1 view .LVU1190 4265 .LBB823: 1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4266 .loc 1 1985 5 view .LVU1191 1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4267 .loc 1 1985 5 view .LVU1192 4268 .LBB824: 4269 .LBI824: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4270 .loc 2 382 31 view .LVU1193 4271 .LBB825: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 4272 .loc 2 384 3 view .LVU1194 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4273 .loc 2 386 3 view .LVU1195 4274 .syntax divided 4275 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4276 0092 EFF31081 MRS r1, primask 4277 @ 0 "" 2 4278 .LVL290: ARM GAS /tmp/ccwvDHH5.s page 169 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4279 .loc 2 387 3 view .LVU1196 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4280 .loc 2 387 3 is_stmt 0 view .LVU1197 4281 .thumb 4282 .syntax unified 4283 .LBE825: 4284 .LBE824: 1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4285 .loc 1 1985 5 is_stmt 1 view .LVU1198 4286 .LBB826: 4287 .LBI826: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4288 .loc 2 412 27 view .LVU1199 4289 .LBB827: 4290 .loc 2 414 3 view .LVU1200 4291 .syntax divided 4292 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4293 0096 83F31088 MSR primask, r3 4294 @ 0 "" 2 4295 .LVL291: 4296 .loc 2 414 3 is_stmt 0 view .LVU1201 4297 .thumb 4298 .syntax unified 4299 .LBE827: 4300 .LBE826: 1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4301 .loc 1 1985 5 is_stmt 1 view .LVU1202 4302 009a 2268 ldr r2, [r4] 4303 009c 1368 ldr r3, [r2] 4304 009e 1020 movs r0, #16 4305 .LVL292: 1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4306 .loc 1 1985 5 is_stmt 0 view .LVU1203 4307 00a0 8343 bics r3, r0 4308 00a2 1360 str r3, [r2] 1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4309 .loc 1 1985 5 is_stmt 1 view .LVU1204 4310 .LVL293: 4311 .LBB828: 4312 .LBI828: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4313 .loc 2 412 27 view .LVU1205 4314 .LBB829: 4315 .loc 2 414 3 view .LVU1206 4316 .syntax divided 4317 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4318 00a4 81F31088 MSR primask, r1 4319 @ 0 "" 2 4320 .thumb 4321 .syntax unified 4322 00a8 C5E7 b .L113 4323 .LVL294: 4324 .L115: 4325 .loc 2 414 3 is_stmt 0 view .LVU1207 4326 .LBE829: 4327 .LBE828: ARM GAS /tmp/ccwvDHH5.s page 170 4328 .LBE823: 2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4329 .loc 1 2001 7 is_stmt 1 view .LVU1208 2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4330 .loc 1 2001 40 is_stmt 0 view .LVU1209 4331 00aa 0022 movs r2, #0 4332 00ac 5A63 str r2, [r3, #52] 4333 00ae CBE7 b .L114 4334 .L117: 2015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4335 .loc 1 2015 7 is_stmt 1 view .LVU1210 2015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4336 .loc 1 2015 40 is_stmt 0 view .LVU1211 4337 00b0 0022 movs r2, #0 4338 00b2 5A63 str r2, [r3, #52] 4339 00b4 D1E7 b .L116 4340 .L122: 1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4341 .loc 1 1976 12 view .LVU1212 4342 00b6 0122 movs r2, #1 4343 .L118: 4344 .LVL295: 2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4345 .loc 1 2044 3 is_stmt 1 view .LVU1213 2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4346 .loc 1 2044 7 is_stmt 0 view .LVU1214 4347 00b8 2368 ldr r3, [r4] 4348 00ba 9B68 ldr r3, [r3, #8] 2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4349 .loc 1 2044 6 view .LVU1215 4350 00bc 5B06 lsls r3, r3, #25 4351 00be 32D5 bpl .L119 2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4352 .loc 1 2046 5 is_stmt 1 view .LVU1216 4353 .LBB830: 2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4354 .loc 1 2046 5 view .LVU1217 2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4355 .loc 1 2046 5 view .LVU1218 4356 .LBB831: 4357 .LBI831: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4358 .loc 2 382 31 view .LVU1219 4359 .LBB832: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 4360 .loc 2 384 3 view .LVU1220 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4361 .loc 2 386 3 view .LVU1221 4362 .syntax divided 4363 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4364 00c0 EFF31080 MRS r0, primask 4365 @ 0 "" 2 4366 .LVL296: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4367 .loc 2 387 3 view .LVU1222 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4368 .loc 2 387 3 is_stmt 0 view .LVU1223 ARM GAS /tmp/ccwvDHH5.s page 171 4369 .thumb 4370 .syntax unified 4371 .LBE832: 4372 .LBE831: 2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4373 .loc 1 2046 5 is_stmt 1 view .LVU1224 4374 .LBB833: 4375 .LBI833: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4376 .loc 2 412 27 view .LVU1225 4377 .LBB834: 4378 .loc 2 414 3 view .LVU1226 4379 00c4 0123 movs r3, #1 4380 .syntax divided 4381 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4382 00c6 83F31088 MSR primask, r3 4383 @ 0 "" 2 4384 .LVL297: 4385 .loc 2 414 3 is_stmt 0 view .LVU1227 4386 .thumb 4387 .syntax unified 4388 .LBE834: 4389 .LBE833: 2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4390 .loc 1 2046 5 is_stmt 1 view .LVU1228 4391 00ca 2168 ldr r1, [r4] 4392 00cc 8B68 ldr r3, [r1, #8] 4393 00ce 4025 movs r5, #64 4394 00d0 AB43 bics r3, r5 4395 00d2 8B60 str r3, [r1, #8] 2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4396 .loc 1 2046 5 view .LVU1229 4397 .LVL298: 4398 .LBB835: 4399 .LBI835: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4400 .loc 2 412 27 view .LVU1230 4401 .LBB836: 4402 .loc 2 414 3 view .LVU1231 4403 .syntax divided 4404 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4405 00d4 80F31088 MSR primask, r0 4406 @ 0 "" 2 4407 .LVL299: 4408 .loc 2 414 3 is_stmt 0 view .LVU1232 4409 .thumb 4410 .syntax unified 4411 .LBE836: 4412 .LBE835: 4413 .LBE830: 2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4414 .loc 1 2049 5 is_stmt 1 view .LVU1233 2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4415 .loc 1 2049 14 is_stmt 0 view .LVU1234 4416 00d8 206F ldr r0, [r4, #112] 4417 .LVL300: 2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 172 4418 .loc 1 2049 8 view .LVU1235 4419 00da 0028 cmp r0, #0 4420 00dc 23D0 beq .L119 2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4421 .loc 1 2055 7 is_stmt 1 view .LVU1236 2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4422 .loc 1 2055 11 is_stmt 0 view .LVU1237 4423 00de FFF7FEFF bl HAL_DMA_Abort_IT 4424 .LVL301: 2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4425 .loc 1 2055 10 view .LVU1238 4426 00e2 0028 cmp r0, #0 4427 00e4 21D0 beq .L120 2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** abortcplt = 1U; 4428 .loc 1 2057 9 is_stmt 1 view .LVU1239 2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** abortcplt = 1U; 4429 .loc 1 2057 14 is_stmt 0 view .LVU1240 4430 00e6 236F ldr r3, [r4, #112] 2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** abortcplt = 1U; 4431 .loc 1 2057 42 view .LVU1241 4432 00e8 0022 movs r2, #0 4433 00ea 5A63 str r2, [r3, #52] 2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4434 .loc 1 2058 9 is_stmt 1 view .LVU1242 4435 .LVL302: 2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4436 .loc 1 2068 3 view .LVU1243 4437 .L121: 2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 4438 .loc 1 2071 5 view .LVU1244 2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 4439 .loc 1 2071 24 is_stmt 0 view .LVU1245 4440 00ec 0023 movs r3, #0 4441 00ee 5222 movs r2, #82 4442 00f0 A352 strh r3, [r4, r2] 2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4443 .loc 1 2072 5 is_stmt 1 view .LVU1246 2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4444 .loc 1 2072 24 is_stmt 0 view .LVU1247 4445 00f2 0832 adds r2, r2, #8 4446 00f4 A352 strh r3, [r4, r2] 2075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL; 4447 .loc 1 2075 5 is_stmt 1 view .LVU1248 2075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL; 4448 .loc 1 2075 18 is_stmt 0 view .LVU1249 4449 00f6 6366 str r3, [r4, #100] 2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4450 .loc 1 2076 5 is_stmt 1 view .LVU1250 2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4451 .loc 1 2076 18 is_stmt 0 view .LVU1251 4452 00f8 A366 str r3, [r4, #104] 2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4453 .loc 1 2079 5 is_stmt 1 view .LVU1252 2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4454 .loc 1 2079 22 is_stmt 0 view .LVU1253 4455 00fa 2632 adds r2, r2, #38 4456 00fc A350 str r3, [r4, r2] ARM GAS /tmp/ccwvDHH5.s page 173 2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4457 .loc 1 2082 5 is_stmt 1 view .LVU1254 4458 00fe 2268 ldr r2, [r4] 4459 0100 0F21 movs r1, #15 4460 0102 1162 str r1, [r2, #32] 2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4461 .loc 1 2086 5 view .LVU1255 4462 0104 2168 ldr r1, [r4] 4463 0106 8A69 ldr r2, [r1, #24] 4464 0108 0820 movs r0, #8 4465 010a 0243 orrs r2, r0 4466 010c 8A61 str r2, [r1, #24] 2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4467 .loc 1 2089 5 view .LVU1256 2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4468 .loc 1 2089 20 is_stmt 0 view .LVU1257 4469 010e 2022 movs r2, #32 4470 0110 A267 str r2, [r4, #120] 2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4471 .loc 1 2090 5 is_stmt 1 view .LVU1258 2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4472 .loc 1 2090 20 is_stmt 0 view .LVU1259 4473 0112 E267 str r2, [r4, #124] 2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4474 .loc 1 2091 5 is_stmt 1 view .LVU1260 2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4475 .loc 1 2091 26 is_stmt 0 view .LVU1261 4476 0114 2366 str r3, [r4, #96] 2099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4477 .loc 1 2099 5 is_stmt 1 view .LVU1262 4478 0116 2000 movs r0, r4 4479 0118 FFF7FEFF bl HAL_UART_AbortCpltCallback 4480 .LVL303: 4481 011c 05E0 b .L120 4482 .LVL304: 4483 .L123: 1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4484 .loc 1 1976 12 is_stmt 0 view .LVU1263 4485 011e 0122 movs r2, #1 4486 0120 CAE7 b .L118 4487 .LVL305: 4488 .L124: 2038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4489 .loc 1 2038 19 view .LVU1264 4490 0122 0022 movs r2, #0 4491 0124 C8E7 b .L118 4492 .LVL306: 4493 .L119: 2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4494 .loc 1 2068 3 is_stmt 1 view .LVU1265 2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4495 .loc 1 2068 6 is_stmt 0 view .LVU1266 4496 0126 012A cmp r2, #1 4497 0128 E0D0 beq .L121 4498 .LVL307: 4499 .L120: 2103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } ARM GAS /tmp/ccwvDHH5.s page 174 4500 .loc 1 2103 3 is_stmt 1 view .LVU1267 2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4501 .loc 1 2104 1 is_stmt 0 view .LVU1268 4502 012a 0020 movs r0, #0 4503 @ sp needed 4504 .LVL308: 2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4505 .loc 1 2104 1 view .LVU1269 4506 012c 70BD pop {r4, r5, r6, pc} 4507 .L127: 4508 012e C046 .align 2 4509 .L126: 4510 0130 1FFEFFFF .word -481 4511 0134 00000000 .word UART_DMATxAbortCallback 4512 0138 00000000 .word UART_DMARxAbortCallback 4513 .cfi_endproc 4514 .LFE59: 4516 .section .text.UART_DMARxAbortCallback,"ax",%progbits 4517 .align 1 4518 .syntax unified 4519 .code 16 4520 .thumb_func 4521 .fpu softvfp 4523 UART_DMARxAbortCallback: 4524 .LVL309: 4525 .LFB98: 3767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4526 .loc 1 3767 1 is_stmt 1 view -0 4527 .cfi_startproc 4528 @ args = 0, pretend = 0, frame = 0 4529 @ frame_needed = 0, uses_anonymous_args = 0 3767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4530 .loc 1 3767 1 is_stmt 0 view .LVU1271 4531 0000 10B5 push {r4, lr} 4532 .LCFI19: 4533 .cfi_def_cfa_offset 8 4534 .cfi_offset 4, -8 4535 .cfi_offset 14, -4 3768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4536 .loc 1 3768 3 is_stmt 1 view .LVU1272 3768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4537 .loc 1 3768 23 is_stmt 0 view .LVU1273 4538 0002 406A ldr r0, [r0, #36] 4539 .LVL310: 3770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4540 .loc 1 3770 3 is_stmt 1 view .LVU1274 3770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4541 .loc 1 3770 8 is_stmt 0 view .LVU1275 4542 0004 036F ldr r3, [r0, #112] 3770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4543 .loc 1 3770 36 view .LVU1276 4544 0006 0022 movs r2, #0 4545 0008 5A63 str r2, [r3, #52] 3773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4546 .loc 1 3773 3 is_stmt 1 view .LVU1277 3773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4547 .loc 1 3773 12 is_stmt 0 view .LVU1278 ARM GAS /tmp/ccwvDHH5.s page 175 4548 000a C36E ldr r3, [r0, #108] 3773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4549 .loc 1 3773 6 view .LVU1279 4550 000c 002B cmp r3, #0 4551 000e 02D0 beq .L129 3775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4552 .loc 1 3775 5 is_stmt 1 view .LVU1280 3775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4553 .loc 1 3775 22 is_stmt 0 view .LVU1281 4554 0010 5B6B ldr r3, [r3, #52] 3775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4555 .loc 1 3775 8 view .LVU1282 4556 0012 002B cmp r3, #0 4557 0014 14D1 bne .L128 4558 .L129: 3782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 4559 .loc 1 3782 3 is_stmt 1 view .LVU1283 3782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 4560 .loc 1 3782 22 is_stmt 0 view .LVU1284 4561 0016 0023 movs r3, #0 4562 0018 5222 movs r2, #82 4563 001a 8352 strh r3, [r0, r2] 3783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4564 .loc 1 3783 3 is_stmt 1 view .LVU1285 3783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4565 .loc 1 3783 22 is_stmt 0 view .LVU1286 4566 001c 0832 adds r2, r2, #8 4567 001e 8352 strh r3, [r0, r2] 3786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4568 .loc 1 3786 3 is_stmt 1 view .LVU1287 3786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4569 .loc 1 3786 20 is_stmt 0 view .LVU1288 4570 0020 2632 adds r2, r2, #38 4571 0022 8350 str r3, [r0, r2] 3789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4572 .loc 1 3789 3 is_stmt 1 view .LVU1289 4573 0024 0268 ldr r2, [r0] 4574 0026 0F21 movs r1, #15 4575 0028 1162 str r1, [r2, #32] 3792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4576 .loc 1 3792 3 view .LVU1290 4577 002a 0168 ldr r1, [r0] 4578 002c 8A69 ldr r2, [r1, #24] 4579 002e 0824 movs r4, #8 4580 0030 2243 orrs r2, r4 4581 0032 8A61 str r2, [r1, #24] 3795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4582 .loc 1 3795 3 view .LVU1291 3795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4583 .loc 1 3795 18 is_stmt 0 view .LVU1292 4584 0034 2022 movs r2, #32 4585 0036 8267 str r2, [r0, #120] 3796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4586 .loc 1 3796 3 is_stmt 1 view .LVU1293 3796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4587 .loc 1 3796 18 is_stmt 0 view .LVU1294 4588 0038 C267 str r2, [r0, #124] ARM GAS /tmp/ccwvDHH5.s page 176 3797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4589 .loc 1 3797 3 is_stmt 1 view .LVU1295 3797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4590 .loc 1 3797 24 is_stmt 0 view .LVU1296 4591 003a 0366 str r3, [r0, #96] 3805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4592 .loc 1 3805 3 is_stmt 1 view .LVU1297 4593 003c FFF7FEFF bl HAL_UART_AbortCpltCallback 4594 .LVL311: 4595 .L128: 3807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4596 .loc 1 3807 1 is_stmt 0 view .LVU1298 4597 @ sp needed 4598 0040 10BD pop {r4, pc} 4599 .cfi_endproc 4600 .LFE98: 4602 .section .text.UART_DMATxAbortCallback,"ax",%progbits 4603 .align 1 4604 .syntax unified 4605 .code 16 4606 .thumb_func 4607 .fpu softvfp 4609 UART_DMATxAbortCallback: 4610 .LVL312: 4611 .LFB97: 3717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4612 .loc 1 3717 1 is_stmt 1 view -0 4613 .cfi_startproc 4614 @ args = 0, pretend = 0, frame = 0 4615 @ frame_needed = 0, uses_anonymous_args = 0 3717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4616 .loc 1 3717 1 is_stmt 0 view .LVU1300 4617 0000 10B5 push {r4, lr} 4618 .LCFI20: 4619 .cfi_def_cfa_offset 8 4620 .cfi_offset 4, -8 4621 .cfi_offset 14, -4 3718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4622 .loc 1 3718 3 is_stmt 1 view .LVU1301 3718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4623 .loc 1 3718 23 is_stmt 0 view .LVU1302 4624 0002 406A ldr r0, [r0, #36] 4625 .LVL313: 3720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4626 .loc 1 3720 3 is_stmt 1 view .LVU1303 3720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4627 .loc 1 3720 8 is_stmt 0 view .LVU1304 4628 0004 C36E ldr r3, [r0, #108] 3720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4629 .loc 1 3720 36 view .LVU1305 4630 0006 0022 movs r2, #0 4631 0008 5A63 str r2, [r3, #52] 3723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4632 .loc 1 3723 3 is_stmt 1 view .LVU1306 3723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4633 .loc 1 3723 12 is_stmt 0 view .LVU1307 4634 000a 036F ldr r3, [r0, #112] ARM GAS /tmp/ccwvDHH5.s page 177 3723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4635 .loc 1 3723 6 view .LVU1308 4636 000c 002B cmp r3, #0 4637 000e 02D0 beq .L132 3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4638 .loc 1 3725 5 is_stmt 1 view .LVU1309 3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4639 .loc 1 3725 22 is_stmt 0 view .LVU1310 4640 0010 5B6B ldr r3, [r3, #52] 3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4641 .loc 1 3725 8 view .LVU1311 4642 0012 002B cmp r3, #0 4643 0014 0FD1 bne .L131 4644 .L132: 3732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 4645 .loc 1 3732 3 is_stmt 1 view .LVU1312 3732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U; 4646 .loc 1 3732 22 is_stmt 0 view .LVU1313 4647 0016 0023 movs r3, #0 4648 0018 5222 movs r2, #82 4649 001a 8352 strh r3, [r0, r2] 3733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4650 .loc 1 3733 3 is_stmt 1 view .LVU1314 3733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4651 .loc 1 3733 22 is_stmt 0 view .LVU1315 4652 001c 0832 adds r2, r2, #8 4653 001e 8352 strh r3, [r0, r2] 3736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4654 .loc 1 3736 3 is_stmt 1 view .LVU1316 3736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4655 .loc 1 3736 20 is_stmt 0 view .LVU1317 4656 0020 2632 adds r2, r2, #38 4657 0022 8350 str r3, [r0, r2] 3739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4658 .loc 1 3739 3 is_stmt 1 view .LVU1318 4659 0024 0268 ldr r2, [r0] 4660 0026 0F21 movs r1, #15 4661 0028 1162 str r1, [r2, #32] 3743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4662 .loc 1 3743 3 view .LVU1319 3743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4663 .loc 1 3743 18 is_stmt 0 view .LVU1320 4664 002a 2022 movs r2, #32 4665 002c 8267 str r2, [r0, #120] 3744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4666 .loc 1 3744 3 is_stmt 1 view .LVU1321 3744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4667 .loc 1 3744 18 is_stmt 0 view .LVU1322 4668 002e C267 str r2, [r0, #124] 3745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4669 .loc 1 3745 3 is_stmt 1 view .LVU1323 3745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4670 .loc 1 3745 24 is_stmt 0 view .LVU1324 4671 0030 0366 str r3, [r0, #96] 3753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4672 .loc 1 3753 3 is_stmt 1 view .LVU1325 4673 0032 FFF7FEFF bl HAL_UART_AbortCpltCallback ARM GAS /tmp/ccwvDHH5.s page 178 4674 .LVL314: 4675 .L131: 3755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4676 .loc 1 3755 1 is_stmt 0 view .LVU1326 4677 @ sp needed 4678 0036 10BD pop {r4, pc} 4679 .cfi_endproc 4680 .LFE97: 4682 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits 4683 .align 1 4684 .weak HAL_UART_AbortTransmitCpltCallback 4685 .syntax unified 4686 .code 16 4687 .thumb_func 4688 .fpu softvfp 4690 HAL_UART_AbortTransmitCpltCallback: 4691 .LVL315: 4692 .LFB69: 2682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4693 .loc 1 2682 1 is_stmt 1 view -0 4694 .cfi_startproc 4695 @ args = 0, pretend = 0, frame = 0 4696 @ frame_needed = 0, uses_anonymous_args = 0 4697 @ link register save eliminated. 2684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4698 .loc 1 2684 3 view .LVU1328 2689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4699 .loc 1 2689 1 is_stmt 0 view .LVU1329 4700 @ sp needed 4701 0000 7047 bx lr 4702 .cfi_endproc 4703 .LFE69: 4705 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits 4706 .align 1 4707 .global HAL_UART_AbortTransmit_IT 4708 .syntax unified 4709 .code 16 4710 .thumb_func 4711 .fpu softvfp 4713 HAL_UART_AbortTransmit_IT: 4714 .LVL316: 4715 .LFB60: 2121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable interrupts */ 4716 .loc 1 2121 1 is_stmt 1 view -0 4717 .cfi_startproc 4718 @ args = 0, pretend = 0, frame = 0 4719 @ frame_needed = 0, uses_anonymous_args = 0 2121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable interrupts */ 4720 .loc 1 2121 1 is_stmt 0 view .LVU1331 4721 0000 10B5 push {r4, lr} 4722 .LCFI21: 4723 .cfi_def_cfa_offset 8 4724 .cfi_offset 4, -8 4725 .cfi_offset 14, -4 4726 0002 0400 movs r4, r0 2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4727 .loc 1 2123 3 is_stmt 1 view .LVU1332 ARM GAS /tmp/ccwvDHH5.s page 179 4728 .LBB837: 2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4729 .loc 1 2123 3 view .LVU1333 2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4730 .loc 1 2123 3 view .LVU1334 4731 .LBB838: 4732 .LBI838: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4733 .loc 2 382 31 view .LVU1335 4734 .LBB839: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 4735 .loc 2 384 3 view .LVU1336 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4736 .loc 2 386 3 view .LVU1337 4737 .syntax divided 4738 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4739 0004 EFF31081 MRS r1, primask 4740 @ 0 "" 2 4741 .LVL317: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4742 .loc 2 387 3 view .LVU1338 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4743 .loc 2 387 3 is_stmt 0 view .LVU1339 4744 .thumb 4745 .syntax unified 4746 .LBE839: 4747 .LBE838: 2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4748 .loc 1 2123 3 is_stmt 1 view .LVU1340 4749 .LBB840: 4750 .LBI840: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4751 .loc 2 412 27 view .LVU1341 4752 .LBB841: 4753 .loc 2 414 3 view .LVU1342 4754 0008 0123 movs r3, #1 4755 .syntax divided 4756 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4757 000a 83F31088 MSR primask, r3 4758 @ 0 "" 2 4759 .LVL318: 4760 .loc 2 414 3 is_stmt 0 view .LVU1343 4761 .thumb 4762 .syntax unified 4763 .LBE841: 4764 .LBE840: 2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4765 .loc 1 2123 3 is_stmt 1 view .LVU1344 4766 000e 0268 ldr r2, [r0] 4767 0010 1368 ldr r3, [r2] 4768 0012 C020 movs r0, #192 4769 .LVL319: 2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4770 .loc 1 2123 3 is_stmt 0 view .LVU1345 4771 0014 8343 bics r3, r0 4772 0016 1360 str r3, [r2] 2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 180 4773 .loc 1 2123 3 is_stmt 1 view .LVU1346 4774 .LVL320: 4775 .LBB842: 4776 .LBI842: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4777 .loc 2 412 27 view .LVU1347 4778 .LBB843: 4779 .loc 2 414 3 view .LVU1348 4780 .syntax divided 4781 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4782 0018 81F31088 MSR primask, r1 4783 @ 0 "" 2 4784 .LVL321: 4785 .loc 2 414 3 is_stmt 0 view .LVU1349 4786 .thumb 4787 .syntax unified 4788 .LBE843: 4789 .LBE842: 4790 .LBE837: 2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4791 .loc 1 2126 3 is_stmt 1 view .LVU1350 2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4792 .loc 1 2126 7 is_stmt 0 view .LVU1351 4793 001c 2368 ldr r3, [r4] 4794 001e 9B68 ldr r3, [r3, #8] 2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4795 .loc 1 2126 6 view .LVU1352 4796 0020 1B06 lsls r3, r3, #24 4797 0022 23D5 bpl .L136 2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4798 .loc 1 2128 5 is_stmt 1 view .LVU1353 4799 .LBB844: 2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4800 .loc 1 2128 5 view .LVU1354 2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4801 .loc 1 2128 5 view .LVU1355 4802 .LBB845: 4803 .LBI845: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4804 .loc 2 382 31 view .LVU1356 4805 .LBB846: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 4806 .loc 2 384 3 view .LVU1357 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4807 .loc 2 386 3 view .LVU1358 4808 .syntax divided 4809 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4810 0024 EFF31081 MRS r1, primask 4811 @ 0 "" 2 4812 .LVL322: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4813 .loc 2 387 3 view .LVU1359 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4814 .loc 2 387 3 is_stmt 0 view .LVU1360 4815 .thumb 4816 .syntax unified 4817 .LBE846: ARM GAS /tmp/ccwvDHH5.s page 181 4818 .LBE845: 2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4819 .loc 1 2128 5 is_stmt 1 view .LVU1361 4820 .LBB847: 4821 .LBI847: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4822 .loc 2 412 27 view .LVU1362 4823 .LBB848: 4824 .loc 2 414 3 view .LVU1363 4825 0028 0123 movs r3, #1 4826 .syntax divided 4827 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4828 002a 83F31088 MSR primask, r3 4829 @ 0 "" 2 4830 .LVL323: 4831 .loc 2 414 3 is_stmt 0 view .LVU1364 4832 .thumb 4833 .syntax unified 4834 .LBE848: 4835 .LBE847: 2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4836 .loc 1 2128 5 is_stmt 1 view .LVU1365 4837 002e 2268 ldr r2, [r4] 4838 0030 9368 ldr r3, [r2, #8] 4839 0032 4038 subs r0, r0, #64 4840 0034 8343 bics r3, r0 4841 0036 9360 str r3, [r2, #8] 2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4842 .loc 1 2128 5 view .LVU1366 4843 .LVL324: 4844 .LBB849: 4845 .LBI849: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4846 .loc 2 412 27 view .LVU1367 4847 .LBB850: 4848 .loc 2 414 3 view .LVU1368 4849 .syntax divided 4850 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4851 0038 81F31088 MSR primask, r1 4852 @ 0 "" 2 4853 .LVL325: 4854 .loc 2 414 3 is_stmt 0 view .LVU1369 4855 .thumb 4856 .syntax unified 4857 .LBE850: 4858 .LBE849: 4859 .LBE844: 2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4860 .loc 1 2131 5 is_stmt 1 view .LVU1370 2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4861 .loc 1 2131 14 is_stmt 0 view .LVU1371 4862 003c E36E ldr r3, [r4, #108] 2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4863 .loc 1 2131 8 view .LVU1372 4864 003e 002B cmp r3, #0 4865 0040 0AD0 beq .L137 2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 182 4866 .loc 1 2135 7 is_stmt 1 view .LVU1373 2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4867 .loc 1 2135 40 is_stmt 0 view .LVU1374 4868 0042 104A ldr r2, .L139 4869 0044 5A63 str r2, [r3, #52] 2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4870 .loc 1 2138 7 is_stmt 1 view .LVU1375 2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4871 .loc 1 2138 11 is_stmt 0 view .LVU1376 4872 0046 E06E ldr r0, [r4, #108] 4873 0048 FFF7FEFF bl HAL_DMA_Abort_IT 4874 .LVL326: 2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4875 .loc 1 2138 10 view .LVU1377 4876 004c 0028 cmp r0, #0 4877 004e 16D0 beq .L138 2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4878 .loc 1 2141 9 is_stmt 1 view .LVU1378 2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4879 .loc 1 2141 14 is_stmt 0 view .LVU1379 4880 0050 E06E ldr r0, [r4, #108] 2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4881 .loc 1 2141 22 view .LVU1380 4882 0052 436B ldr r3, [r0, #52] 2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4883 .loc 1 2141 9 view .LVU1381 4884 0054 9847 blx r3 4885 .LVL327: 4886 0056 12E0 b .L138 4887 .LVL328: 4888 .L137: 2147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4889 .loc 1 2147 7 is_stmt 1 view .LVU1382 2147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4890 .loc 1 2147 26 is_stmt 0 view .LVU1383 4891 0058 0023 movs r3, #0 4892 005a 5222 movs r2, #82 4893 005c A352 strh r3, [r4, r2] 2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4894 .loc 1 2150 7 is_stmt 1 view .LVU1384 2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4895 .loc 1 2150 20 is_stmt 0 view .LVU1385 4896 005e A366 str r3, [r4, #104] 2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4897 .loc 1 2153 7 is_stmt 1 view .LVU1386 2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4898 .loc 1 2153 21 is_stmt 0 view .LVU1387 4899 0060 2033 adds r3, r3, #32 4900 0062 A367 str r3, [r4, #120] 2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4901 .loc 1 2161 7 is_stmt 1 view .LVU1388 4902 0064 2000 movs r0, r4 4903 0066 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 4904 .LVL329: 2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4905 .loc 1 2161 7 is_stmt 0 view .LVU1389 4906 006a 08E0 b .L138 ARM GAS /tmp/ccwvDHH5.s page 183 4907 .LVL330: 4908 .L136: 2168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4909 .loc 1 2168 5 is_stmt 1 view .LVU1390 2168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4910 .loc 1 2168 24 is_stmt 0 view .LVU1391 4911 006c 0023 movs r3, #0 4912 006e 5222 movs r2, #82 4913 0070 A352 strh r3, [r4, r2] 2171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4914 .loc 1 2171 5 is_stmt 1 view .LVU1392 2171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4915 .loc 1 2171 18 is_stmt 0 view .LVU1393 4916 0072 A366 str r3, [r4, #104] 2175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4917 .loc 1 2175 5 is_stmt 1 view .LVU1394 2175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4918 .loc 1 2175 19 is_stmt 0 view .LVU1395 4919 0074 2033 adds r3, r3, #32 4920 0076 A367 str r3, [r4, #120] 2183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4921 .loc 1 2183 5 is_stmt 1 view .LVU1396 4922 0078 2000 movs r0, r4 4923 007a FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 4924 .LVL331: 4925 .L138: 2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4926 .loc 1 2187 3 view .LVU1397 2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4927 .loc 1 2188 1 is_stmt 0 view .LVU1398 4928 007e 0020 movs r0, #0 4929 @ sp needed 4930 .LVL332: 2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4931 .loc 1 2188 1 view .LVU1399 4932 0080 10BD pop {r4, pc} 4933 .L140: 4934 0082 C046 .align 2 4935 .L139: 4936 0084 00000000 .word UART_DMATxOnlyAbortCallback 4937 .cfi_endproc 4938 .LFE60: 4940 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits 4941 .align 1 4942 .syntax unified 4943 .code 16 4944 .thumb_func 4945 .fpu softvfp 4947 UART_DMATxOnlyAbortCallback: 4948 .LVL333: 4949 .LFB99: 3819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4950 .loc 1 3819 1 is_stmt 1 view -0 4951 .cfi_startproc 4952 @ args = 0, pretend = 0, frame = 0 4953 @ frame_needed = 0, uses_anonymous_args = 0 3819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); ARM GAS /tmp/ccwvDHH5.s page 184 4954 .loc 1 3819 1 is_stmt 0 view .LVU1401 4955 0000 10B5 push {r4, lr} 4956 .LCFI22: 4957 .cfi_def_cfa_offset 8 4958 .cfi_offset 4, -8 4959 .cfi_offset 14, -4 3820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4960 .loc 1 3820 3 is_stmt 1 view .LVU1402 3820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4961 .loc 1 3820 23 is_stmt 0 view .LVU1403 4962 0002 406A ldr r0, [r0, #36] 4963 .LVL334: 3822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4964 .loc 1 3822 3 is_stmt 1 view .LVU1404 3822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4965 .loc 1 3822 22 is_stmt 0 view .LVU1405 4966 0004 5223 movs r3, #82 4967 0006 0022 movs r2, #0 4968 0008 C252 strh r2, [r0, r3] 3826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4969 .loc 1 3826 3 is_stmt 1 view .LVU1406 3826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4970 .loc 1 3826 17 is_stmt 0 view .LVU1407 4971 000a 323B subs r3, r3, #50 4972 000c 8367 str r3, [r0, #120] 3834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4973 .loc 1 3834 3 is_stmt 1 view .LVU1408 4974 000e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 4975 .LVL335: 3836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4976 .loc 1 3836 1 is_stmt 0 view .LVU1409 4977 @ sp needed 4978 0012 10BD pop {r4, pc} 4979 .cfi_endproc 4980 .LFE99: 4982 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits 4983 .align 1 4984 .weak HAL_UART_AbortReceiveCpltCallback 4985 .syntax unified 4986 .code 16 4987 .thumb_func 4988 .fpu softvfp 4990 HAL_UART_AbortReceiveCpltCallback: 4991 .LVL336: 4992 .LFB70: 2697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4993 .loc 1 2697 1 is_stmt 1 view -0 4994 .cfi_startproc 4995 @ args = 0, pretend = 0, frame = 0 4996 @ frame_needed = 0, uses_anonymous_args = 0 4997 @ link register save eliminated. 2699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4998 .loc 1 2699 3 view .LVU1411 2704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4999 .loc 1 2704 1 is_stmt 0 view .LVU1412 5000 @ sp needed 5001 0000 7047 bx lr ARM GAS /tmp/ccwvDHH5.s page 185 5002 .cfi_endproc 5003 .LFE70: 5005 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits 5006 .align 1 5007 .global HAL_UART_AbortReceive_IT 5008 .syntax unified 5009 .code 16 5010 .thumb_func 5011 .fpu softvfp 5013 HAL_UART_AbortReceive_IT: 5014 .LVL337: 5015 .LFB61: 2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 5016 .loc 1 2205 1 is_stmt 1 view -0 5017 .cfi_startproc 5018 @ args = 0, pretend = 0, frame = 0 5019 @ frame_needed = 0, uses_anonymous_args = 0 2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 5020 .loc 1 2205 1 is_stmt 0 view .LVU1414 5021 0000 70B5 push {r4, r5, r6, lr} 5022 .LCFI23: 5023 .cfi_def_cfa_offset 16 5024 .cfi_offset 4, -16 5025 .cfi_offset 5, -12 5026 .cfi_offset 6, -8 5027 .cfi_offset 14, -4 5028 0002 0400 movs r4, r0 2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5029 .loc 1 2207 3 is_stmt 1 view .LVU1415 5030 .LBB851: 2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5031 .loc 1 2207 3 view .LVU1416 2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5032 .loc 1 2207 3 view .LVU1417 5033 .LBB852: 5034 .LBI852: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5035 .loc 2 382 31 view .LVU1418 5036 .LBB853: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 5037 .loc 2 384 3 view .LVU1419 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5038 .loc 2 386 3 view .LVU1420 5039 .syntax divided 5040 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5041 0004 EFF31080 MRS r0, primask 5042 @ 0 "" 2 5043 .LVL338: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5044 .loc 2 387 3 view .LVU1421 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5045 .loc 2 387 3 is_stmt 0 view .LVU1422 5046 .thumb 5047 .syntax unified 5048 .LBE853: 5049 .LBE852: 2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); ARM GAS /tmp/ccwvDHH5.s page 186 5050 .loc 1 2207 3 is_stmt 1 view .LVU1423 5051 .LBB854: 5052 .LBI854: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5053 .loc 2 412 27 view .LVU1424 5054 .LBB855: 5055 .loc 2 414 3 view .LVU1425 5056 0008 0122 movs r2, #1 5057 .syntax divided 5058 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5059 000a 82F31088 MSR primask, r2 5060 @ 0 "" 2 5061 .LVL339: 5062 .loc 2 414 3 is_stmt 0 view .LVU1426 5063 .thumb 5064 .syntax unified 5065 .LBE855: 5066 .LBE854: 2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5067 .loc 1 2207 3 is_stmt 1 view .LVU1427 5068 000e 2168 ldr r1, [r4] 5069 0010 0B68 ldr r3, [r1] 5070 0012 2E4D ldr r5, .L149 5071 0014 2B40 ands r3, r5 5072 0016 0B60 str r3, [r1] 2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5073 .loc 1 2207 3 view .LVU1428 5074 .LVL340: 5075 .LBB856: 5076 .LBI856: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5077 .loc 2 412 27 view .LVU1429 5078 .LBB857: 5079 .loc 2 414 3 view .LVU1430 5080 .syntax divided 5081 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5082 0018 80F31088 MSR primask, r0 5083 @ 0 "" 2 5084 .LVL341: 5085 .loc 2 414 3 is_stmt 0 view .LVU1431 5086 .thumb 5087 .syntax unified 5088 .LBE857: 5089 .LBE856: 5090 .LBE851: 2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5091 .loc 1 2208 3 is_stmt 1 view .LVU1432 5092 .LBB858: 2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5093 .loc 1 2208 3 view .LVU1433 2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5094 .loc 1 2208 3 view .LVU1434 5095 .LBB859: 5096 .LBI859: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5097 .loc 2 382 31 view .LVU1435 5098 .LBB860: ARM GAS /tmp/ccwvDHH5.s page 187 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 5099 .loc 2 384 3 view .LVU1436 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5100 .loc 2 386 3 view .LVU1437 5101 .syntax divided 5102 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5103 001c EFF31080 MRS r0, primask 5104 @ 0 "" 2 5105 .LVL342: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5106 .loc 2 387 3 view .LVU1438 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5107 .loc 2 387 3 is_stmt 0 view .LVU1439 5108 .thumb 5109 .syntax unified 5110 .LBE860: 5111 .LBE859: 2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5112 .loc 1 2208 3 is_stmt 1 view .LVU1440 5113 .LBB861: 5114 .LBI861: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5115 .loc 2 412 27 view .LVU1441 5116 .LBB862: 5117 .loc 2 414 3 view .LVU1442 5118 .syntax divided 5119 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5120 0020 82F31088 MSR primask, r2 5121 @ 0 "" 2 5122 .LVL343: 5123 .loc 2 414 3 is_stmt 0 view .LVU1443 5124 .thumb 5125 .syntax unified 5126 .LBE862: 5127 .LBE861: 2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5128 .loc 1 2208 3 is_stmt 1 view .LVU1444 5129 0024 2168 ldr r1, [r4] 5130 0026 8B68 ldr r3, [r1, #8] 5131 0028 9343 bics r3, r2 5132 002a 8B60 str r3, [r1, #8] 2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5133 .loc 1 2208 3 view .LVU1445 5134 .LVL344: 5135 .LBB863: 5136 .LBI863: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5137 .loc 2 412 27 view .LVU1446 5138 .LBB864: 5139 .loc 2 414 3 view .LVU1447 5140 .syntax divided 5141 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5142 002c 80F31088 MSR primask, r0 5143 @ 0 "" 2 5144 .LVL345: 5145 .loc 2 414 3 is_stmt 0 view .LVU1448 5146 .thumb ARM GAS /tmp/ccwvDHH5.s page 188 5147 .syntax unified 5148 .LBE864: 5149 .LBE863: 5150 .LBE858: 2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5151 .loc 1 2211 3 is_stmt 1 view .LVU1449 2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5152 .loc 1 2211 12 is_stmt 0 view .LVU1450 5153 0030 236E ldr r3, [r4, #96] 2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5154 .loc 1 2211 6 view .LVU1451 5155 0032 012B cmp r3, #1 5156 0034 1DD0 beq .L148 5157 .LVL346: 5158 .L144: 2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5159 .loc 1 2217 3 is_stmt 1 view .LVU1452 2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5160 .loc 1 2217 7 is_stmt 0 view .LVU1453 5161 0036 2368 ldr r3, [r4] 5162 0038 9A68 ldr r2, [r3, #8] 2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5163 .loc 1 2217 6 view .LVU1454 5164 003a 5206 lsls r2, r2, #25 5165 003c 38D5 bpl .L145 2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5166 .loc 1 2219 5 is_stmt 1 view .LVU1455 5167 .LBB865: 2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5168 .loc 1 2219 5 view .LVU1456 2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5169 .loc 1 2219 5 view .LVU1457 5170 .LBB866: 5171 .LBI866: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5172 .loc 2 382 31 view .LVU1458 5173 .LBB867: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 5174 .loc 2 384 3 view .LVU1459 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5175 .loc 2 386 3 view .LVU1460 5176 .syntax divided 5177 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5178 003e EFF31081 MRS r1, primask 5179 @ 0 "" 2 5180 .LVL347: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5181 .loc 2 387 3 view .LVU1461 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5182 .loc 2 387 3 is_stmt 0 view .LVU1462 5183 .thumb 5184 .syntax unified 5185 .LBE867: 5186 .LBE866: 2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5187 .loc 1 2219 5 is_stmt 1 view .LVU1463 5188 .LBB868: ARM GAS /tmp/ccwvDHH5.s page 189 5189 .LBI868: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5190 .loc 2 412 27 view .LVU1464 5191 .LBB869: 5192 .loc 2 414 3 view .LVU1465 5193 0042 0123 movs r3, #1 5194 .syntax divided 5195 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5196 0044 83F31088 MSR primask, r3 5197 @ 0 "" 2 5198 .LVL348: 5199 .loc 2 414 3 is_stmt 0 view .LVU1466 5200 .thumb 5201 .syntax unified 5202 .LBE869: 5203 .LBE868: 2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5204 .loc 1 2219 5 is_stmt 1 view .LVU1467 5205 0048 2268 ldr r2, [r4] 5206 004a 9368 ldr r3, [r2, #8] 5207 004c 4020 movs r0, #64 5208 004e 8343 bics r3, r0 5209 0050 9360 str r3, [r2, #8] 2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5210 .loc 1 2219 5 view .LVU1468 5211 .LVL349: 5212 .LBB870: 5213 .LBI870: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5214 .loc 2 412 27 view .LVU1469 5215 .LBB871: 5216 .loc 2 414 3 view .LVU1470 5217 .syntax divided 5218 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5219 0052 81F31088 MSR primask, r1 5220 @ 0 "" 2 5221 .LVL350: 5222 .loc 2 414 3 is_stmt 0 view .LVU1471 5223 .thumb 5224 .syntax unified 5225 .LBE871: 5226 .LBE870: 5227 .LBE865: 2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5228 .loc 1 2222 5 is_stmt 1 view .LVU1472 2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5229 .loc 1 2222 14 is_stmt 0 view .LVU1473 5230 0056 236F ldr r3, [r4, #112] 2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5231 .loc 1 2222 8 view .LVU1474 5232 0058 002B cmp r3, #0 5233 005a 16D0 beq .L146 2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5234 .loc 1 2226 7 is_stmt 1 view .LVU1475 2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5235 .loc 1 2226 40 is_stmt 0 view .LVU1476 5236 005c 1C4A ldr r2, .L149+4 ARM GAS /tmp/ccwvDHH5.s page 190 5237 005e 5A63 str r2, [r3, #52] 2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5238 .loc 1 2229 7 is_stmt 1 view .LVU1477 2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5239 .loc 1 2229 11 is_stmt 0 view .LVU1478 5240 0060 206F ldr r0, [r4, #112] 5241 0062 FFF7FEFF bl HAL_DMA_Abort_IT 5242 .LVL351: 2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5243 .loc 1 2229 10 view .LVU1479 5244 0066 0028 cmp r0, #0 5245 0068 2ED0 beq .L147 2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5246 .loc 1 2232 9 is_stmt 1 view .LVU1480 2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5247 .loc 1 2232 14 is_stmt 0 view .LVU1481 5248 006a 206F ldr r0, [r4, #112] 2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5249 .loc 1 2232 22 view .LVU1482 5250 006c 436B ldr r3, [r0, #52] 2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5251 .loc 1 2232 9 view .LVU1483 5252 006e 9847 blx r3 5253 .LVL352: 5254 0070 2AE0 b .L147 5255 .LVL353: 5256 .L148: 2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5257 .loc 1 2213 5 is_stmt 1 view .LVU1484 5258 .LBB872: 2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5259 .loc 1 2213 5 view .LVU1485 2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5260 .loc 1 2213 5 view .LVU1486 5261 .LBB873: 5262 .LBI873: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5263 .loc 2 382 31 view .LVU1487 5264 .LBB874: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 5265 .loc 2 384 3 view .LVU1488 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5266 .loc 2 386 3 view .LVU1489 5267 .syntax divided 5268 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5269 0072 EFF31081 MRS r1, primask 5270 @ 0 "" 2 5271 .LVL354: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5272 .loc 2 387 3 view .LVU1490 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5273 .loc 2 387 3 is_stmt 0 view .LVU1491 5274 .thumb 5275 .syntax unified 5276 .LBE874: 5277 .LBE873: 2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } ARM GAS /tmp/ccwvDHH5.s page 191 5278 .loc 1 2213 5 is_stmt 1 view .LVU1492 5279 .LBB875: 5280 .LBI875: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5281 .loc 2 412 27 view .LVU1493 5282 .LBB876: 5283 .loc 2 414 3 view .LVU1494 5284 .syntax divided 5285 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5286 0076 83F31088 MSR primask, r3 5287 @ 0 "" 2 5288 .LVL355: 5289 .loc 2 414 3 is_stmt 0 view .LVU1495 5290 .thumb 5291 .syntax unified 5292 .LBE876: 5293 .LBE875: 2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5294 .loc 1 2213 5 is_stmt 1 view .LVU1496 5295 007a 2268 ldr r2, [r4] 5296 007c 1368 ldr r3, [r2] 5297 007e 1020 movs r0, #16 5298 .LVL356: 2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5299 .loc 1 2213 5 is_stmt 0 view .LVU1497 5300 0080 8343 bics r3, r0 5301 0082 1360 str r3, [r2] 2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5302 .loc 1 2213 5 is_stmt 1 view .LVU1498 5303 .LVL357: 5304 .LBB877: 5305 .LBI877: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5306 .loc 2 412 27 view .LVU1499 5307 .LBB878: 5308 .loc 2 414 3 view .LVU1500 5309 .syntax divided 5310 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5311 0084 81F31088 MSR primask, r1 5312 @ 0 "" 2 5313 .thumb 5314 .syntax unified 5315 0088 D5E7 b .L144 5316 .LVL358: 5317 .L146: 5318 .loc 2 414 3 is_stmt 0 view .LVU1501 5319 .LBE878: 5320 .LBE877: 5321 .LBE872: 2238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5322 .loc 1 2238 7 is_stmt 1 view .LVU1502 2238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5323 .loc 1 2238 26 is_stmt 0 view .LVU1503 5324 008a 0023 movs r3, #0 5325 008c 5A22 movs r2, #90 5326 008e A352 strh r3, [r4, r2] 2241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 192 5327 .loc 1 2241 7 is_stmt 1 view .LVU1504 2241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5328 .loc 1 2241 25 is_stmt 0 view .LVU1505 5329 0090 6365 str r3, [r4, #84] 2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5330 .loc 1 2244 7 is_stmt 1 view .LVU1506 5331 0092 2268 ldr r2, [r4] 5332 0094 0F21 movs r1, #15 5333 .LVL359: 2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5334 .loc 1 2244 7 is_stmt 0 view .LVU1507 5335 0096 1162 str r1, [r2, #32] 2247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5336 .loc 1 2247 7 is_stmt 1 view .LVU1508 5337 0098 2168 ldr r1, [r4] 5338 009a 8A69 ldr r2, [r1, #24] 5339 009c 0820 movs r0, #8 5340 009e 0243 orrs r2, r0 5341 00a0 8A61 str r2, [r1, #24] 2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5342 .loc 1 2250 7 view .LVU1509 2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5343 .loc 1 2250 22 is_stmt 0 view .LVU1510 5344 00a2 2022 movs r2, #32 5345 00a4 E267 str r2, [r4, #124] 2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5346 .loc 1 2251 7 is_stmt 1 view .LVU1511 2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5347 .loc 1 2251 28 is_stmt 0 view .LVU1512 5348 00a6 2366 str r3, [r4, #96] 2259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5349 .loc 1 2259 7 is_stmt 1 view .LVU1513 5350 00a8 2000 movs r0, r4 5351 00aa FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 5352 .LVL360: 5353 00ae 0BE0 b .L147 5354 .L145: 2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5355 .loc 1 2266 5 view .LVU1514 2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5356 .loc 1 2266 24 is_stmt 0 view .LVU1515 5357 00b0 0022 movs r2, #0 5358 00b2 5A21 movs r1, #90 5359 00b4 6252 strh r2, [r4, r1] 2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5360 .loc 1 2269 5 is_stmt 1 view .LVU1516 2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5361 .loc 1 2269 23 is_stmt 0 view .LVU1517 5362 00b6 6265 str r2, [r4, #84] 2272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5363 .loc 1 2272 5 is_stmt 1 view .LVU1518 5364 00b8 4B39 subs r1, r1, #75 5365 00ba 1962 str r1, [r3, #32] 2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5366 .loc 1 2275 5 view .LVU1519 2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5367 .loc 1 2275 20 is_stmt 0 view .LVU1520 ARM GAS /tmp/ccwvDHH5.s page 193 5368 00bc 2023 movs r3, #32 5369 00be E367 str r3, [r4, #124] 2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5370 .loc 1 2276 5 is_stmt 1 view .LVU1521 2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5371 .loc 1 2276 26 is_stmt 0 view .LVU1522 5372 00c0 2266 str r2, [r4, #96] 2284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5373 .loc 1 2284 5 is_stmt 1 view .LVU1523 5374 00c2 2000 movs r0, r4 5375 00c4 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 5376 .LVL361: 5377 .L147: 2288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5378 .loc 1 2288 3 view .LVU1524 2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5379 .loc 1 2289 1 is_stmt 0 view .LVU1525 5380 00c8 0020 movs r0, #0 5381 @ sp needed 5382 .LVL362: 2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5383 .loc 1 2289 1 view .LVU1526 5384 00ca 70BD pop {r4, r5, r6, pc} 5385 .L150: 5386 .align 2 5387 .L149: 5388 00cc DFFEFFFF .word -289 5389 00d0 00000000 .word UART_DMARxOnlyAbortCallback 5390 .cfi_endproc 5391 .LFE61: 5393 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits 5394 .align 1 5395 .syntax unified 5396 .code 16 5397 .thumb_func 5398 .fpu softvfp 5400 UART_DMARxOnlyAbortCallback: 5401 .LVL363: 5402 .LFB100: 3847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 5403 .loc 1 3847 1 is_stmt 1 view -0 5404 .cfi_startproc 5405 @ args = 0, pretend = 0, frame = 0 5406 @ frame_needed = 0, uses_anonymous_args = 0 3847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 5407 .loc 1 3847 1 is_stmt 0 view .LVU1528 5408 0000 10B5 push {r4, lr} 5409 .LCFI24: 5410 .cfi_def_cfa_offset 8 5411 .cfi_offset 4, -8 5412 .cfi_offset 14, -4 3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5413 .loc 1 3848 3 is_stmt 1 view .LVU1529 3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5414 .loc 1 3848 23 is_stmt 0 view .LVU1530 5415 0002 406A ldr r0, [r0, #36] 5416 .LVL364: ARM GAS /tmp/ccwvDHH5.s page 194 3850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5417 .loc 1 3850 3 is_stmt 1 view .LVU1531 3850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5418 .loc 1 3850 22 is_stmt 0 view .LVU1532 5419 0004 0022 movs r2, #0 5420 0006 5A23 movs r3, #90 5421 0008 C252 strh r2, [r0, r3] 3853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5422 .loc 1 3853 3 is_stmt 1 view .LVU1533 5423 000a 0368 ldr r3, [r0] 5424 000c 0F21 movs r1, #15 5425 000e 1962 str r1, [r3, #32] 3856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5426 .loc 1 3856 3 view .LVU1534 5427 0010 0168 ldr r1, [r0] 5428 0012 8B69 ldr r3, [r1, #24] 5429 0014 0824 movs r4, #8 5430 0016 2343 orrs r3, r4 5431 0018 8B61 str r3, [r1, #24] 3859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5432 .loc 1 3859 3 view .LVU1535 3859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5433 .loc 1 3859 18 is_stmt 0 view .LVU1536 5434 001a 2023 movs r3, #32 5435 001c C367 str r3, [r0, #124] 3860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5436 .loc 1 3860 3 is_stmt 1 view .LVU1537 3860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5437 .loc 1 3860 24 is_stmt 0 view .LVU1538 5438 001e 0266 str r2, [r0, #96] 3868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5439 .loc 1 3868 3 is_stmt 1 view .LVU1539 5440 0020 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 5441 .LVL365: 3870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5442 .loc 1 3870 1 is_stmt 0 view .LVU1540 5443 @ sp needed 5444 0024 10BD pop {r4, pc} 5445 .cfi_endproc 5446 .LFE100: 5448 .section .text.HAL_UARTEx_RxEventCallback,"ax",%progbits 5449 .align 1 5450 .weak HAL_UARTEx_RxEventCallback 5451 .syntax unified 5452 .code 16 5453 .thumb_func 5454 .fpu softvfp 5456 HAL_UARTEx_RxEventCallback: 5457 .LVL366: 5458 .LFB71: 2714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 5459 .loc 1 2714 1 is_stmt 1 view -0 5460 .cfi_startproc 5461 @ args = 0, pretend = 0, frame = 0 5462 @ frame_needed = 0, uses_anonymous_args = 0 5463 @ link register save eliminated. 2716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(Size); ARM GAS /tmp/ccwvDHH5.s page 195 5464 .loc 1 2716 3 view .LVU1542 2717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5465 .loc 1 2717 3 view .LVU1543 2722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5466 .loc 1 2722 1 is_stmt 0 view .LVU1544 5467 @ sp needed 5468 0000 7047 bx lr 5469 .cfi_endproc 5470 .LFE71: 5472 .section .text.HAL_UART_IRQHandler,"ax",%progbits 5473 .align 1 5474 .global HAL_UART_IRQHandler 5475 .syntax unified 5476 .code 16 5477 .thumb_func 5478 .fpu softvfp 5480 HAL_UART_IRQHandler: 5481 .LVL367: 5482 .LFB62: 2297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 5483 .loc 1 2297 1 is_stmt 1 view -0 5484 .cfi_startproc 5485 @ args = 0, pretend = 0, frame = 0 5486 @ frame_needed = 0, uses_anonymous_args = 0 2297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 5487 .loc 1 2297 1 is_stmt 0 view .LVU1546 5488 0000 70B5 push {r4, r5, r6, lr} 5489 .LCFI25: 5490 .cfi_def_cfa_offset 16 5491 .cfi_offset 4, -16 5492 .cfi_offset 5, -12 5493 .cfi_offset 6, -8 5494 .cfi_offset 14, -4 5495 0002 0400 movs r4, r0 2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 5496 .loc 1 2298 3 is_stmt 1 view .LVU1547 2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 5497 .loc 1 2298 25 is_stmt 0 view .LVU1548 5498 0004 0168 ldr r1, [r0] 2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 5499 .loc 1 2298 12 view .LVU1549 5500 0006 CB69 ldr r3, [r1, #28] 5501 .LVL368: 2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 5502 .loc 1 2299 3 is_stmt 1 view .LVU1550 2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 5503 .loc 1 2299 12 is_stmt 0 view .LVU1551 5504 0008 0868 ldr r0, [r1] 5505 .LVL369: 2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5506 .loc 1 2300 3 is_stmt 1 view .LVU1552 2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5507 .loc 1 2300 12 is_stmt 0 view .LVU1553 5508 000a 8D68 ldr r5, [r1, #8] 5509 .LVL370: 2302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t errorcode; 5510 .loc 1 2302 3 is_stmt 1 view .LVU1554 ARM GAS /tmp/ccwvDHH5.s page 196 2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5511 .loc 1 2303 3 view .LVU1555 2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (errorflags == 0U) 5512 .loc 1 2306 3 view .LVU1556 2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (errorflags == 0U) 5513 .loc 1 2306 14 is_stmt 0 view .LVU1557 5514 000c A84A ldr r2, .L185 5515 000e 1A40 ands r2, r3 5516 .LVL371: 2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5517 .loc 1 2307 3 is_stmt 1 view .LVU1558 2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5518 .loc 1 2307 6 is_stmt 0 view .LVU1559 5519 0010 03D1 bne .L154 2310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 5520 .loc 1 2310 5 is_stmt 1 view .LVU1560 2310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 5521 .loc 1 2310 8 is_stmt 0 view .LVU1561 5522 0012 9E06 lsls r6, r3, #26 5523 0014 01D5 bpl .L154 2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5524 .loc 1 2311 9 view .LVU1562 5525 0016 8606 lsls r6, r0, #26 5526 0018 1BD4 bmi .L179 5527 .L154: 2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (((cr3its & USART_CR3_EIE) != 0U) 5528 .loc 1 2322 3 is_stmt 1 view .LVU1563 2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (((cr3its & USART_CR3_EIE) != 0U) 5529 .loc 1 2322 6 is_stmt 0 view .LVU1564 5530 001a 002A cmp r2, #0 5531 001c 05D0 beq .L157 2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))) 5532 .loc 1 2323 20 view .LVU1565 5533 001e 0122 movs r2, #1 5534 .LVL372: 2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))) 5535 .loc 1 2323 20 view .LVU1566 5536 0020 2A40 ands r2, r5 2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))) 5537 .loc 1 2323 7 view .LVU1567 5538 0022 1CD1 bne .L158 2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5539 .loc 1 2324 23 view .LVU1568 5540 0024 A34E ldr r6, .L185+4 2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5541 .loc 1 2324 11 view .LVU1569 5542 0026 3042 tst r0, r6 5543 0028 19D1 bne .L158 5544 .L157: 2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 5545 .loc 1 2459 3 is_stmt 1 view .LVU1570 2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 5546 .loc 1 2459 13 is_stmt 0 view .LVU1571 5547 002a 226E ldr r2, [r4, #96] 2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 5548 .loc 1 2459 6 view .LVU1572 5549 002c 012A cmp r2, #1 ARM GAS /tmp/ccwvDHH5.s page 197 5550 002e 00D1 bne .LCB4292 5551 0030 98E0 b .L180 @long jump 5552 .LCB4292: 5553 .L171: 2547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5554 .loc 1 2547 3 is_stmt 1 view .LVU1573 2547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5555 .loc 1 2547 6 is_stmt 0 view .LVU1574 5556 0032 DA02 lsls r2, r3, #11 5557 0034 02D5 bpl .L176 2547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5558 .loc 1 2547 42 discriminator 1 view .LVU1575 5559 0036 6A02 lsls r2, r5, #9 5560 0038 00D5 bpl .LCB4302 5561 003a 27E1 b .L181 @long jump 5562 .LCB4302: 5563 .L176: 2567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U)) 5564 .loc 1 2567 3 is_stmt 1 view .LVU1576 2567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U)) 5565 .loc 1 2567 6 is_stmt 0 view .LVU1577 5566 003c 1A06 lsls r2, r3, #24 5567 003e 02D5 bpl .L177 2568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5568 .loc 1 2568 7 view .LVU1578 5569 0040 0206 lsls r2, r0, #24 5570 0042 00D5 bpl .LCB4312 5571 0044 29E1 b .L182 @long jump 5572 .LCB4312: 5573 .L177: 2578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5574 .loc 1 2578 3 is_stmt 1 view .LVU1579 2578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5575 .loc 1 2578 6 is_stmt 0 view .LVU1580 5576 0046 5B06 lsls r3, r3, #25 5577 0048 02D5 bpl .L153 5578 .LVL373: 2578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5579 .loc 1 2578 41 discriminator 1 view .LVU1581 5580 004a 4306 lsls r3, r0, #25 5581 004c 00D5 bpl .LCB4324 5582 004e 2BE1 b .L183 @long jump 5583 .LCB4324: 5584 .LVL374: 5585 .L153: 2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5586 .loc 1 2584 1 view .LVU1582 5587 @ sp needed 5588 .LVL375: 2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5589 .loc 1 2584 1 view .LVU1583 5590 0050 70BD pop {r4, r5, r6, pc} 5591 .LVL376: 5592 .L179: 2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5593 .loc 1 2313 7 is_stmt 1 view .LVU1584 2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 198 5594 .loc 1 2313 16 is_stmt 0 view .LVU1585 5595 0052 636E ldr r3, [r4, #100] 5596 .LVL377: 2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5597 .loc 1 2313 10 view .LVU1586 5598 0054 002B cmp r3, #0 5599 0056 FBD0 beq .L153 2315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5600 .loc 1 2315 9 is_stmt 1 view .LVU1587 5601 0058 2000 movs r0, r4 5602 .LVL378: 2315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5603 .loc 1 2315 9 is_stmt 0 view .LVU1588 5604 005a 9847 blx r3 5605 .LVL379: 2317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5606 .loc 1 2317 7 is_stmt 1 view .LVU1589 5607 005c F8E7 b .L153 5608 .LVL380: 5609 .L158: 2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5610 .loc 1 2327 5 view .LVU1590 2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5611 .loc 1 2327 8 is_stmt 0 view .LVU1591 5612 005e DD07 lsls r5, r3, #31 5613 0060 07D5 bpl .L159 5614 .LVL381: 2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5615 .loc 1 2327 43 discriminator 1 view .LVU1592 5616 0062 C505 lsls r5, r0, #23 5617 0064 05D5 bpl .L159 2329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5618 .loc 1 2329 7 is_stmt 1 view .LVU1593 5619 0066 0126 movs r6, #1 5620 0068 0E62 str r6, [r1, #32] 2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5621 .loc 1 2331 7 view .LVU1594 2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5622 .loc 1 2331 24 is_stmt 0 view .LVU1595 5623 006a 8025 movs r5, #128 5624 006c 6159 ldr r1, [r4, r5] 5625 006e 3143 orrs r1, r6 5626 0070 6151 str r1, [r4, r5] 5627 .L159: 2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5628 .loc 1 2335 5 is_stmt 1 view .LVU1596 2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5629 .loc 1 2335 8 is_stmt 0 view .LVU1597 5630 0072 9907 lsls r1, r3, #30 5631 0074 09D5 bpl .L160 2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5632 .loc 1 2335 43 discriminator 1 view .LVU1598 5633 0076 002A cmp r2, #0 5634 0078 07D0 beq .L160 2337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5635 .loc 1 2337 7 is_stmt 1 view .LVU1599 5636 007a 2168 ldr r1, [r4] ARM GAS /tmp/ccwvDHH5.s page 199 5637 007c 0225 movs r5, #2 5638 007e 0D62 str r5, [r1, #32] 2339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5639 .loc 1 2339 7 view .LVU1600 2339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5640 .loc 1 2339 24 is_stmt 0 view .LVU1601 5641 0080 7E35 adds r5, r5, #126 5642 0082 6159 ldr r1, [r4, r5] 5643 0084 0426 movs r6, #4 5644 0086 3143 orrs r1, r6 5645 0088 6151 str r1, [r4, r5] 5646 .L160: 2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5647 .loc 1 2343 5 is_stmt 1 view .LVU1602 2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5648 .loc 1 2343 8 is_stmt 0 view .LVU1603 5649 008a 5907 lsls r1, r3, #29 5650 008c 09D5 bpl .L161 2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5651 .loc 1 2343 43 discriminator 1 view .LVU1604 5652 008e 002A cmp r2, #0 5653 0090 07D0 beq .L161 2345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5654 .loc 1 2345 7 is_stmt 1 view .LVU1605 5655 0092 2168 ldr r1, [r4] 5656 0094 0425 movs r5, #4 5657 0096 0D62 str r5, [r1, #32] 2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5658 .loc 1 2347 7 view .LVU1606 2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5659 .loc 1 2347 24 is_stmt 0 view .LVU1607 5660 0098 7C35 adds r5, r5, #124 5661 009a 6159 ldr r1, [r4, r5] 5662 009c 0226 movs r6, #2 5663 009e 3143 orrs r1, r6 5664 00a0 6151 str r1, [r4, r5] 5665 .L161: 2351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) || 5666 .loc 1 2351 5 is_stmt 1 view .LVU1608 2351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) || 5667 .loc 1 2351 8 is_stmt 0 view .LVU1609 5668 00a2 1907 lsls r1, r3, #28 5669 00a4 0AD5 bpl .L162 2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U))) 5670 .loc 1 2352 9 view .LVU1610 5671 00a6 8106 lsls r1, r0, #26 5672 00a8 01D4 bmi .L163 2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U))) 5673 .loc 1 2352 49 discriminator 1 view .LVU1611 5674 00aa 002A cmp r2, #0 5675 00ac 06D0 beq .L162 5676 .L163: 2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5677 .loc 1 2355 7 is_stmt 1 view .LVU1612 5678 00ae 2268 ldr r2, [r4] 5679 00b0 0825 movs r5, #8 5680 00b2 1562 str r5, [r2, #32] ARM GAS /tmp/ccwvDHH5.s page 200 2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5681 .loc 1 2357 7 view .LVU1613 2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5682 .loc 1 2357 24 is_stmt 0 view .LVU1614 5683 00b4 8021 movs r1, #128 5684 00b6 6258 ldr r2, [r4, r1] 5685 00b8 2A43 orrs r2, r5 5686 00ba 6250 str r2, [r4, r1] 5687 .L162: 2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5688 .loc 1 2361 5 is_stmt 1 view .LVU1615 2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5689 .loc 1 2361 8 is_stmt 0 view .LVU1616 5690 00bc 1A05 lsls r2, r3, #20 5691 00be 0AD5 bpl .L164 2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5692 .loc 1 2361 45 discriminator 1 view .LVU1617 5693 00c0 4201 lsls r2, r0, #5 5694 00c2 08D5 bpl .L164 2363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5695 .loc 1 2363 7 is_stmt 1 view .LVU1618 5696 00c4 2268 ldr r2, [r4] 5697 00c6 8021 movs r1, #128 5698 00c8 0901 lsls r1, r1, #4 5699 00ca 1162 str r1, [r2, #32] 2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5700 .loc 1 2365 7 view .LVU1619 2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5701 .loc 1 2365 24 is_stmt 0 view .LVU1620 5702 00cc 8021 movs r1, #128 5703 00ce 6258 ldr r2, [r4, r1] 5704 00d0 2025 movs r5, #32 5705 00d2 2A43 orrs r2, r5 5706 00d4 6250 str r2, [r4, r1] 5707 .L164: 2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5708 .loc 1 2369 5 is_stmt 1 view .LVU1621 2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5709 .loc 1 2369 14 is_stmt 0 view .LVU1622 5710 00d6 8022 movs r2, #128 5711 00d8 A258 ldr r2, [r4, r2] 2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5712 .loc 1 2369 8 view .LVU1623 5713 00da 002A cmp r2, #0 5714 00dc B8D0 beq .L153 2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 5715 .loc 1 2372 7 is_stmt 1 view .LVU1624 2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 5716 .loc 1 2372 10 is_stmt 0 view .LVU1625 5717 00de 9B06 lsls r3, r3, #26 5718 00e0 06D5 bpl .L166 5719 .LVL382: 2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5720 .loc 1 2373 11 view .LVU1626 5721 00e2 8306 lsls r3, r0, #26 5722 00e4 04D5 bpl .L166 2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 201 5723 .loc 1 2375 9 is_stmt 1 view .LVU1627 2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5724 .loc 1 2375 18 is_stmt 0 view .LVU1628 5725 00e6 636E ldr r3, [r4, #100] 2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5726 .loc 1 2375 12 view .LVU1629 5727 00e8 002B cmp r3, #0 5728 00ea 01D0 beq .L166 2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5729 .loc 1 2377 11 is_stmt 1 view .LVU1630 5730 00ec 2000 movs r0, r4 5731 .LVL383: 2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5732 .loc 1 2377 11 is_stmt 0 view .LVU1631 5733 00ee 9847 blx r3 5734 .LVL384: 5735 .L166: 2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 5736 .loc 1 2386 7 is_stmt 1 view .LVU1632 2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 5737 .loc 1 2386 17 is_stmt 0 view .LVU1633 5738 00f0 8023 movs r3, #128 5739 00f2 E258 ldr r2, [r4, r3] 5740 .LVL385: 2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5741 .loc 1 2387 7 is_stmt 1 view .LVU1634 2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5742 .loc 1 2387 12 is_stmt 0 view .LVU1635 5743 00f4 2368 ldr r3, [r4] 5744 00f6 9B68 ldr r3, [r3, #8] 2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5745 .loc 1 2387 10 view .LVU1636 5746 00f8 5B06 lsls r3, r3, #25 5747 00fa 02D4 bmi .L167 2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5748 .loc 1 2388 23 discriminator 1 view .LVU1637 5749 00fc 2823 movs r3, #40 2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5750 .loc 1 2387 66 discriminator 1 view .LVU1638 5751 00fe 1342 tst r3, r2 5752 0100 29D0 beq .L168 5753 .L167: 2393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5754 .loc 1 2393 9 is_stmt 1 view .LVU1639 5755 0102 2000 movs r0, r4 5756 0104 FFF7FEFF bl UART_EndRxTransfer 5757 .LVL386: 2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5758 .loc 1 2396 9 view .LVU1640 2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5759 .loc 1 2396 13 is_stmt 0 view .LVU1641 5760 0108 2368 ldr r3, [r4] 5761 010a 9B68 ldr r3, [r3, #8] 2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5762 .loc 1 2396 12 view .LVU1642 5763 010c 5B06 lsls r3, r3, #25 5764 010e 1ED5 bpl .L169 ARM GAS /tmp/ccwvDHH5.s page 202 2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5765 .loc 1 2398 11 is_stmt 1 view .LVU1643 5766 .LBB879: 2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5767 .loc 1 2398 11 view .LVU1644 2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5768 .loc 1 2398 11 view .LVU1645 5769 .LBB880: 5770 .LBI880: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5771 .loc 2 382 31 view .LVU1646 5772 .LBB881: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 5773 .loc 2 384 3 view .LVU1647 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5774 .loc 2 386 3 view .LVU1648 5775 .syntax divided 5776 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5777 0110 EFF31081 MRS r1, primask 5778 @ 0 "" 2 5779 .LVL387: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5780 .loc 2 387 3 view .LVU1649 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5781 .loc 2 387 3 is_stmt 0 view .LVU1650 5782 .thumb 5783 .syntax unified 5784 .LBE881: 5785 .LBE880: 2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5786 .loc 1 2398 11 is_stmt 1 view .LVU1651 5787 .LBB882: 5788 .LBI882: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5789 .loc 2 412 27 view .LVU1652 5790 .LBB883: 5791 .loc 2 414 3 view .LVU1653 5792 0114 0123 movs r3, #1 5793 .syntax divided 5794 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5795 0116 83F31088 MSR primask, r3 5796 @ 0 "" 2 5797 .LVL388: 5798 .loc 2 414 3 is_stmt 0 view .LVU1654 5799 .thumb 5800 .syntax unified 5801 .LBE883: 5802 .LBE882: 2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5803 .loc 1 2398 11 is_stmt 1 view .LVU1655 5804 011a 2268 ldr r2, [r4] 5805 011c 9368 ldr r3, [r2, #8] 5806 011e 4020 movs r0, #64 5807 0120 8343 bics r3, r0 5808 0122 9360 str r3, [r2, #8] 2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5809 .loc 1 2398 11 view .LVU1656 ARM GAS /tmp/ccwvDHH5.s page 203 5810 .LVL389: 5811 .LBB884: 5812 .LBI884: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5813 .loc 2 412 27 view .LVU1657 5814 .LBB885: 5815 .loc 2 414 3 view .LVU1658 5816 .syntax divided 5817 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5818 0124 81F31088 MSR primask, r1 5819 @ 0 "" 2 5820 .LVL390: 5821 .loc 2 414 3 is_stmt 0 view .LVU1659 5822 .thumb 5823 .syntax unified 5824 .LBE885: 5825 .LBE884: 5826 .LBE879: 2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5827 .loc 1 2401 11 is_stmt 1 view .LVU1660 2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5828 .loc 1 2401 20 is_stmt 0 view .LVU1661 5829 0128 236F ldr r3, [r4, #112] 2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5830 .loc 1 2401 14 view .LVU1662 5831 012a 002B cmp r3, #0 5832 012c 0BD0 beq .L170 2405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5833 .loc 1 2405 13 is_stmt 1 view .LVU1663 2405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5834 .loc 1 2405 46 is_stmt 0 view .LVU1664 5835 012e 624A ldr r2, .L185+8 5836 0130 5A63 str r2, [r3, #52] 2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5837 .loc 1 2408 13 is_stmt 1 view .LVU1665 2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5838 .loc 1 2408 17 is_stmt 0 view .LVU1666 5839 0132 206F ldr r0, [r4, #112] 5840 0134 FFF7FEFF bl HAL_DMA_Abort_IT 5841 .LVL391: 2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5842 .loc 1 2408 16 view .LVU1667 5843 0138 0028 cmp r0, #0 5844 013a 00D1 bne .LCB4582 5845 013c 88E7 b .L153 @long jump 5846 .LCB4582: 2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5847 .loc 1 2411 15 is_stmt 1 view .LVU1668 2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5848 .loc 1 2411 20 is_stmt 0 view .LVU1669 5849 013e 206F ldr r0, [r4, #112] 2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5850 .loc 1 2411 28 view .LVU1670 5851 0140 436B ldr r3, [r0, #52] 2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5852 .loc 1 2411 15 view .LVU1671 5853 0142 9847 blx r3 ARM GAS /tmp/ccwvDHH5.s page 204 5854 .LVL392: 5855 0144 84E7 b .L153 5856 .LVL393: 5857 .L170: 2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5858 .loc 1 2422 13 is_stmt 1 view .LVU1672 5859 0146 2000 movs r0, r4 5860 0148 FFF7FEFF bl HAL_UART_ErrorCallback 5861 .LVL394: 2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5862 .loc 1 2422 13 is_stmt 0 view .LVU1673 5863 014c 80E7 b .L153 5864 .L169: 2435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5865 .loc 1 2435 11 is_stmt 1 view .LVU1674 5866 014e 2000 movs r0, r4 5867 0150 FFF7FEFF bl HAL_UART_ErrorCallback 5868 .LVL395: 5869 0154 7CE7 b .L153 5870 .LVL396: 5871 .L168: 2448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5872 .loc 1 2448 9 view .LVU1675 5873 0156 2000 movs r0, r4 5874 0158 FFF7FEFF bl HAL_UART_ErrorCallback 5875 .LVL397: 2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5876 .loc 1 2450 9 view .LVU1676 2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5877 .loc 1 2450 26 is_stmt 0 view .LVU1677 5878 015c 8023 movs r3, #128 5879 015e 0022 movs r2, #0 5880 0160 E250 str r2, [r4, r3] 2453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5881 .loc 1 2453 5 is_stmt 1 view .LVU1678 5882 0162 75E7 b .L153 5883 .LVL398: 5884 .L180: 2460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U)) 5885 .loc 1 2460 7 is_stmt 0 view .LVU1679 5886 0164 DA06 lsls r2, r3, #27 5887 0166 00D4 bmi .LCB4633 5888 0168 63E7 b .L171 @long jump 5889 .LCB4633: 2461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5890 .loc 1 2461 7 view .LVU1680 5891 016a C206 lsls r2, r0, #27 5892 016c 00D4 bmi .LCB4637 5893 016e 60E7 b .L171 @long jump 5894 .LCB4637: 2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5895 .loc 1 2463 5 is_stmt 1 view .LVU1681 5896 0170 1023 movs r3, #16 5897 .LVL399: 2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5898 .loc 1 2463 5 is_stmt 0 view .LVU1682 5899 0172 0B62 str r3, [r1, #32] ARM GAS /tmp/ccwvDHH5.s page 205 2466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5900 .loc 1 2466 5 is_stmt 1 view .LVU1683 2466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5901 .loc 1 2466 9 is_stmt 0 view .LVU1684 5902 0174 2368 ldr r3, [r4] 5903 0176 9B68 ldr r3, [r3, #8] 2466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5904 .loc 1 2466 8 view .LVU1685 5905 0178 5B06 lsls r3, r3, #25 5906 017a 4FD5 bpl .L172 5907 .LBB886: 2472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 5908 .loc 1 2472 7 is_stmt 1 view .LVU1686 2472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 5909 .loc 1 2472 50 is_stmt 0 view .LVU1687 5910 017c 226F ldr r2, [r4, #112] 5911 017e 1368 ldr r3, [r2] 5912 0180 5B68 ldr r3, [r3, #4] 2472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 5913 .loc 1 2472 16 view .LVU1688 5914 0182 9BB2 uxth r3, r3 5915 .LVL400: 2473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 5916 .loc 1 2473 7 is_stmt 1 view .LVU1689 2473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 5917 .loc 1 2473 10 is_stmt 0 view .LVU1690 5918 0184 002B cmp r3, #0 5919 0186 00D1 bne .LCB4659 5920 0188 62E7 b .L153 @long jump 5921 .LCB4659: 2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5922 .loc 1 2474 43 view .LVU1691 5923 018a 5821 movs r1, #88 5924 018c 615A ldrh r1, [r4, r1] 2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5925 .loc 1 2474 11 view .LVU1692 5926 018e 9942 cmp r1, r3 5927 0190 00D8 bhi .LCB4663 5928 0192 5DE7 b .L153 @long jump 5929 .LCB4663: 2477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5930 .loc 1 2477 9 is_stmt 1 view .LVU1693 2477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 5931 .loc 1 2477 28 is_stmt 0 view .LVU1694 5932 0194 5A21 movs r1, #90 5933 0196 6352 strh r3, [r4, r1] 2480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5934 .loc 1 2480 9 is_stmt 1 view .LVU1695 2480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5935 .loc 1 2480 32 is_stmt 0 view .LVU1696 5936 0198 9369 ldr r3, [r2, #24] 5937 .LVL401: 2480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 5938 .loc 1 2480 12 view .LVU1697 5939 019a 202B cmp r3, #32 5940 019c 09D1 bne .L184 5941 .LVL402: ARM GAS /tmp/ccwvDHH5.s page 206 5942 .L174: 2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5943 .loc 1 2504 9 is_stmt 1 view .LVU1698 2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5944 .loc 1 2504 49 is_stmt 0 view .LVU1699 5945 019e 5823 movs r3, #88 5946 01a0 E15A ldrh r1, [r4, r3] 2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5947 .loc 1 2504 69 view .LVU1700 5948 01a2 0233 adds r3, r3, #2 5949 01a4 E35A ldrh r3, [r4, r3] 2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5950 .loc 1 2504 9 view .LVU1701 5951 01a6 C91A subs r1, r1, r3 5952 01a8 89B2 uxth r1, r1 5953 01aa 2000 movs r0, r4 5954 01ac FFF7FEFF bl HAL_UARTEx_RxEventCallback 5955 .LVL403: 2507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 5956 .loc 1 2507 7 is_stmt 1 view .LVU1702 5957 01b0 4EE7 b .L153 5958 .LVL404: 5959 .L184: 2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5960 .loc 1 2483 11 view .LVU1703 5961 .LBB887: 2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5962 .loc 1 2483 11 view .LVU1704 2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5963 .loc 1 2483 11 view .LVU1705 5964 .LBB888: 5965 .LBI888: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5966 .loc 2 382 31 view .LVU1706 5967 .LBB889: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 5968 .loc 2 384 3 view .LVU1707 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5969 .loc 2 386 3 view .LVU1708 5970 .syntax divided 5971 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5972 01b2 EFF31080 MRS r0, primask 5973 @ 0 "" 2 5974 .LVL405: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5975 .loc 2 387 3 view .LVU1709 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5976 .loc 2 387 3 is_stmt 0 view .LVU1710 5977 .thumb 5978 .syntax unified 5979 .LBE889: 5980 .LBE888: 2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5981 .loc 1 2483 11 is_stmt 1 view .LVU1711 5982 .LBB890: 5983 .LBI890: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS /tmp/ccwvDHH5.s page 207 5984 .loc 2 412 27 view .LVU1712 5985 .LBB891: 5986 .loc 2 414 3 view .LVU1713 5987 01b6 0123 movs r3, #1 5988 .syntax divided 5989 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5990 01b8 83F31088 MSR primask, r3 5991 @ 0 "" 2 5992 .LVL406: 5993 .loc 2 414 3 is_stmt 0 view .LVU1714 5994 .thumb 5995 .syntax unified 5996 .LBE891: 5997 .LBE890: 2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5998 .loc 1 2483 11 is_stmt 1 view .LVU1715 5999 01bc 2168 ldr r1, [r4] 6000 .LVL407: 2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6001 .loc 1 2483 11 is_stmt 0 view .LVU1716 6002 01be 0A68 ldr r2, [r1] 6003 01c0 3E4D ldr r5, .L185+12 6004 .LVL408: 2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6005 .loc 1 2483 11 view .LVU1717 6006 01c2 2A40 ands r2, r5 6007 01c4 0A60 str r2, [r1] 6008 .LVL409: 2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6009 .loc 1 2483 11 is_stmt 1 view .LVU1718 6010 .LBB892: 6011 .LBI892: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6012 .loc 2 412 27 view .LVU1719 6013 .LBB893: 6014 .loc 2 414 3 view .LVU1720 6015 .syntax divided 6016 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6017 01c6 80F31088 MSR primask, r0 6018 @ 0 "" 2 6019 .LVL410: 6020 .loc 2 414 3 is_stmt 0 view .LVU1721 6021 .thumb 6022 .syntax unified 6023 .LBE893: 6024 .LBE892: 6025 .LBE887: 2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6026 .loc 1 2484 11 is_stmt 1 view .LVU1722 6027 .LBB894: 2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6028 .loc 1 2484 11 view .LVU1723 2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6029 .loc 1 2484 11 view .LVU1724 6030 .LBB895: 6031 .LBI895: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS /tmp/ccwvDHH5.s page 208 6032 .loc 2 382 31 view .LVU1725 6033 .LBB896: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 6034 .loc 2 384 3 view .LVU1726 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6035 .loc 2 386 3 view .LVU1727 6036 .syntax divided 6037 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6038 01ca EFF31080 MRS r0, primask 6039 @ 0 "" 2 6040 .LVL411: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6041 .loc 2 387 3 view .LVU1728 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6042 .loc 2 387 3 is_stmt 0 view .LVU1729 6043 .thumb 6044 .syntax unified 6045 .LBE896: 6046 .LBE895: 2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6047 .loc 1 2484 11 is_stmt 1 view .LVU1730 6048 .LBB897: 6049 .LBI897: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6050 .loc 2 412 27 view .LVU1731 6051 .LBB898: 6052 .loc 2 414 3 view .LVU1732 6053 .syntax divided 6054 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6055 01ce 83F31088 MSR primask, r3 6056 @ 0 "" 2 6057 .LVL412: 6058 .loc 2 414 3 is_stmt 0 view .LVU1733 6059 .thumb 6060 .syntax unified 6061 .LBE898: 6062 .LBE897: 2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6063 .loc 1 2484 11 is_stmt 1 view .LVU1734 6064 01d2 2168 ldr r1, [r4] 6065 01d4 8A68 ldr r2, [r1, #8] 6066 01d6 9A43 bics r2, r3 6067 01d8 8A60 str r2, [r1, #8] 2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6068 .loc 1 2484 11 view .LVU1735 6069 .LVL413: 6070 .LBB899: 6071 .LBI899: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6072 .loc 2 412 27 view .LVU1736 6073 .LBB900: 6074 .loc 2 414 3 view .LVU1737 6075 .syntax divided 6076 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6077 01da 80F31088 MSR primask, r0 6078 @ 0 "" 2 6079 .LVL414: ARM GAS /tmp/ccwvDHH5.s page 209 6080 .loc 2 414 3 is_stmt 0 view .LVU1738 6081 .thumb 6082 .syntax unified 6083 .LBE900: 6084 .LBE899: 6085 .LBE894: 2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6086 .loc 1 2488 11 is_stmt 1 view .LVU1739 6087 .LBB901: 2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6088 .loc 1 2488 11 view .LVU1740 2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6089 .loc 1 2488 11 view .LVU1741 6090 .LBB902: 6091 .LBI902: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6092 .loc 2 382 31 view .LVU1742 6093 .LBB903: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 6094 .loc 2 384 3 view .LVU1743 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6095 .loc 2 386 3 view .LVU1744 6096 .syntax divided 6097 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6098 01de EFF31080 MRS r0, primask 6099 @ 0 "" 2 6100 .LVL415: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6101 .loc 2 387 3 view .LVU1745 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6102 .loc 2 387 3 is_stmt 0 view .LVU1746 6103 .thumb 6104 .syntax unified 6105 .LBE903: 6106 .LBE902: 2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6107 .loc 1 2488 11 is_stmt 1 view .LVU1747 6108 .LBB904: 6109 .LBI904: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6110 .loc 2 412 27 view .LVU1748 6111 .LBB905: 6112 .loc 2 414 3 view .LVU1749 6113 .syntax divided 6114 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6115 01e2 83F31088 MSR primask, r3 6116 @ 0 "" 2 6117 .LVL416: 6118 .loc 2 414 3 is_stmt 0 view .LVU1750 6119 .thumb 6120 .syntax unified 6121 .LBE905: 6122 .LBE904: 2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6123 .loc 1 2488 11 is_stmt 1 view .LVU1751 6124 01e6 2168 ldr r1, [r4] 6125 01e8 8A68 ldr r2, [r1, #8] ARM GAS /tmp/ccwvDHH5.s page 210 6126 01ea 4235 adds r5, r5, #66 6127 01ec FF35 adds r5, r5, #255 6128 01ee AA43 bics r2, r5 6129 01f0 8A60 str r2, [r1, #8] 2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6130 .loc 1 2488 11 view .LVU1752 6131 .LVL417: 6132 .LBB906: 6133 .LBI906: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6134 .loc 2 412 27 view .LVU1753 6135 .LBB907: 6136 .loc 2 414 3 view .LVU1754 6137 .syntax divided 6138 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6139 01f2 80F31088 MSR primask, r0 6140 @ 0 "" 2 6141 .LVL418: 6142 .loc 2 414 3 is_stmt 0 view .LVU1755 6143 .thumb 6144 .syntax unified 6145 .LBE907: 6146 .LBE906: 6147 .LBE901: 2491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6148 .loc 1 2491 11 is_stmt 1 view .LVU1756 2491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6149 .loc 1 2491 26 is_stmt 0 view .LVU1757 6150 01f6 2022 movs r2, #32 6151 01f8 E267 str r2, [r4, #124] 2492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6152 .loc 1 2492 11 is_stmt 1 view .LVU1758 2492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6153 .loc 1 2492 32 is_stmt 0 view .LVU1759 6154 01fa 0022 movs r2, #0 6155 01fc 2266 str r2, [r4, #96] 2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6156 .loc 1 2494 11 is_stmt 1 view .LVU1760 6157 .LBB908: 2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6158 .loc 1 2494 11 view .LVU1761 2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6159 .loc 1 2494 11 view .LVU1762 6160 .LBB909: 6161 .LBI909: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6162 .loc 2 382 31 view .LVU1763 6163 .LBB910: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 6164 .loc 2 384 3 view .LVU1764 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6165 .loc 2 386 3 view .LVU1765 6166 .syntax divided 6167 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6168 01fe EFF31081 MRS r1, primask 6169 @ 0 "" 2 6170 .LVL419: ARM GAS /tmp/ccwvDHH5.s page 211 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6171 .loc 2 387 3 view .LVU1766 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6172 .loc 2 387 3 is_stmt 0 view .LVU1767 6173 .thumb 6174 .syntax unified 6175 .LBE910: 6176 .LBE909: 2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6177 .loc 1 2494 11 is_stmt 1 view .LVU1768 6178 .LBB911: 6179 .LBI911: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6180 .loc 2 412 27 view .LVU1769 6181 .LBB912: 6182 .loc 2 414 3 view .LVU1770 6183 .syntax divided 6184 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6185 0202 83F31088 MSR primask, r3 6186 @ 0 "" 2 6187 .LVL420: 6188 .loc 2 414 3 is_stmt 0 view .LVU1771 6189 .thumb 6190 .syntax unified 6191 .LBE912: 6192 .LBE911: 2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6193 .loc 1 2494 11 is_stmt 1 view .LVU1772 6194 0206 2268 ldr r2, [r4] 6195 0208 1368 ldr r3, [r2] 6196 020a 1020 movs r0, #16 6197 .LVL421: 2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6198 .loc 1 2494 11 is_stmt 0 view .LVU1773 6199 020c 8343 bics r3, r0 6200 020e 1360 str r3, [r2] 2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6201 .loc 1 2494 11 is_stmt 1 view .LVU1774 6202 .LVL422: 6203 .LBB913: 6204 .LBI913: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6205 .loc 2 412 27 view .LVU1775 6206 .LBB914: 6207 .loc 2 414 3 view .LVU1776 6208 .syntax divided 6209 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6210 0210 81F31088 MSR primask, r1 6211 @ 0 "" 2 6212 .LVL423: 6213 .loc 2 414 3 is_stmt 0 view .LVU1777 6214 .thumb 6215 .syntax unified 6216 .LBE914: 6217 .LBE913: 6218 .LBE908: 2497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } ARM GAS /tmp/ccwvDHH5.s page 212 6219 .loc 1 2497 11 is_stmt 1 view .LVU1778 2497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 6220 .loc 1 2497 17 is_stmt 0 view .LVU1779 6221 0214 206F ldr r0, [r4, #112] 6222 0216 FFF7FEFF bl HAL_DMA_Abort 6223 .LVL424: 2497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 6224 .loc 1 2497 17 view .LVU1780 6225 021a C0E7 b .L174 6226 .LVL425: 6227 .L172: 2497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 6228 .loc 1 2497 17 view .LVU1781 6229 .LBE886: 6230 .LBB915: 2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6231 .loc 1 2514 7 is_stmt 1 view .LVU1782 2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6232 .loc 1 2514 34 is_stmt 0 view .LVU1783 6233 021c 5823 movs r3, #88 6234 021e E15A ldrh r1, [r4, r3] 2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6235 .loc 1 2514 54 view .LVU1784 6236 0220 0233 adds r3, r3, #2 6237 0222 E25A ldrh r2, [r4, r3] 2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6238 .loc 1 2514 16 view .LVU1785 6239 0224 891A subs r1, r1, r2 6240 0226 89B2 uxth r1, r1 6241 .LVL426: 2515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (nb_rx_data > 0U)) 6242 .loc 1 2515 7 is_stmt 1 view .LVU1786 2515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (nb_rx_data > 0U)) 6243 .loc 1 2515 17 is_stmt 0 view .LVU1787 6244 0228 E35A ldrh r3, [r4, r3] 6245 022a 9BB2 uxth r3, r3 2515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (nb_rx_data > 0U)) 6246 .loc 1 2515 10 view .LVU1788 6247 022c 002B cmp r3, #0 6248 022e 00D1 bne .LCB4913 6249 0230 0EE7 b .L153 @long jump 6250 .LCB4913: 2516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6251 .loc 1 2516 11 view .LVU1789 6252 0232 0029 cmp r1, #0 6253 0234 00D1 bne .LCB4915 6254 0236 0BE7 b .L153 @long jump 6255 .LCB4915: 2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6256 .loc 1 2519 9 is_stmt 1 view .LVU1790 6257 .LBB916: 2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6258 .loc 1 2519 9 view .LVU1791 2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6259 .loc 1 2519 9 view .LVU1792 6260 .LBB917: 6261 .LBI917: ARM GAS /tmp/ccwvDHH5.s page 213 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6262 .loc 2 382 31 view .LVU1793 6263 .LBB918: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 6264 .loc 2 384 3 view .LVU1794 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6265 .loc 2 386 3 view .LVU1795 6266 .syntax divided 6267 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6268 0238 EFF31085 MRS r5, primask 6269 @ 0 "" 2 6270 .LVL427: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6271 .loc 2 387 3 view .LVU1796 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6272 .loc 2 387 3 is_stmt 0 view .LVU1797 6273 .thumb 6274 .syntax unified 6275 .LBE918: 6276 .LBE917: 2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6277 .loc 1 2519 9 is_stmt 1 view .LVU1798 6278 .LBB919: 6279 .LBI919: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6280 .loc 2 412 27 view .LVU1799 6281 .LBB920: 6282 .loc 2 414 3 view .LVU1800 6283 023c 0123 movs r3, #1 6284 .syntax divided 6285 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6286 023e 83F31088 MSR primask, r3 6287 @ 0 "" 2 6288 .LVL428: 6289 .loc 2 414 3 is_stmt 0 view .LVU1801 6290 .thumb 6291 .syntax unified 6292 .LBE920: 6293 .LBE919: 2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6294 .loc 1 2519 9 is_stmt 1 view .LVU1802 6295 0242 2068 ldr r0, [r4] 6296 .LVL429: 2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6297 .loc 1 2519 9 is_stmt 0 view .LVU1803 6298 0244 0268 ldr r2, [r0] 6299 0246 1E4E ldr r6, .L185+16 6300 0248 3240 ands r2, r6 6301 024a 0260 str r2, [r0] 2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6302 .loc 1 2519 9 is_stmt 1 view .LVU1804 6303 .LVL430: 6304 .LBB921: 6305 .LBI921: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6306 .loc 2 412 27 view .LVU1805 6307 .LBB922: ARM GAS /tmp/ccwvDHH5.s page 214 6308 .loc 2 414 3 view .LVU1806 6309 .syntax divided 6310 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6311 024c 85F31088 MSR primask, r5 6312 @ 0 "" 2 6313 .LVL431: 6314 .loc 2 414 3 is_stmt 0 view .LVU1807 6315 .thumb 6316 .syntax unified 6317 .LBE922: 6318 .LBE921: 6319 .LBE916: 2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6320 .loc 1 2522 9 is_stmt 1 view .LVU1808 6321 .LBB923: 2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6322 .loc 1 2522 9 view .LVU1809 2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6323 .loc 1 2522 9 view .LVU1810 6324 .LBB924: 6325 .LBI924: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6326 .loc 2 382 31 view .LVU1811 6327 .LBB925: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 6328 .loc 2 384 3 view .LVU1812 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6329 .loc 2 386 3 view .LVU1813 6330 .syntax divided 6331 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6332 0250 EFF31085 MRS r5, primask 6333 @ 0 "" 2 6334 .LVL432: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6335 .loc 2 387 3 view .LVU1814 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6336 .loc 2 387 3 is_stmt 0 view .LVU1815 6337 .thumb 6338 .syntax unified 6339 .LBE925: 6340 .LBE924: 2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6341 .loc 1 2522 9 is_stmt 1 view .LVU1816 6342 .LBB926: 6343 .LBI926: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6344 .loc 2 412 27 view .LVU1817 6345 .LBB927: 6346 .loc 2 414 3 view .LVU1818 6347 .syntax divided 6348 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6349 0254 83F31088 MSR primask, r3 6350 @ 0 "" 2 6351 .LVL433: 6352 .loc 2 414 3 is_stmt 0 view .LVU1819 6353 .thumb 6354 .syntax unified ARM GAS /tmp/ccwvDHH5.s page 215 6355 .LBE927: 6356 .LBE926: 2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6357 .loc 1 2522 9 is_stmt 1 view .LVU1820 6358 0258 2068 ldr r0, [r4] 6359 025a 8268 ldr r2, [r0, #8] 6360 025c 9A43 bics r2, r3 6361 025e 8260 str r2, [r0, #8] 2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6362 .loc 1 2522 9 view .LVU1821 6363 .LVL434: 6364 .LBB928: 6365 .LBI928: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6366 .loc 2 412 27 view .LVU1822 6367 .LBB929: 6368 .loc 2 414 3 view .LVU1823 6369 .syntax divided 6370 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6371 0260 85F31088 MSR primask, r5 6372 @ 0 "" 2 6373 .LVL435: 6374 .loc 2 414 3 is_stmt 0 view .LVU1824 6375 .thumb 6376 .syntax unified 6377 .LBE929: 6378 .LBE928: 6379 .LBE923: 2525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6380 .loc 1 2525 9 is_stmt 1 view .LVU1825 2525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6381 .loc 1 2525 24 is_stmt 0 view .LVU1826 6382 0264 2022 movs r2, #32 6383 0266 E267 str r2, [r4, #124] 2526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6384 .loc 1 2526 9 is_stmt 1 view .LVU1827 2526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6385 .loc 1 2526 30 is_stmt 0 view .LVU1828 6386 0268 0022 movs r2, #0 6387 026a 2266 str r2, [r4, #96] 2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6388 .loc 1 2529 9 is_stmt 1 view .LVU1829 2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6389 .loc 1 2529 22 is_stmt 0 view .LVU1830 6390 026c 6266 str r2, [r4, #100] 2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 6391 .loc 1 2531 9 is_stmt 1 view .LVU1831 6392 .LBB930: 2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 6393 .loc 1 2531 9 view .LVU1832 2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 6394 .loc 1 2531 9 view .LVU1833 6395 .LBB931: 6396 .LBI931: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6397 .loc 2 382 31 view .LVU1834 6398 .LBB932: ARM GAS /tmp/ccwvDHH5.s page 216 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 6399 .loc 2 384 3 view .LVU1835 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6400 .loc 2 386 3 view .LVU1836 6401 .syntax divided 6402 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6403 026e EFF31080 MRS r0, primask 6404 @ 0 "" 2 6405 .LVL436: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6406 .loc 2 387 3 view .LVU1837 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6407 .loc 2 387 3 is_stmt 0 view .LVU1838 6408 .thumb 6409 .syntax unified 6410 .LBE932: 6411 .LBE931: 2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 6412 .loc 1 2531 9 is_stmt 1 view .LVU1839 6413 .LBB933: 6414 .LBI933: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6415 .loc 2 412 27 view .LVU1840 6416 .LBB934: 6417 .loc 2 414 3 view .LVU1841 6418 .syntax divided 6419 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6420 0272 83F31088 MSR primask, r3 6421 @ 0 "" 2 6422 .LVL437: 6423 .loc 2 414 3 is_stmt 0 view .LVU1842 6424 .thumb 6425 .syntax unified 6426 .LBE934: 6427 .LBE933: 2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 6428 .loc 1 2531 9 is_stmt 1 view .LVU1843 6429 0276 2268 ldr r2, [r4] 6430 0278 1368 ldr r3, [r2] 6431 027a 1025 movs r5, #16 6432 .LVL438: 2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 6433 .loc 1 2531 9 is_stmt 0 view .LVU1844 6434 027c AB43 bics r3, r5 6435 027e 1360 str r3, [r2] 2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 6436 .loc 1 2531 9 is_stmt 1 view .LVU1845 6437 .LVL439: 6438 .LBB935: 6439 .LBI935: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6440 .loc 2 412 27 view .LVU1846 6441 .LBB936: 6442 .loc 2 414 3 view .LVU1847 6443 .syntax divided 6444 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6445 0280 80F31088 MSR primask, r0 ARM GAS /tmp/ccwvDHH5.s page 217 6446 @ 0 "" 2 6447 .LVL440: 6448 .loc 2 414 3 is_stmt 0 view .LVU1848 6449 .thumb 6450 .syntax unified 6451 .LBE936: 6452 .LBE935: 6453 .LBE930: 2537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6454 .loc 1 2537 9 is_stmt 1 view .LVU1849 6455 0284 2000 movs r0, r4 6456 .LVL441: 2537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6457 .loc 1 2537 9 is_stmt 0 view .LVU1850 6458 0286 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6459 .LVL442: 2540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 6460 .loc 1 2540 7 is_stmt 1 view .LVU1851 6461 028a E1E6 b .L153 6462 .LVL443: 6463 .L181: 2540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 6464 .loc 1 2540 7 is_stmt 0 view .LVU1852 6465 .LBE915: 2549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6466 .loc 1 2549 5 is_stmt 1 view .LVU1853 6467 028c 8023 movs r3, #128 6468 .LVL444: 2549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6469 .loc 1 2549 5 is_stmt 0 view .LVU1854 6470 028e 5B03 lsls r3, r3, #13 6471 0290 0B62 str r3, [r1, #32] 2559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6472 .loc 1 2559 5 is_stmt 1 view .LVU1855 6473 0292 2000 movs r0, r4 6474 .LVL445: 2559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6475 .loc 1 2559 5 is_stmt 0 view .LVU1856 6476 0294 FFF7FEFF bl HAL_UARTEx_WakeupCallback 6477 .LVL446: 2561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 6478 .loc 1 2561 5 is_stmt 1 view .LVU1857 6479 0298 DAE6 b .L153 6480 .LVL447: 6481 .L182: 2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6482 .loc 1 2570 5 view .LVU1858 2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6483 .loc 1 2570 14 is_stmt 0 view .LVU1859 6484 029a A36E ldr r3, [r4, #104] 6485 .LVL448: 2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6486 .loc 1 2570 8 view .LVU1860 6487 029c 002B cmp r3, #0 6488 029e 00D1 bne .LCB5101 6489 02a0 D6E6 b .L153 @long jump 6490 .LCB5101: ARM GAS /tmp/ccwvDHH5.s page 218 2572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 6491 .loc 1 2572 7 is_stmt 1 view .LVU1861 6492 02a2 2000 movs r0, r4 6493 .LVL449: 2572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 6494 .loc 1 2572 7 is_stmt 0 view .LVU1862 6495 02a4 9847 blx r3 6496 .LVL450: 2574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 6497 .loc 1 2574 5 is_stmt 1 view .LVU1863 6498 02a6 D3E6 b .L153 6499 .LVL451: 6500 .L183: 2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return; 6501 .loc 1 2580 5 view .LVU1864 6502 02a8 2000 movs r0, r4 6503 .LVL452: 2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return; 6504 .loc 1 2580 5 is_stmt 0 view .LVU1865 6505 02aa FFF7FEFF bl UART_EndTransmit_IT 6506 .LVL453: 2581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 6507 .loc 1 2581 5 is_stmt 1 view .LVU1866 6508 02ae CFE6 b .L153 6509 .L186: 6510 .align 2 6511 .L185: 6512 02b0 0F080000 .word 2063 6513 02b4 20010004 .word 67109152 6514 02b8 00000000 .word UART_DMAAbortOnError 6515 02bc FFFEFFFF .word -257 6516 02c0 DFFEFFFF .word -289 6517 .cfi_endproc 6518 .LFE62: 6520 .section .text.UART_RxISR_8BIT,"ax",%progbits 6521 .align 1 6522 .syntax unified 6523 .code 16 6524 .thumb_func 6525 .fpu softvfp 6527 UART_RxISR_8BIT: 6528 .LVL454: 6529 .LFB104: 3959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 3961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief RX interrupt handler for 7 or 8 bits data word length . 3962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 3963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None 3964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 3965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart) 3966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6530 .loc 1 3966 1 view -0 6531 .cfi_startproc 6532 @ args = 0, pretend = 0, frame = 0 6533 @ frame_needed = 0, uses_anonymous_args = 0 6534 .loc 1 3966 1 is_stmt 0 view .LVU1868 6535 0000 70B5 push {r4, r5, r6, lr} ARM GAS /tmp/ccwvDHH5.s page 219 6536 .LCFI26: 6537 .cfi_def_cfa_offset 16 6538 .cfi_offset 4, -16 6539 .cfi_offset 5, -12 6540 .cfi_offset 6, -8 6541 .cfi_offset 14, -4 3967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 6542 .loc 1 3967 3 is_stmt 1 view .LVU1869 6543 .loc 1 3967 12 is_stmt 0 view .LVU1870 6544 0002 5C23 movs r3, #92 6545 0004 C35A ldrh r3, [r0, r3] 6546 .LVL455: 3968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t uhdata; 6547 .loc 1 3968 3 is_stmt 1 view .LVU1871 3969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 3971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 6548 .loc 1 3971 3 view .LVU1872 6549 .loc 1 3971 12 is_stmt 0 view .LVU1873 6550 0006 C26F ldr r2, [r0, #124] 6551 .loc 1 3971 6 view .LVU1874 6552 0008 222A cmp r2, #34 6553 000a 05D0 beq .L192 3972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 3975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr++; 3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount--; 3977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxXferCount == 0U) 3979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */ 3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 3982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 3987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear RxISR function pointer */ 3990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL; 3991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check current reception Mode : 3993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 3994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 3996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set reception type to Standard */ 3997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 3999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable IDLE interrupt */ 4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 4001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET) 4003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear IDLE Flag */ 4005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); ARM GAS /tmp/ccwvDHH5.s page 220 4006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx Event callback*/ 4009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 4010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 4011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 4012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 4013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 4014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 4016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Standard reception API called */ 4018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx complete callback*/ 4020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxCpltCallback(huart); 4021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 4022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 4023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 4024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 4029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 4031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 6554 .loc 1 4031 5 is_stmt 1 view .LVU1875 6555 000c 0268 ldr r2, [r0] 6556 000e 9369 ldr r3, [r2, #24] 6557 .LVL456: 6558 .loc 1 4031 5 is_stmt 0 view .LVU1876 6559 0010 0821 movs r1, #8 6560 0012 0B43 orrs r3, r1 6561 0014 9361 str r3, [r2, #24] 6562 .LVL457: 6563 .L187: 4032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 6564 .loc 1 4033 1 view .LVU1877 6565 @ sp needed 6566 0016 70BD pop {r4, r5, r6, pc} 6567 .LVL458: 6568 .L192: 3973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 6569 .loc 1 3973 5 is_stmt 1 view .LVU1878 3973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 6570 .loc 1 3973 12 is_stmt 0 view .LVU1879 6571 0018 0268 ldr r2, [r0] 6572 001a 928C ldrh r2, [r2, #36] 6573 .LVL459: 3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr++; 6574 .loc 1 3974 5 is_stmt 1 view .LVU1880 3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr++; 6575 .loc 1 3974 45 is_stmt 0 view .LVU1881 6576 001c DBB2 uxtb r3, r3 6577 .LVL460: 3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr++; ARM GAS /tmp/ccwvDHH5.s page 221 6578 .loc 1 3974 26 view .LVU1882 6579 001e 1340 ands r3, r2 3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr++; 6580 .loc 1 3974 24 view .LVU1883 6581 0020 426D ldr r2, [r0, #84] 6582 .LVL461: 3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr++; 6583 .loc 1 3974 24 view .LVU1884 6584 0022 1370 strb r3, [r2] 6585 .LVL462: 3975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount--; 6586 .loc 1 3975 5 is_stmt 1 view .LVU1885 3975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount--; 6587 .loc 1 3975 22 is_stmt 0 view .LVU1886 6588 0024 436D ldr r3, [r0, #84] 6589 0026 0133 adds r3, r3, #1 6590 0028 4365 str r3, [r0, #84] 3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6591 .loc 1 3976 5 is_stmt 1 view .LVU1887 3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6592 .loc 1 3976 10 is_stmt 0 view .LVU1888 6593 002a 5A22 movs r2, #90 6594 002c 835A ldrh r3, [r0, r2] 3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6595 .loc 1 3976 23 view .LVU1889 6596 002e 013B subs r3, r3, #1 6597 0030 9BB2 uxth r3, r3 6598 0032 8352 strh r3, [r0, r2] 3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6599 .loc 1 3978 5 is_stmt 1 view .LVU1890 3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6600 .loc 1 3978 14 is_stmt 0 view .LVU1891 6601 0034 835A ldrh r3, [r0, r2] 6602 0036 9BB2 uxth r3, r3 3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6603 .loc 1 3978 8 view .LVU1892 6604 0038 002B cmp r3, #0 6605 003a ECD1 bne .L187 3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6606 .loc 1 3981 7 is_stmt 1 view .LVU1893 6607 .LBB937: 3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6608 .loc 1 3981 7 view .LVU1894 3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6609 .loc 1 3981 7 view .LVU1895 6610 .LBB938: 6611 .LBI938: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6612 .loc 2 382 31 view .LVU1896 6613 .LBB939: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 6614 .loc 2 384 3 view .LVU1897 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6615 .loc 2 386 3 view .LVU1898 6616 .syntax divided 6617 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6618 003c EFF31084 MRS r4, primask ARM GAS /tmp/ccwvDHH5.s page 222 6619 @ 0 "" 2 6620 .LVL463: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6621 .loc 2 387 3 view .LVU1899 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6622 .loc 2 387 3 is_stmt 0 view .LVU1900 6623 .thumb 6624 .syntax unified 6625 .LBE939: 6626 .LBE938: 3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6627 .loc 1 3981 7 is_stmt 1 view .LVU1901 6628 .LBB940: 6629 .LBI940: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6630 .loc 2 412 27 view .LVU1902 6631 .LBB941: 6632 .loc 2 414 3 view .LVU1903 6633 0040 593A subs r2, r2, #89 6634 .syntax divided 6635 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6636 0042 82F31088 MSR primask, r2 6637 @ 0 "" 2 6638 .LVL464: 6639 .loc 2 414 3 is_stmt 0 view .LVU1904 6640 .thumb 6641 .syntax unified 6642 .LBE941: 6643 .LBE940: 3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6644 .loc 1 3981 7 is_stmt 1 view .LVU1905 6645 0046 0168 ldr r1, [r0] 6646 0048 0B68 ldr r3, [r1] 6647 004a 184D ldr r5, .L193 6648 004c 2B40 ands r3, r5 6649 004e 0B60 str r3, [r1] 3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6650 .loc 1 3981 7 view .LVU1906 6651 .LVL465: 6652 .LBB942: 6653 .LBI942: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6654 .loc 2 412 27 view .LVU1907 6655 .LBB943: 6656 .loc 2 414 3 view .LVU1908 6657 .syntax divided 6658 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6659 0050 84F31088 MSR primask, r4 6660 @ 0 "" 2 6661 .LVL466: 6662 .loc 2 414 3 is_stmt 0 view .LVU1909 6663 .thumb 6664 .syntax unified 6665 .LBE943: 6666 .LBE942: 6667 .LBE937: 3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 223 6668 .loc 1 3984 7 is_stmt 1 view .LVU1910 6669 .LBB944: 3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6670 .loc 1 3984 7 view .LVU1911 3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6671 .loc 1 3984 7 view .LVU1912 6672 .LBB945: 6673 .LBI945: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6674 .loc 2 382 31 view .LVU1913 6675 .LBB946: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 6676 .loc 2 384 3 view .LVU1914 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6677 .loc 2 386 3 view .LVU1915 6678 .syntax divided 6679 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6680 0054 EFF31084 MRS r4, primask 6681 @ 0 "" 2 6682 .LVL467: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6683 .loc 2 387 3 view .LVU1916 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6684 .loc 2 387 3 is_stmt 0 view .LVU1917 6685 .thumb 6686 .syntax unified 6687 .LBE946: 6688 .LBE945: 3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6689 .loc 1 3984 7 is_stmt 1 view .LVU1918 6690 .LBB947: 6691 .LBI947: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6692 .loc 2 412 27 view .LVU1919 6693 .LBB948: 6694 .loc 2 414 3 view .LVU1920 6695 .syntax divided 6696 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6697 0058 82F31088 MSR primask, r2 6698 @ 0 "" 2 6699 .LVL468: 6700 .loc 2 414 3 is_stmt 0 view .LVU1921 6701 .thumb 6702 .syntax unified 6703 .LBE948: 6704 .LBE947: 3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6705 .loc 1 3984 7 is_stmt 1 view .LVU1922 6706 005c 0168 ldr r1, [r0] 6707 005e 8B68 ldr r3, [r1, #8] 6708 0060 9343 bics r3, r2 6709 0062 8B60 str r3, [r1, #8] 3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6710 .loc 1 3984 7 view .LVU1923 6711 .LVL469: 6712 .LBB949: 6713 .LBI949: ARM GAS /tmp/ccwvDHH5.s page 224 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6714 .loc 2 412 27 view .LVU1924 6715 .LBB950: 6716 .loc 2 414 3 view .LVU1925 6717 .syntax divided 6718 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6719 0064 84F31088 MSR primask, r4 6720 @ 0 "" 2 6721 .LVL470: 6722 .loc 2 414 3 is_stmt 0 view .LVU1926 6723 .thumb 6724 .syntax unified 6725 .LBE950: 6726 .LBE949: 6727 .LBE944: 3987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6728 .loc 1 3987 7 is_stmt 1 view .LVU1927 3987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6729 .loc 1 3987 22 is_stmt 0 view .LVU1928 6730 0068 2023 movs r3, #32 6731 006a C367 str r3, [r0, #124] 3990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6732 .loc 1 3990 7 is_stmt 1 view .LVU1929 3990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6733 .loc 1 3990 20 is_stmt 0 view .LVU1930 6734 006c 0023 movs r3, #0 6735 006e 4366 str r3, [r0, #100] 3994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6736 .loc 1 3994 7 is_stmt 1 view .LVU1931 3994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6737 .loc 1 3994 16 is_stmt 0 view .LVU1932 6738 0070 036E ldr r3, [r0, #96] 3994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6739 .loc 1 3994 10 view .LVU1933 6740 0072 012B cmp r3, #1 6741 0074 17D1 bne .L190 3997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6742 .loc 1 3997 9 is_stmt 1 view .LVU1934 3997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6743 .loc 1 3997 30 is_stmt 0 view .LVU1935 6744 0076 0023 movs r3, #0 6745 0078 0366 str r3, [r0, #96] 4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6746 .loc 1 4000 9 is_stmt 1 view .LVU1936 6747 .LBB951: 4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6748 .loc 1 4000 9 view .LVU1937 4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6749 .loc 1 4000 9 view .LVU1938 6750 .LBB952: 6751 .LBI952: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6752 .loc 2 382 31 view .LVU1939 6753 .LBB953: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 6754 .loc 2 384 3 view .LVU1940 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS /tmp/ccwvDHH5.s page 225 6755 .loc 2 386 3 view .LVU1941 6756 .syntax divided 6757 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6758 007a EFF31084 MRS r4, primask 6759 @ 0 "" 2 6760 .LVL471: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6761 .loc 2 387 3 view .LVU1942 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6762 .loc 2 387 3 is_stmt 0 view .LVU1943 6763 .thumb 6764 .syntax unified 6765 .LBE953: 6766 .LBE952: 4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6767 .loc 1 4000 9 is_stmt 1 view .LVU1944 6768 .LBB954: 6769 .LBI954: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6770 .loc 2 412 27 view .LVU1945 6771 .LBB955: 6772 .loc 2 414 3 view .LVU1946 6773 007e 0133 adds r3, r3, #1 6774 .syntax divided 6775 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6776 0080 83F31088 MSR primask, r3 6777 @ 0 "" 2 6778 .LVL472: 6779 .loc 2 414 3 is_stmt 0 view .LVU1947 6780 .thumb 6781 .syntax unified 6782 .LBE955: 6783 .LBE954: 4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6784 .loc 1 4000 9 is_stmt 1 view .LVU1948 6785 0084 0168 ldr r1, [r0] 6786 0086 0B68 ldr r3, [r1] 6787 0088 0F32 adds r2, r2, #15 6788 008a 9343 bics r3, r2 6789 008c 0B60 str r3, [r1] 4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6790 .loc 1 4000 9 view .LVU1949 6791 .LVL473: 6792 .LBB956: 6793 .LBI956: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6794 .loc 2 412 27 view .LVU1950 6795 .LBB957: 6796 .loc 2 414 3 view .LVU1951 6797 .syntax divided 6798 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6799 008e 84F31088 MSR primask, r4 6800 @ 0 "" 2 6801 .LVL474: 6802 .loc 2 414 3 is_stmt 0 view .LVU1952 6803 .thumb 6804 .syntax unified ARM GAS /tmp/ccwvDHH5.s page 226 6805 .LBE957: 6806 .LBE956: 6807 .LBE951: 4002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6808 .loc 1 4002 9 is_stmt 1 view .LVU1953 4002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6809 .loc 1 4002 13 is_stmt 0 view .LVU1954 6810 0092 0368 ldr r3, [r0] 6811 0094 D969 ldr r1, [r3, #28] 4002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6812 .loc 1 4002 12 view .LVU1955 6813 0096 0A42 tst r2, r1 6814 0098 00D0 beq .L191 4005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 6815 .loc 1 4005 11 is_stmt 1 view .LVU1956 6816 009a 1A62 str r2, [r3, #32] 6817 .L191: 4012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6818 .loc 1 4012 9 view .LVU1957 6819 009c 5823 movs r3, #88 6820 009e C15A ldrh r1, [r0, r3] 6821 00a0 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6822 .LVL475: 4012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6823 .loc 1 4012 9 is_stmt 0 view .LVU1958 6824 00a4 B7E7 b .L187 6825 .LVL476: 6826 .L190: 4023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6827 .loc 1 4023 9 is_stmt 1 view .LVU1959 6828 00a6 FFF7FEFF bl HAL_UART_RxCpltCallback 6829 .LVL477: 4023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6830 .loc 1 4023 9 is_stmt 0 view .LVU1960 6831 00aa B4E7 b .L187 6832 .L194: 6833 .align 2 6834 .L193: 6835 00ac DFFEFFFF .word -289 6836 .cfi_endproc 6837 .LFE104: 6839 .section .text.UART_RxISR_16BIT,"ax",%progbits 6840 .align 1 6841 .syntax unified 6842 .code 16 6843 .thumb_func 6844 .fpu softvfp 6846 UART_RxISR_16BIT: 6847 .LVL478: 6848 .LFB105: 4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 4036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief RX interrupt handler for 9 bits data word length . 4037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note Function is called under interruption only, once 4038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT() 4039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle. 4040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None ARM GAS /tmp/ccwvDHH5.s page 227 4041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */ 4042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart) 4043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6849 .loc 1 4043 1 is_stmt 1 view -0 6850 .cfi_startproc 6851 @ args = 0, pretend = 0, frame = 0 6852 @ frame_needed = 0, uses_anonymous_args = 0 6853 .loc 1 4043 1 is_stmt 0 view .LVU1962 6854 0000 70B5 push {r4, r5, r6, lr} 6855 .LCFI27: 6856 .cfi_def_cfa_offset 16 6857 .cfi_offset 4, -16 6858 .cfi_offset 5, -12 6859 .cfi_offset 6, -8 6860 .cfi_offset 14, -4 4044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t *tmp; 6861 .loc 1 4044 3 is_stmt 1 view .LVU1963 4045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 6862 .loc 1 4045 3 view .LVU1964 6863 .loc 1 4045 12 is_stmt 0 view .LVU1965 6864 0002 5C23 movs r3, #92 6865 0004 C25A ldrh r2, [r0, r3] 6866 .LVL479: 4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t uhdata; 6867 .loc 1 4046 3 is_stmt 1 view .LVU1966 4047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 4049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 6868 .loc 1 4049 3 view .LVU1967 6869 .loc 1 4049 12 is_stmt 0 view .LVU1968 6870 0006 C36F ldr r3, [r0, #124] 6871 .loc 1 4049 6 view .LVU1969 6872 0008 222B cmp r3, #34 6873 000a 05D0 beq .L200 4050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 4052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 4053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 4054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount--; 4056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxXferCount == 0U) 4058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupt*/ 4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 4061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 4066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear RxISR function pointer */ 4069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL; 4070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check current reception Mode : 4072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** If Reception till IDLE event has been selected : */ ARM GAS /tmp/ccwvDHH5.s page 228 4073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 4074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set reception type to Standard */ 4076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable IDLE interrupt */ 4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 4080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET) 4082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear IDLE Flag */ 4084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 4085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx Event callback*/ 4088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 4089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 4090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 4091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 4092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 4093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 4095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Standard reception API called */ 4097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx complete callback*/ 4099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxCpltCallback(huart); 4100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 4101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 4103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else 4108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 4109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 4110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 6874 .loc 1 4110 5 is_stmt 1 view .LVU1970 6875 000c 0268 ldr r2, [r0] 6876 .LVL480: 6877 .loc 1 4110 5 is_stmt 0 view .LVU1971 6878 000e 9369 ldr r3, [r2, #24] 6879 0010 0821 movs r1, #8 6880 0012 0B43 orrs r3, r1 6881 0014 9361 str r3, [r2, #24] 6882 .LVL481: 6883 .L195: 4111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 4112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 6884 .loc 1 4112 1 view .LVU1972 6885 @ sp needed 6886 0016 70BD pop {r4, r5, r6, pc} 6887 .LVL482: 6888 .L200: 4051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 6889 .loc 1 4051 5 is_stmt 1 view .LVU1973 ARM GAS /tmp/ccwvDHH5.s page 229 4051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 6890 .loc 1 4051 12 is_stmt 0 view .LVU1974 6891 0018 0368 ldr r3, [r0] 6892 001a 9B8C ldrh r3, [r3, #36] 6893 .LVL483: 4052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 6894 .loc 1 4052 5 is_stmt 1 view .LVU1975 4053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6895 .loc 1 4053 5 view .LVU1976 4053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6896 .loc 1 4053 12 is_stmt 0 view .LVU1977 6897 001c 1340 ands r3, r2 6898 .LVL484: 4053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6899 .loc 1 4053 10 view .LVU1978 6900 001e 426D ldr r2, [r0, #84] 6901 .LVL485: 4053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6902 .loc 1 4053 10 view .LVU1979 6903 0020 1380 strh r3, [r2] 6904 .LVL486: 4054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount--; 6905 .loc 1 4054 5 is_stmt 1 view .LVU1980 4054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount--; 6906 .loc 1 4054 23 is_stmt 0 view .LVU1981 6907 0022 436D ldr r3, [r0, #84] 6908 0024 0233 adds r3, r3, #2 6909 0026 4365 str r3, [r0, #84] 4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6910 .loc 1 4055 5 is_stmt 1 view .LVU1982 4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6911 .loc 1 4055 10 is_stmt 0 view .LVU1983 6912 0028 5A22 movs r2, #90 6913 .LVL487: 4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6914 .loc 1 4055 10 view .LVU1984 6915 002a 835A ldrh r3, [r0, r2] 4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6916 .loc 1 4055 23 view .LVU1985 6917 002c 013B subs r3, r3, #1 6918 002e 9BB2 uxth r3, r3 6919 0030 8352 strh r3, [r0, r2] 4057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6920 .loc 1 4057 5 is_stmt 1 view .LVU1986 4057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6921 .loc 1 4057 14 is_stmt 0 view .LVU1987 6922 0032 835A ldrh r3, [r0, r2] 6923 0034 9BB2 uxth r3, r3 4057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 6924 .loc 1 4057 8 view .LVU1988 6925 0036 002B cmp r3, #0 6926 0038 EDD1 bne .L195 4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6927 .loc 1 4060 7 is_stmt 1 view .LVU1989 6928 .LBB958: 4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6929 .loc 1 4060 7 view .LVU1990 ARM GAS /tmp/ccwvDHH5.s page 230 4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6930 .loc 1 4060 7 view .LVU1991 6931 .LBB959: 6932 .LBI959: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6933 .loc 2 382 31 view .LVU1992 6934 .LBB960: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 6935 .loc 2 384 3 view .LVU1993 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6936 .loc 2 386 3 view .LVU1994 6937 .syntax divided 6938 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6939 003a EFF31084 MRS r4, primask 6940 @ 0 "" 2 6941 .LVL488: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6942 .loc 2 387 3 view .LVU1995 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6943 .loc 2 387 3 is_stmt 0 view .LVU1996 6944 .thumb 6945 .syntax unified 6946 .LBE960: 6947 .LBE959: 4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6948 .loc 1 4060 7 is_stmt 1 view .LVU1997 6949 .LBB961: 6950 .LBI961: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6951 .loc 2 412 27 view .LVU1998 6952 .LBB962: 6953 .loc 2 414 3 view .LVU1999 6954 003e 593A subs r2, r2, #89 6955 .syntax divided 6956 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6957 0040 82F31088 MSR primask, r2 6958 @ 0 "" 2 6959 .LVL489: 6960 .loc 2 414 3 is_stmt 0 view .LVU2000 6961 .thumb 6962 .syntax unified 6963 .LBE962: 6964 .LBE961: 4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6965 .loc 1 4060 7 is_stmt 1 view .LVU2001 6966 0044 0168 ldr r1, [r0] 6967 0046 0B68 ldr r3, [r1] 6968 0048 184D ldr r5, .L201 6969 004a 2B40 ands r3, r5 6970 004c 0B60 str r3, [r1] 4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6971 .loc 1 4060 7 view .LVU2002 6972 .LVL490: 6973 .LBB963: 6974 .LBI963: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6975 .loc 2 412 27 view .LVU2003 ARM GAS /tmp/ccwvDHH5.s page 231 6976 .LBB964: 6977 .loc 2 414 3 view .LVU2004 6978 .syntax divided 6979 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6980 004e 84F31088 MSR primask, r4 6981 @ 0 "" 2 6982 .LVL491: 6983 .loc 2 414 3 is_stmt 0 view .LVU2005 6984 .thumb 6985 .syntax unified 6986 .LBE964: 6987 .LBE963: 6988 .LBE958: 4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6989 .loc 1 4063 7 is_stmt 1 view .LVU2006 6990 .LBB965: 4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6991 .loc 1 4063 7 view .LVU2007 4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 6992 .loc 1 4063 7 view .LVU2008 6993 .LBB966: 6994 .LBI966: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6995 .loc 2 382 31 view .LVU2009 6996 .LBB967: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 6997 .loc 2 384 3 view .LVU2010 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6998 .loc 2 386 3 view .LVU2011 6999 .syntax divided 7000 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7001 0052 EFF31084 MRS r4, primask 7002 @ 0 "" 2 7003 .LVL492: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7004 .loc 2 387 3 view .LVU2012 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7005 .loc 2 387 3 is_stmt 0 view .LVU2013 7006 .thumb 7007 .syntax unified 7008 .LBE967: 7009 .LBE966: 4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7010 .loc 1 4063 7 is_stmt 1 view .LVU2014 7011 .LBB968: 7012 .LBI968: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7013 .loc 2 412 27 view .LVU2015 7014 .LBB969: 7015 .loc 2 414 3 view .LVU2016 7016 .syntax divided 7017 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7018 0056 82F31088 MSR primask, r2 7019 @ 0 "" 2 7020 .LVL493: 7021 .loc 2 414 3 is_stmt 0 view .LVU2017 7022 .thumb ARM GAS /tmp/ccwvDHH5.s page 232 7023 .syntax unified 7024 .LBE969: 7025 .LBE968: 4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7026 .loc 1 4063 7 is_stmt 1 view .LVU2018 7027 005a 0168 ldr r1, [r0] 7028 005c 8B68 ldr r3, [r1, #8] 7029 005e 9343 bics r3, r2 7030 0060 8B60 str r3, [r1, #8] 4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7031 .loc 1 4063 7 view .LVU2019 7032 .LVL494: 7033 .LBB970: 7034 .LBI970: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7035 .loc 2 412 27 view .LVU2020 7036 .LBB971: 7037 .loc 2 414 3 view .LVU2021 7038 .syntax divided 7039 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7040 0062 84F31088 MSR primask, r4 7041 @ 0 "" 2 7042 .LVL495: 7043 .loc 2 414 3 is_stmt 0 view .LVU2022 7044 .thumb 7045 .syntax unified 7046 .LBE971: 7047 .LBE970: 7048 .LBE965: 4066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7049 .loc 1 4066 7 is_stmt 1 view .LVU2023 4066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7050 .loc 1 4066 22 is_stmt 0 view .LVU2024 7051 0066 2023 movs r3, #32 7052 0068 C367 str r3, [r0, #124] 4069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7053 .loc 1 4069 7 is_stmt 1 view .LVU2025 4069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7054 .loc 1 4069 20 is_stmt 0 view .LVU2026 7055 006a 0023 movs r3, #0 7056 006c 4366 str r3, [r0, #100] 4073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7057 .loc 1 4073 7 is_stmt 1 view .LVU2027 4073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7058 .loc 1 4073 16 is_stmt 0 view .LVU2028 7059 006e 036E ldr r3, [r0, #96] 4073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7060 .loc 1 4073 10 view .LVU2029 7061 0070 012B cmp r3, #1 7062 0072 17D1 bne .L198 4076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7063 .loc 1 4076 9 is_stmt 1 view .LVU2030 4076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7064 .loc 1 4076 30 is_stmt 0 view .LVU2031 7065 0074 0023 movs r3, #0 7066 0076 0366 str r3, [r0, #96] 4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 233 7067 .loc 1 4079 9 is_stmt 1 view .LVU2032 7068 .LBB972: 4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7069 .loc 1 4079 9 view .LVU2033 4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7070 .loc 1 4079 9 view .LVU2034 7071 .LBB973: 7072 .LBI973: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7073 .loc 2 382 31 view .LVU2035 7074 .LBB974: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 7075 .loc 2 384 3 view .LVU2036 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7076 .loc 2 386 3 view .LVU2037 7077 .syntax divided 7078 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7079 0078 EFF31084 MRS r4, primask 7080 @ 0 "" 2 7081 .LVL496: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7082 .loc 2 387 3 view .LVU2038 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7083 .loc 2 387 3 is_stmt 0 view .LVU2039 7084 .thumb 7085 .syntax unified 7086 .LBE974: 7087 .LBE973: 4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7088 .loc 1 4079 9 is_stmt 1 view .LVU2040 7089 .LBB975: 7090 .LBI975: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7091 .loc 2 412 27 view .LVU2041 7092 .LBB976: 7093 .loc 2 414 3 view .LVU2042 7094 007c 0133 adds r3, r3, #1 7095 .syntax divided 7096 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7097 007e 83F31088 MSR primask, r3 7098 @ 0 "" 2 7099 .LVL497: 7100 .loc 2 414 3 is_stmt 0 view .LVU2043 7101 .thumb 7102 .syntax unified 7103 .LBE976: 7104 .LBE975: 4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7105 .loc 1 4079 9 is_stmt 1 view .LVU2044 7106 0082 0168 ldr r1, [r0] 7107 0084 0B68 ldr r3, [r1] 7108 0086 0F32 adds r2, r2, #15 7109 0088 9343 bics r3, r2 7110 008a 0B60 str r3, [r1] 4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7111 .loc 1 4079 9 view .LVU2045 7112 .LVL498: ARM GAS /tmp/ccwvDHH5.s page 234 7113 .LBB977: 7114 .LBI977: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7115 .loc 2 412 27 view .LVU2046 7116 .LBB978: 7117 .loc 2 414 3 view .LVU2047 7118 .syntax divided 7119 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7120 008c 84F31088 MSR primask, r4 7121 @ 0 "" 2 7122 .LVL499: 7123 .loc 2 414 3 is_stmt 0 view .LVU2048 7124 .thumb 7125 .syntax unified 7126 .LBE978: 7127 .LBE977: 7128 .LBE972: 4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7129 .loc 1 4081 9 is_stmt 1 view .LVU2049 4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7130 .loc 1 4081 13 is_stmt 0 view .LVU2050 7131 0090 0368 ldr r3, [r0] 7132 0092 D969 ldr r1, [r3, #28] 4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7133 .loc 1 4081 12 view .LVU2051 7134 0094 0A42 tst r2, r1 7135 0096 00D0 beq .L199 4084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7136 .loc 1 4084 11 is_stmt 1 view .LVU2052 7137 0098 1A62 str r2, [r3, #32] 7138 .L199: 4091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 7139 .loc 1 4091 9 view .LVU2053 7140 009a 5823 movs r3, #88 7141 009c C15A ldrh r1, [r0, r3] 7142 009e FFF7FEFF bl HAL_UARTEx_RxEventCallback 7143 .LVL500: 4091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 7144 .loc 1 4091 9 is_stmt 0 view .LVU2054 7145 00a2 B8E7 b .L195 7146 .LVL501: 7147 .L198: 4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7148 .loc 1 4102 9 is_stmt 1 view .LVU2055 7149 00a4 FFF7FEFF bl HAL_UART_RxCpltCallback 7150 .LVL502: 4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7151 .loc 1 4102 9 is_stmt 0 view .LVU2056 7152 00a8 B5E7 b .L195 7153 .L202: 7154 00aa C046 .align 2 7155 .L201: 7156 00ac DFFEFFFF .word -289 7157 .cfi_endproc 7158 .LFE105: 7160 .section .text.UART_DMARxHalfCplt,"ax",%progbits 7161 .align 1 ARM GAS /tmp/ccwvDHH5.s page 235 7162 .syntax unified 7163 .code 16 7164 .thumb_func 7165 .fpu softvfp 7167 UART_DMARxHalfCplt: 7168 .LVL503: 7169 .LFB94: 3620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 7170 .loc 1 3620 1 is_stmt 1 view -0 7171 .cfi_startproc 7172 @ args = 0, pretend = 0, frame = 0 7173 @ frame_needed = 0, uses_anonymous_args = 0 3620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 7174 .loc 1 3620 1 is_stmt 0 view .LVU2058 7175 0000 10B5 push {r4, lr} 7176 .LCFI28: 7177 .cfi_def_cfa_offset 8 7178 .cfi_offset 4, -8 7179 .cfi_offset 14, -4 3621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7180 .loc 1 3621 3 is_stmt 1 view .LVU2059 3621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7181 .loc 1 3621 23 is_stmt 0 view .LVU2060 7182 0002 406A ldr r0, [r0, #36] 7183 .LVL504: 3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7184 .loc 1 3625 3 is_stmt 1 view .LVU2061 3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7185 .loc 1 3625 12 is_stmt 0 view .LVU2062 7186 0004 036E ldr r3, [r0, #96] 3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7187 .loc 1 3625 6 view .LVU2063 7188 0006 012B cmp r3, #1 7189 0008 02D0 beq .L206 3643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7190 .loc 1 3643 5 is_stmt 1 view .LVU2064 7191 000a FFF7FEFF bl HAL_UART_RxHalfCpltCallback 7192 .LVL505: 7193 .L203: 3646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7194 .loc 1 3646 1 is_stmt 0 view .LVU2065 7195 @ sp needed 7196 000e 10BD pop {r4, pc} 7197 .LVL506: 7198 .L206: 3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7199 .loc 1 3632 5 is_stmt 1 view .LVU2066 3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7200 .loc 1 3632 44 is_stmt 0 view .LVU2067 7201 0010 5733 adds r3, r3, #87 7202 0012 C15A ldrh r1, [r0, r3] 3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7203 .loc 1 3632 5 view .LVU2068 7204 0014 4908 lsrs r1, r1, #1 7205 0016 FFF7FEFF bl HAL_UARTEx_RxEventCallback 7206 .LVL507: 3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ ARM GAS /tmp/ccwvDHH5.s page 236 7207 .loc 1 3632 5 view .LVU2069 7208 001a F8E7 b .L203 7209 .cfi_endproc 7210 .LFE94: 7212 .section .text.UART_DMAReceiveCplt,"ax",%progbits 7213 .align 1 7214 .syntax unified 7215 .code 16 7216 .thumb_func 7217 .fpu softvfp 7219 UART_DMAReceiveCplt: 7220 .LVL508: 7221 .LFB93: 3563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 7222 .loc 1 3563 1 is_stmt 1 view -0 7223 .cfi_startproc 7224 @ args = 0, pretend = 0, frame = 0 7225 @ frame_needed = 0, uses_anonymous_args = 0 3563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 7226 .loc 1 3563 1 is_stmt 0 view .LVU2071 7227 0000 70B5 push {r4, r5, r6, lr} 7228 .LCFI29: 7229 .cfi_def_cfa_offset 16 7230 .cfi_offset 4, -16 7231 .cfi_offset 5, -12 7232 .cfi_offset 6, -8 7233 .cfi_offset 14, -4 3564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7234 .loc 1 3564 3 is_stmt 1 view .LVU2072 3564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7235 .loc 1 3564 23 is_stmt 0 view .LVU2073 7236 0002 436A ldr r3, [r0, #36] 7237 .LVL509: 3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7238 .loc 1 3567 3 is_stmt 1 view .LVU2074 3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7239 .loc 1 3567 17 is_stmt 0 view .LVU2075 7240 0004 8269 ldr r2, [r0, #24] 3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7241 .loc 1 3567 6 view .LVU2076 7242 0006 202A cmp r2, #32 7243 0008 28D0 beq .L208 3569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7244 .loc 1 3569 5 is_stmt 1 view .LVU2077 3569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7245 .loc 1 3569 24 is_stmt 0 view .LVU2078 7246 000a 5A22 movs r2, #90 7247 000c 0021 movs r1, #0 7248 000e 9952 strh r1, [r3, r2] 3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7249 .loc 1 3572 5 is_stmt 1 view .LVU2079 7250 .LBB979: 3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7251 .loc 1 3572 5 view .LVU2080 3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7252 .loc 1 3572 5 view .LVU2081 7253 .LBB980: ARM GAS /tmp/ccwvDHH5.s page 237 7254 .LBI980: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7255 .loc 2 382 31 view .LVU2082 7256 .LBB981: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 7257 .loc 2 384 3 view .LVU2083 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7258 .loc 2 386 3 view .LVU2084 7259 .syntax divided 7260 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7261 0010 EFF31084 MRS r4, primask 7262 @ 0 "" 2 7263 .LVL510: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7264 .loc 2 387 3 view .LVU2085 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7265 .loc 2 387 3 is_stmt 0 view .LVU2086 7266 .thumb 7267 .syntax unified 7268 .LBE981: 7269 .LBE980: 3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7270 .loc 1 3572 5 is_stmt 1 view .LVU2087 7271 .LBB982: 7272 .LBI982: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7273 .loc 2 412 27 view .LVU2088 7274 .LBB983: 7275 .loc 2 414 3 view .LVU2089 7276 0014 593A subs r2, r2, #89 7277 .syntax divided 7278 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7279 0016 82F31088 MSR primask, r2 7280 @ 0 "" 2 7281 .LVL511: 7282 .loc 2 414 3 is_stmt 0 view .LVU2090 7283 .thumb 7284 .syntax unified 7285 .LBE983: 7286 .LBE982: 3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7287 .loc 1 3572 5 is_stmt 1 view .LVU2091 7288 001a 1868 ldr r0, [r3] 7289 .LVL512: 3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7290 .loc 1 3572 5 is_stmt 0 view .LVU2092 7291 001c 0168 ldr r1, [r0] 7292 001e 1C4D ldr r5, .L213 7293 0020 2940 ands r1, r5 7294 0022 0160 str r1, [r0] 3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7295 .loc 1 3572 5 is_stmt 1 view .LVU2093 7296 .LVL513: 7297 .LBB984: 7298 .LBI984: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7299 .loc 2 412 27 view .LVU2094 ARM GAS /tmp/ccwvDHH5.s page 238 7300 .LBB985: 7301 .loc 2 414 3 view .LVU2095 7302 .syntax divided 7303 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7304 0024 84F31088 MSR primask, r4 7305 @ 0 "" 2 7306 .LVL514: 7307 .loc 2 414 3 is_stmt 0 view .LVU2096 7308 .thumb 7309 .syntax unified 7310 .LBE985: 7311 .LBE984: 7312 .LBE979: 3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7313 .loc 1 3573 5 is_stmt 1 view .LVU2097 7314 .LBB986: 3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7315 .loc 1 3573 5 view .LVU2098 3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7316 .loc 1 3573 5 view .LVU2099 7317 .LBB987: 7318 .LBI987: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7319 .loc 2 382 31 view .LVU2100 7320 .LBB988: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 7321 .loc 2 384 3 view .LVU2101 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7322 .loc 2 386 3 view .LVU2102 7323 .syntax divided 7324 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7325 0028 EFF31084 MRS r4, primask 7326 @ 0 "" 2 7327 .LVL515: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7328 .loc 2 387 3 view .LVU2103 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7329 .loc 2 387 3 is_stmt 0 view .LVU2104 7330 .thumb 7331 .syntax unified 7332 .LBE988: 7333 .LBE987: 3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7334 .loc 1 3573 5 is_stmt 1 view .LVU2105 7335 .LBB989: 7336 .LBI989: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7337 .loc 2 412 27 view .LVU2106 7338 .LBB990: 7339 .loc 2 414 3 view .LVU2107 7340 .syntax divided 7341 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7342 002c 82F31088 MSR primask, r2 7343 @ 0 "" 2 7344 .LVL516: 7345 .loc 2 414 3 is_stmt 0 view .LVU2108 7346 .thumb ARM GAS /tmp/ccwvDHH5.s page 239 7347 .syntax unified 7348 .LBE990: 7349 .LBE989: 3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7350 .loc 1 3573 5 is_stmt 1 view .LVU2109 7351 0030 1868 ldr r0, [r3] 7352 0032 8168 ldr r1, [r0, #8] 7353 0034 9143 bics r1, r2 7354 0036 8160 str r1, [r0, #8] 3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7355 .loc 1 3573 5 view .LVU2110 7356 .LVL517: 7357 .LBB991: 7358 .LBI991: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7359 .loc 2 412 27 view .LVU2111 7360 .LBB992: 7361 .loc 2 414 3 view .LVU2112 7362 .syntax divided 7363 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7364 0038 84F31088 MSR primask, r4 7365 @ 0 "" 2 7366 .LVL518: 7367 .loc 2 414 3 is_stmt 0 view .LVU2113 7368 .thumb 7369 .syntax unified 7370 .LBE992: 7371 .LBE991: 7372 .LBE986: 3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7373 .loc 1 3577 5 is_stmt 1 view .LVU2114 7374 .LBB993: 3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7375 .loc 1 3577 5 view .LVU2115 3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7376 .loc 1 3577 5 view .LVU2116 7377 .LBB994: 7378 .LBI994: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7379 .loc 2 382 31 view .LVU2117 7380 .LBB995: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 7381 .loc 2 384 3 view .LVU2118 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7382 .loc 2 386 3 view .LVU2119 7383 .syntax divided 7384 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7385 003c EFF31080 MRS r0, primask 7386 @ 0 "" 2 7387 .LVL519: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7388 .loc 2 387 3 view .LVU2120 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7389 .loc 2 387 3 is_stmt 0 view .LVU2121 7390 .thumb 7391 .syntax unified 7392 .LBE995: ARM GAS /tmp/ccwvDHH5.s page 240 7393 .LBE994: 3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7394 .loc 1 3577 5 is_stmt 1 view .LVU2122 7395 .LBB996: 7396 .LBI996: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7397 .loc 2 412 27 view .LVU2123 7398 .LBB997: 7399 .loc 2 414 3 view .LVU2124 7400 .syntax divided 7401 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7402 0040 82F31088 MSR primask, r2 7403 @ 0 "" 2 7404 .LVL520: 7405 .loc 2 414 3 is_stmt 0 view .LVU2125 7406 .thumb 7407 .syntax unified 7408 .LBE997: 7409 .LBE996: 3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7410 .loc 1 3577 5 is_stmt 1 view .LVU2126 7411 0044 1968 ldr r1, [r3] 7412 0046 8A68 ldr r2, [r1, #8] 7413 0048 4024 movs r4, #64 7414 .LVL521: 3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7415 .loc 1 3577 5 is_stmt 0 view .LVU2127 7416 004a A243 bics r2, r4 7417 004c 8A60 str r2, [r1, #8] 3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7418 .loc 1 3577 5 is_stmt 1 view .LVU2128 7419 .LVL522: 7420 .LBB998: 7421 .LBI998: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7422 .loc 2 412 27 view .LVU2129 7423 .LBB999: 7424 .loc 2 414 3 view .LVU2130 7425 .syntax divided 7426 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7427 004e 80F31088 MSR primask, r0 7428 @ 0 "" 2 7429 .LVL523: 7430 .loc 2 414 3 is_stmt 0 view .LVU2131 7431 .thumb 7432 .syntax unified 7433 .LBE999: 7434 .LBE998: 7435 .LBE993: 3580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7436 .loc 1 3580 5 is_stmt 1 view .LVU2132 3580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7437 .loc 1 3580 20 is_stmt 0 view .LVU2133 7438 0052 2022 movs r2, #32 7439 0054 DA67 str r2, [r3, #124] 3583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7440 .loc 1 3583 5 is_stmt 1 view .LVU2134 ARM GAS /tmp/ccwvDHH5.s page 241 3583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7441 .loc 1 3583 14 is_stmt 0 view .LVU2135 7442 0056 1A6E ldr r2, [r3, #96] 3583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7443 .loc 1 3583 8 view .LVU2136 7444 0058 012A cmp r2, #1 7445 005a 06D0 beq .L211 7446 .LVL524: 7447 .L208: 3591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7448 .loc 1 3591 3 is_stmt 1 view .LVU2137 3591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7449 .loc 1 3591 12 is_stmt 0 view .LVU2138 7450 005c 1A6E ldr r2, [r3, #96] 3591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7451 .loc 1 3591 6 view .LVU2139 7452 005e 012A cmp r2, #1 7453 0060 0FD0 beq .L212 3609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7454 .loc 1 3609 5 is_stmt 1 view .LVU2140 7455 0062 1800 movs r0, r3 7456 0064 FFF7FEFF bl HAL_UART_RxCpltCallback 7457 .LVL525: 7458 .L207: 3612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7459 .loc 1 3612 1 is_stmt 0 view .LVU2141 7460 @ sp needed 7461 0068 70BD pop {r4, r5, r6, pc} 7462 .LVL526: 7463 .L211: 3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7464 .loc 1 3585 7 is_stmt 1 view .LVU2142 7465 .LBB1000: 3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7466 .loc 1 3585 7 view .LVU2143 3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7467 .loc 1 3585 7 view .LVU2144 7468 .LBB1001: 7469 .LBI1001: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7470 .loc 2 382 31 view .LVU2145 7471 .LBB1002: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 7472 .loc 2 384 3 view .LVU2146 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7473 .loc 2 386 3 view .LVU2147 7474 .syntax divided 7475 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7476 006a EFF31080 MRS r0, primask 7477 @ 0 "" 2 7478 .LVL527: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7479 .loc 2 387 3 view .LVU2148 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7480 .loc 2 387 3 is_stmt 0 view .LVU2149 7481 .thumb 7482 .syntax unified ARM GAS /tmp/ccwvDHH5.s page 242 7483 .LBE1002: 7484 .LBE1001: 3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7485 .loc 1 3585 7 is_stmt 1 view .LVU2150 7486 .LBB1003: 7487 .LBI1003: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7488 .loc 2 412 27 view .LVU2151 7489 .LBB1004: 7490 .loc 2 414 3 view .LVU2152 7491 .syntax divided 7492 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7493 006e 82F31088 MSR primask, r2 7494 @ 0 "" 2 7495 .LVL528: 7496 .loc 2 414 3 is_stmt 0 view .LVU2153 7497 .thumb 7498 .syntax unified 7499 .LBE1004: 7500 .LBE1003: 3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7501 .loc 1 3585 7 is_stmt 1 view .LVU2154 7502 0072 1968 ldr r1, [r3] 7503 0074 0A68 ldr r2, [r1] 7504 0076 303C subs r4, r4, #48 7505 0078 A243 bics r2, r4 7506 007a 0A60 str r2, [r1] 3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7507 .loc 1 3585 7 view .LVU2155 7508 .LVL529: 7509 .LBB1005: 7510 .LBI1005: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7511 .loc 2 412 27 view .LVU2156 7512 .LBB1006: 7513 .loc 2 414 3 view .LVU2157 7514 .syntax divided 7515 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7516 007c 80F31088 MSR primask, r0 7517 @ 0 "" 2 7518 .thumb 7519 .syntax unified 7520 0080 ECE7 b .L208 7521 .LVL530: 7522 .L212: 7523 .loc 2 414 3 is_stmt 0 view .LVU2158 7524 .LBE1006: 7525 .LBE1005: 7526 .LBE1000: 3598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7527 .loc 1 3598 5 is_stmt 1 view .LVU2159 7528 0082 5732 adds r2, r2, #87 7529 0084 995A ldrh r1, [r3, r2] 7530 0086 1800 movs r0, r3 7531 0088 FFF7FEFF bl HAL_UARTEx_RxEventCallback 7532 .LVL531: 3598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ ARM GAS /tmp/ccwvDHH5.s page 243 7533 .loc 1 3598 5 is_stmt 0 view .LVU2160 7534 008c ECE7 b .L207 7535 .L214: 7536 008e C046 .align 2 7537 .L213: 7538 0090 FFFEFFFF .word -257 7539 .cfi_endproc 7540 .LFE93: 7542 .section .text.HAL_UART_ReceiverTimeout_Config,"ax",%progbits 7543 .align 1 7544 .global HAL_UART_ReceiverTimeout_Config 7545 .syntax unified 7546 .code 16 7547 .thumb_func 7548 .fpu softvfp 7550 HAL_UART_ReceiverTimeout_Config: 7551 .LVL532: 7552 .LFB72: 2762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue)); 7553 .loc 1 2762 1 is_stmt 1 view -0 7554 .cfi_startproc 7555 @ args = 0, pretend = 0, frame = 0 7556 @ frame_needed = 0, uses_anonymous_args = 0 7557 @ link register save eliminated. 2763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 7558 .loc 1 2763 3 view .LVU2162 2764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7559 .loc 1 2764 3 view .LVU2163 7560 0000 0268 ldr r2, [r0] 7561 0002 5369 ldr r3, [r2, #20] 7562 0004 1B0E lsrs r3, r3, #24 7563 0006 1B06 lsls r3, r3, #24 7564 0008 0B43 orrs r3, r1 7565 000a 5361 str r3, [r2, #20] 2765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7566 .loc 1 2765 1 is_stmt 0 view .LVU2164 7567 @ sp needed 7568 000c 7047 bx lr 7569 .cfi_endproc 7570 .LFE72: 7572 .section .text.HAL_UART_EnableReceiverTimeout,"ax",%progbits 7573 .align 1 7574 .global HAL_UART_EnableReceiverTimeout 7575 .syntax unified 7576 .code 16 7577 .thumb_func 7578 .fpu softvfp 7580 HAL_UART_EnableReceiverTimeout: 7581 .LVL533: 7582 .LFB73: 2774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 7583 .loc 1 2774 1 is_stmt 1 view -0 7584 .cfi_startproc 7585 @ args = 0, pretend = 0, frame = 0 7586 @ frame_needed = 0, uses_anonymous_args = 0 2774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 7587 .loc 1 2774 1 is_stmt 0 view .LVU2166 ARM GAS /tmp/ccwvDHH5.s page 244 7588 0000 10B5 push {r4, lr} 7589 .LCFI30: 7590 .cfi_def_cfa_offset 8 7591 .cfi_offset 4, -8 7592 .cfi_offset 14, -4 2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7593 .loc 1 2775 3 is_stmt 1 view .LVU2167 2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7594 .loc 1 2775 12 is_stmt 0 view .LVU2168 7595 0002 836F ldr r3, [r0, #120] 2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7596 .loc 1 2775 6 view .LVU2169 7597 0004 202B cmp r3, #32 7598 0006 14D1 bne .L218 2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7599 .loc 1 2778 5 is_stmt 1 view .LVU2170 2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7600 .loc 1 2778 5 view .LVU2171 7601 0008 5433 adds r3, r3, #84 7602 000a C35C ldrb r3, [r0, r3] 7603 000c 012B cmp r3, #1 7604 000e 12D0 beq .L219 2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7605 .loc 1 2778 5 discriminator 2 view .LVU2172 7606 0010 7422 movs r2, #116 7607 0012 0123 movs r3, #1 7608 0014 8354 strb r3, [r0, r2] 2780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7609 .loc 1 2780 5 discriminator 2 view .LVU2173 2780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7610 .loc 1 2780 19 is_stmt 0 discriminator 2 view .LVU2174 7611 0016 2333 adds r3, r3, #35 7612 0018 8367 str r3, [r0, #120] 2783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7613 .loc 1 2783 5 is_stmt 1 discriminator 2 view .LVU2175 7614 001a 0168 ldr r1, [r0] 7615 001c 4C68 ldr r4, [r1, #4] 7616 001e 8023 movs r3, #128 7617 0020 1B04 lsls r3, r3, #16 7618 0022 2343 orrs r3, r4 7619 0024 4B60 str r3, [r1, #4] 2785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7620 .loc 1 2785 5 discriminator 2 view .LVU2176 2785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7621 .loc 1 2785 19 is_stmt 0 discriminator 2 view .LVU2177 7622 0026 2023 movs r3, #32 7623 0028 8367 str r3, [r0, #120] 2788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7624 .loc 1 2788 5 is_stmt 1 discriminator 2 view .LVU2178 2788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7625 .loc 1 2788 5 discriminator 2 view .LVU2179 7626 002a 0023 movs r3, #0 7627 002c 8354 strb r3, [r0, r2] 2790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7628 .loc 1 2790 5 discriminator 2 view .LVU2180 2790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7629 .loc 1 2790 12 is_stmt 0 discriminator 2 view .LVU2181 ARM GAS /tmp/ccwvDHH5.s page 245 7630 002e 0020 movs r0, #0 7631 .LVL534: 7632 .L217: 2796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7633 .loc 1 2796 1 view .LVU2182 7634 @ sp needed 7635 0030 10BD pop {r4, pc} 7636 .LVL535: 7637 .L218: 2794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7638 .loc 1 2794 12 view .LVU2183 7639 0032 0220 movs r0, #2 7640 .LVL536: 2794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7641 .loc 1 2794 12 view .LVU2184 7642 0034 FCE7 b .L217 7643 .LVL537: 7644 .L219: 2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7645 .loc 1 2778 5 view .LVU2185 7646 0036 0220 movs r0, #2 7647 .LVL538: 2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7648 .loc 1 2778 5 view .LVU2186 7649 0038 FAE7 b .L217 7650 .cfi_endproc 7651 .LFE73: 7653 .section .text.HAL_UART_DisableReceiverTimeout,"ax",%progbits 7654 .align 1 7655 .global HAL_UART_DisableReceiverTimeout 7656 .syntax unified 7657 .code 16 7658 .thumb_func 7659 .fpu softvfp 7661 HAL_UART_DisableReceiverTimeout: 7662 .LVL539: 7663 .LFB74: 2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 7664 .loc 1 2805 1 is_stmt 1 view -0 7665 .cfi_startproc 7666 @ args = 0, pretend = 0, frame = 0 7667 @ frame_needed = 0, uses_anonymous_args = 0 2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 7668 .loc 1 2805 1 is_stmt 0 view .LVU2188 7669 0000 10B5 push {r4, lr} 7670 .LCFI31: 7671 .cfi_def_cfa_offset 8 7672 .cfi_offset 4, -8 7673 .cfi_offset 14, -4 2806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7674 .loc 1 2806 3 is_stmt 1 view .LVU2189 2806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7675 .loc 1 2806 12 is_stmt 0 view .LVU2190 7676 0002 836F ldr r3, [r0, #120] 2806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 7677 .loc 1 2806 6 view .LVU2191 7678 0004 202B cmp r3, #32 ARM GAS /tmp/ccwvDHH5.s page 246 7679 0006 13D1 bne .L222 2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7680 .loc 1 2809 5 is_stmt 1 view .LVU2192 2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7681 .loc 1 2809 5 view .LVU2193 7682 0008 5433 adds r3, r3, #84 7683 000a C35C ldrb r3, [r0, r3] 7684 000c 012B cmp r3, #1 7685 000e 11D0 beq .L223 2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7686 .loc 1 2809 5 discriminator 2 view .LVU2194 7687 0010 7422 movs r2, #116 7688 0012 0123 movs r3, #1 7689 0014 8354 strb r3, [r0, r2] 2811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7690 .loc 1 2811 5 discriminator 2 view .LVU2195 2811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7691 .loc 1 2811 19 is_stmt 0 discriminator 2 view .LVU2196 7692 0016 2333 adds r3, r3, #35 7693 0018 8367 str r3, [r0, #120] 2814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7694 .loc 1 2814 5 is_stmt 1 discriminator 2 view .LVU2197 7695 001a 0168 ldr r1, [r0] 7696 001c 4B68 ldr r3, [r1, #4] 7697 001e 064C ldr r4, .L224 7698 0020 2340 ands r3, r4 7699 0022 4B60 str r3, [r1, #4] 2816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7700 .loc 1 2816 5 discriminator 2 view .LVU2198 2816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7701 .loc 1 2816 19 is_stmt 0 discriminator 2 view .LVU2199 7702 0024 2023 movs r3, #32 7703 0026 8367 str r3, [r0, #120] 2819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7704 .loc 1 2819 5 is_stmt 1 discriminator 2 view .LVU2200 2819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7705 .loc 1 2819 5 discriminator 2 view .LVU2201 7706 0028 0023 movs r3, #0 7707 002a 8354 strb r3, [r0, r2] 2821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7708 .loc 1 2821 5 discriminator 2 view .LVU2202 2821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7709 .loc 1 2821 12 is_stmt 0 discriminator 2 view .LVU2203 7710 002c 0020 movs r0, #0 7711 .LVL540: 7712 .L221: 2827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7713 .loc 1 2827 1 view .LVU2204 7714 @ sp needed 7715 002e 10BD pop {r4, pc} 7716 .LVL541: 7717 .L222: 2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7718 .loc 1 2825 12 view .LVU2205 7719 0030 0220 movs r0, #2 7720 .LVL542: 2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } ARM GAS /tmp/ccwvDHH5.s page 247 7721 .loc 1 2825 12 view .LVU2206 7722 0032 FCE7 b .L221 7723 .LVL543: 7724 .L223: 2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7725 .loc 1 2809 5 view .LVU2207 7726 0034 0220 movs r0, #2 7727 .LVL544: 2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7728 .loc 1 2809 5 view .LVU2208 7729 0036 FAE7 b .L221 7730 .L225: 7731 .align 2 7732 .L224: 7733 0038 FFFF7FFF .word -8388609 7734 .cfi_endproc 7735 .LFE74: 7737 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits 7738 .align 1 7739 .global HAL_MultiProcessor_EnterMuteMode 7740 .syntax unified 7741 .code 16 7742 .thumb_func 7743 .fpu softvfp 7745 HAL_MultiProcessor_EnterMuteMode: 7746 .LVL545: 7747 .LFB77: 2876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST); 7748 .loc 1 2876 1 is_stmt 1 view -0 7749 .cfi_startproc 7750 @ args = 0, pretend = 0, frame = 0 7751 @ frame_needed = 0, uses_anonymous_args = 0 7752 @ link register save eliminated. 2877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7753 .loc 1 2877 3 view .LVU2210 7754 0000 0268 ldr r2, [r0] 7755 0002 9369 ldr r3, [r2, #24] 7756 0004 0421 movs r1, #4 7757 0006 0B43 orrs r3, r1 7758 0008 9361 str r3, [r2, #24] 2878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7759 .loc 1 2878 1 is_stmt 0 view .LVU2211 7760 @ sp needed 7761 000a 7047 bx lr 7762 .cfi_endproc 7763 .LFE77: 7765 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits 7766 .align 1 7767 .global HAL_HalfDuplex_EnableTransmitter 7768 .syntax unified 7769 .code 16 7770 .thumb_func 7771 .fpu softvfp 7773 HAL_HalfDuplex_EnableTransmitter: 7774 .LVL546: 7775 .LFB78: 2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); ARM GAS /tmp/ccwvDHH5.s page 248 7776 .loc 1 2886 1 is_stmt 1 view -0 7777 .cfi_startproc 7778 @ args = 0, pretend = 0, frame = 0 7779 @ frame_needed = 0, uses_anonymous_args = 0 2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 7780 .loc 1 2886 1 is_stmt 0 view .LVU2213 7781 0000 70B5 push {r4, r5, r6, lr} 7782 .LCFI32: 7783 .cfi_def_cfa_offset 16 7784 .cfi_offset 4, -16 7785 .cfi_offset 5, -12 7786 .cfi_offset 6, -8 7787 .cfi_offset 14, -4 2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7788 .loc 1 2887 3 is_stmt 1 view .LVU2214 2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7789 .loc 1 2887 3 view .LVU2215 7790 0002 7423 movs r3, #116 7791 0004 C35C ldrb r3, [r0, r3] 7792 0006 012B cmp r3, #1 7793 0008 20D0 beq .L229 2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7794 .loc 1 2887 3 discriminator 2 view .LVU2216 7795 000a 7421 movs r1, #116 7796 000c 0123 movs r3, #1 7797 000e 4354 strb r3, [r0, r1] 2888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7798 .loc 1 2888 3 discriminator 2 view .LVU2217 2888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7799 .loc 1 2888 17 is_stmt 0 discriminator 2 view .LVU2218 7800 0010 2422 movs r2, #36 7801 0012 8267 str r2, [r0, #120] 2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7802 .loc 1 2891 3 is_stmt 1 discriminator 2 view .LVU2219 7803 .LBB1007: 2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7804 .loc 1 2891 3 discriminator 2 view .LVU2220 2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7805 .loc 1 2891 3 discriminator 2 view .LVU2221 7806 .LBB1008: 7807 .LBI1008: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7808 .loc 2 382 31 discriminator 2 view .LVU2222 7809 .LBB1009: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 7810 .loc 2 384 3 discriminator 2 view .LVU2223 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7811 .loc 2 386 3 discriminator 2 view .LVU2224 7812 .syntax divided 7813 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7814 0014 EFF31085 MRS r5, primask 7815 @ 0 "" 2 7816 .LVL547: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7817 .loc 2 387 3 discriminator 2 view .LVU2225 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7818 .loc 2 387 3 is_stmt 0 discriminator 2 view .LVU2226 ARM GAS /tmp/ccwvDHH5.s page 249 7819 .thumb 7820 .syntax unified 7821 .LBE1009: 7822 .LBE1008: 2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7823 .loc 1 2891 3 is_stmt 1 discriminator 2 view .LVU2227 7824 .LBB1010: 7825 .LBI1010: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7826 .loc 2 412 27 discriminator 2 view .LVU2228 7827 .LBB1011: 7828 .loc 2 414 3 discriminator 2 view .LVU2229 7829 .syntax divided 7830 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7831 0018 83F31088 MSR primask, r3 7832 @ 0 "" 2 7833 .LVL548: 7834 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2230 7835 .thumb 7836 .syntax unified 7837 .LBE1011: 7838 .LBE1010: 2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7839 .loc 1 2891 3 is_stmt 1 discriminator 2 view .LVU2231 7840 001c 0468 ldr r4, [r0] 7841 001e 2268 ldr r2, [r4] 7842 0020 0C26 movs r6, #12 7843 0022 B243 bics r2, r6 7844 0024 2260 str r2, [r4] 2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7845 .loc 1 2891 3 discriminator 2 view .LVU2232 7846 .LVL549: 7847 .LBB1012: 7848 .LBI1012: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7849 .loc 2 412 27 discriminator 2 view .LVU2233 7850 .LBB1013: 7851 .loc 2 414 3 discriminator 2 view .LVU2234 7852 .syntax divided 7853 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7854 0026 85F31088 MSR primask, r5 7855 @ 0 "" 2 7856 .LVL550: 7857 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2235 7858 .thumb 7859 .syntax unified 7860 .LBE1013: 7861 .LBE1012: 7862 .LBE1007: 2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7863 .loc 1 2894 3 is_stmt 1 discriminator 2 view .LVU2236 7864 .LBB1014: 2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7865 .loc 1 2894 3 discriminator 2 view .LVU2237 2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7866 .loc 1 2894 3 discriminator 2 view .LVU2238 7867 .LBB1015: ARM GAS /tmp/ccwvDHH5.s page 250 7868 .LBI1015: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7869 .loc 2 382 31 discriminator 2 view .LVU2239 7870 .LBB1016: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 7871 .loc 2 384 3 discriminator 2 view .LVU2240 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7872 .loc 2 386 3 discriminator 2 view .LVU2241 7873 .syntax divided 7874 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7875 002a EFF31084 MRS r4, primask 7876 @ 0 "" 2 7877 .LVL551: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7878 .loc 2 387 3 discriminator 2 view .LVU2242 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7879 .loc 2 387 3 is_stmt 0 discriminator 2 view .LVU2243 7880 .thumb 7881 .syntax unified 7882 .LBE1016: 7883 .LBE1015: 2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7884 .loc 1 2894 3 is_stmt 1 discriminator 2 view .LVU2244 7885 .LBB1017: 7886 .LBI1017: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7887 .loc 2 412 27 discriminator 2 view .LVU2245 7888 .LBB1018: 7889 .loc 2 414 3 discriminator 2 view .LVU2246 7890 .syntax divided 7891 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7892 002e 83F31088 MSR primask, r3 7893 @ 0 "" 2 7894 .LVL552: 7895 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2247 7896 .thumb 7897 .syntax unified 7898 .LBE1018: 7899 .LBE1017: 2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7900 .loc 1 2894 3 is_stmt 1 discriminator 2 view .LVU2248 7901 0032 0268 ldr r2, [r0] 7902 0034 1368 ldr r3, [r2] 7903 0036 0825 movs r5, #8 7904 .LVL553: 2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7905 .loc 1 2894 3 is_stmt 0 discriminator 2 view .LVU2249 7906 0038 2B43 orrs r3, r5 7907 003a 1360 str r3, [r2] 2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7908 .loc 1 2894 3 is_stmt 1 discriminator 2 view .LVU2250 7909 .LVL554: 7910 .LBB1019: 7911 .LBI1019: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7912 .loc 2 412 27 discriminator 2 view .LVU2251 7913 .LBB1020: ARM GAS /tmp/ccwvDHH5.s page 251 7914 .loc 2 414 3 discriminator 2 view .LVU2252 7915 .syntax divided 7916 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7917 003c 84F31088 MSR primask, r4 7918 @ 0 "" 2 7919 .LVL555: 7920 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2253 7921 .thumb 7922 .syntax unified 7923 .LBE1020: 7924 .LBE1019: 7925 .LBE1014: 2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7926 .loc 1 2896 3 is_stmt 1 discriminator 2 view .LVU2254 2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7927 .loc 1 2896 17 is_stmt 0 discriminator 2 view .LVU2255 7928 0040 2023 movs r3, #32 7929 0042 8367 str r3, [r0, #120] 2898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7930 .loc 1 2898 3 is_stmt 1 discriminator 2 view .LVU2256 2898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7931 .loc 1 2898 3 discriminator 2 view .LVU2257 7932 0044 0023 movs r3, #0 7933 0046 4354 strb r3, [r0, r1] 2900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7934 .loc 1 2900 3 discriminator 2 view .LVU2258 2900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 7935 .loc 1 2900 10 is_stmt 0 discriminator 2 view .LVU2259 7936 0048 0020 movs r0, #0 7937 .LVL556: 7938 .L228: 2901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7939 .loc 1 2901 1 view .LVU2260 7940 @ sp needed 7941 004a 70BD pop {r4, r5, r6, pc} 7942 .LVL557: 7943 .L229: 2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7944 .loc 1 2887 3 view .LVU2261 7945 004c 0220 movs r0, #2 7946 .LVL558: 2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7947 .loc 1 2887 3 view .LVU2262 7948 004e FCE7 b .L228 7949 .cfi_endproc 7950 .LFE78: 7952 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits 7953 .align 1 7954 .global HAL_HalfDuplex_EnableReceiver 7955 .syntax unified 7956 .code 16 7957 .thumb_func 7958 .fpu softvfp 7960 HAL_HalfDuplex_EnableReceiver: 7961 .LVL559: 7962 .LFB79: 2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); ARM GAS /tmp/ccwvDHH5.s page 252 7963 .loc 1 2909 1 is_stmt 1 view -0 7964 .cfi_startproc 7965 @ args = 0, pretend = 0, frame = 0 7966 @ frame_needed = 0, uses_anonymous_args = 0 2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 7967 .loc 1 2909 1 is_stmt 0 view .LVU2264 7968 0000 70B5 push {r4, r5, r6, lr} 7969 .LCFI33: 7970 .cfi_def_cfa_offset 16 7971 .cfi_offset 4, -16 7972 .cfi_offset 5, -12 7973 .cfi_offset 6, -8 7974 .cfi_offset 14, -4 2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7975 .loc 1 2910 3 is_stmt 1 view .LVU2265 2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7976 .loc 1 2910 3 view .LVU2266 7977 0002 7423 movs r3, #116 7978 0004 C35C ldrb r3, [r0, r3] 7979 0006 012B cmp r3, #1 7980 0008 20D0 beq .L232 2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7981 .loc 1 2910 3 discriminator 2 view .LVU2267 7982 000a 7421 movs r1, #116 7983 000c 0123 movs r3, #1 7984 000e 4354 strb r3, [r0, r1] 2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7985 .loc 1 2911 3 discriminator 2 view .LVU2268 2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7986 .loc 1 2911 17 is_stmt 0 discriminator 2 view .LVU2269 7987 0010 2422 movs r2, #36 7988 0012 8267 str r2, [r0, #120] 2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7989 .loc 1 2914 3 is_stmt 1 discriminator 2 view .LVU2270 7990 .LBB1021: 2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7991 .loc 1 2914 3 discriminator 2 view .LVU2271 2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 7992 .loc 1 2914 3 discriminator 2 view .LVU2272 7993 .LBB1022: 7994 .LBI1022: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7995 .loc 2 382 31 discriminator 2 view .LVU2273 7996 .LBB1023: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 7997 .loc 2 384 3 discriminator 2 view .LVU2274 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7998 .loc 2 386 3 discriminator 2 view .LVU2275 7999 .syntax divided 8000 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8001 0014 EFF31085 MRS r5, primask 8002 @ 0 "" 2 8003 .LVL560: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8004 .loc 2 387 3 discriminator 2 view .LVU2276 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8005 .loc 2 387 3 is_stmt 0 discriminator 2 view .LVU2277 ARM GAS /tmp/ccwvDHH5.s page 253 8006 .thumb 8007 .syntax unified 8008 .LBE1023: 8009 .LBE1022: 2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8010 .loc 1 2914 3 is_stmt 1 discriminator 2 view .LVU2278 8011 .LBB1024: 8012 .LBI1024: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8013 .loc 2 412 27 discriminator 2 view .LVU2279 8014 .LBB1025: 8015 .loc 2 414 3 discriminator 2 view .LVU2280 8016 .syntax divided 8017 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8018 0018 83F31088 MSR primask, r3 8019 @ 0 "" 2 8020 .LVL561: 8021 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2281 8022 .thumb 8023 .syntax unified 8024 .LBE1025: 8025 .LBE1024: 2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8026 .loc 1 2914 3 is_stmt 1 discriminator 2 view .LVU2282 8027 001c 0468 ldr r4, [r0] 8028 001e 2268 ldr r2, [r4] 8029 0020 0C26 movs r6, #12 8030 0022 B243 bics r2, r6 8031 0024 2260 str r2, [r4] 2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8032 .loc 1 2914 3 discriminator 2 view .LVU2283 8033 .LVL562: 8034 .LBB1026: 8035 .LBI1026: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8036 .loc 2 412 27 discriminator 2 view .LVU2284 8037 .LBB1027: 8038 .loc 2 414 3 discriminator 2 view .LVU2285 8039 .syntax divided 8040 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8041 0026 85F31088 MSR primask, r5 8042 @ 0 "" 2 8043 .LVL563: 8044 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2286 8045 .thumb 8046 .syntax unified 8047 .LBE1027: 8048 .LBE1026: 8049 .LBE1021: 2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8050 .loc 1 2917 3 is_stmt 1 discriminator 2 view .LVU2287 8051 .LBB1028: 2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8052 .loc 1 2917 3 discriminator 2 view .LVU2288 2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8053 .loc 1 2917 3 discriminator 2 view .LVU2289 8054 .LBB1029: ARM GAS /tmp/ccwvDHH5.s page 254 8055 .LBI1029: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8056 .loc 2 382 31 discriminator 2 view .LVU2290 8057 .LBB1030: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 8058 .loc 2 384 3 discriminator 2 view .LVU2291 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8059 .loc 2 386 3 discriminator 2 view .LVU2292 8060 .syntax divided 8061 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8062 002a EFF31084 MRS r4, primask 8063 @ 0 "" 2 8064 .LVL564: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8065 .loc 2 387 3 discriminator 2 view .LVU2293 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8066 .loc 2 387 3 is_stmt 0 discriminator 2 view .LVU2294 8067 .thumb 8068 .syntax unified 8069 .LBE1030: 8070 .LBE1029: 2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8071 .loc 1 2917 3 is_stmt 1 discriminator 2 view .LVU2295 8072 .LBB1031: 8073 .LBI1031: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8074 .loc 2 412 27 discriminator 2 view .LVU2296 8075 .LBB1032: 8076 .loc 2 414 3 discriminator 2 view .LVU2297 8077 .syntax divided 8078 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8079 002e 83F31088 MSR primask, r3 8080 @ 0 "" 2 8081 .LVL565: 8082 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2298 8083 .thumb 8084 .syntax unified 8085 .LBE1032: 8086 .LBE1031: 2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8087 .loc 1 2917 3 is_stmt 1 discriminator 2 view .LVU2299 8088 0032 0268 ldr r2, [r0] 8089 0034 1368 ldr r3, [r2] 8090 0036 0425 movs r5, #4 8091 .LVL566: 2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8092 .loc 1 2917 3 is_stmt 0 discriminator 2 view .LVU2300 8093 0038 2B43 orrs r3, r5 8094 003a 1360 str r3, [r2] 2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8095 .loc 1 2917 3 is_stmt 1 discriminator 2 view .LVU2301 8096 .LVL567: 8097 .LBB1033: 8098 .LBI1033: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8099 .loc 2 412 27 discriminator 2 view .LVU2302 8100 .LBB1034: ARM GAS /tmp/ccwvDHH5.s page 255 8101 .loc 2 414 3 discriminator 2 view .LVU2303 8102 .syntax divided 8103 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8104 003c 84F31088 MSR primask, r4 8105 @ 0 "" 2 8106 .LVL568: 8107 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2304 8108 .thumb 8109 .syntax unified 8110 .LBE1034: 8111 .LBE1033: 8112 .LBE1028: 2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8113 .loc 1 2919 3 is_stmt 1 discriminator 2 view .LVU2305 2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8114 .loc 1 2919 17 is_stmt 0 discriminator 2 view .LVU2306 8115 0040 2023 movs r3, #32 8116 0042 8367 str r3, [r0, #120] 2921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8117 .loc 1 2921 3 is_stmt 1 discriminator 2 view .LVU2307 2921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8118 .loc 1 2921 3 discriminator 2 view .LVU2308 8119 0044 0023 movs r3, #0 8120 0046 4354 strb r3, [r0, r1] 2923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8121 .loc 1 2923 3 discriminator 2 view .LVU2309 2923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8122 .loc 1 2923 10 is_stmt 0 discriminator 2 view .LVU2310 8123 0048 0020 movs r0, #0 8124 .LVL569: 8125 .L231: 2924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8126 .loc 1 2924 1 view .LVU2311 8127 @ sp needed 8128 004a 70BD pop {r4, r5, r6, pc} 8129 .LVL570: 8130 .L232: 2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 8131 .loc 1 2910 3 view .LVU2312 8132 004c 0220 movs r0, #2 8133 .LVL571: 2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 8134 .loc 1 2910 3 view .LVU2313 8135 004e FCE7 b .L231 8136 .cfi_endproc 8137 .LFE79: 8139 .section .text.HAL_LIN_SendBreak,"ax",%progbits 8140 .align 1 8141 .global HAL_LIN_SendBreak 8142 .syntax unified 8143 .code 16 8144 .thumb_func 8145 .fpu softvfp 8147 HAL_LIN_SendBreak: 8148 .LVL572: 8149 .LFB80: 2934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the parameters */ ARM GAS /tmp/ccwvDHH5.s page 256 8150 .loc 1 2934 1 is_stmt 1 view -0 8151 .cfi_startproc 8152 @ args = 0, pretend = 0, frame = 0 8153 @ frame_needed = 0, uses_anonymous_args = 0 2934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the parameters */ 8154 .loc 1 2934 1 is_stmt 0 view .LVU2315 8155 0000 10B5 push {r4, lr} 8156 .LCFI34: 8157 .cfi_def_cfa_offset 8 8158 .cfi_offset 4, -8 8159 .cfi_offset 14, -4 2936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8160 .loc 1 2936 3 is_stmt 1 view .LVU2316 2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8161 .loc 1 2938 3 view .LVU2317 2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8162 .loc 1 2938 3 view .LVU2318 8163 0002 7423 movs r3, #116 8164 0004 C35C ldrb r3, [r0, r3] 8165 0006 012B cmp r3, #1 8166 0008 0FD0 beq .L235 2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8167 .loc 1 2938 3 discriminator 2 view .LVU2319 8168 000a 7422 movs r2, #116 8169 000c 0123 movs r3, #1 8170 000e 8354 strb r3, [r0, r2] 2940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8171 .loc 1 2940 3 discriminator 2 view .LVU2320 2940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8172 .loc 1 2940 17 is_stmt 0 discriminator 2 view .LVU2321 8173 0010 2333 adds r3, r3, #35 8174 0012 8367 str r3, [r0, #120] 2943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8175 .loc 1 2943 3 is_stmt 1 discriminator 2 view .LVU2322 8176 0014 0168 ldr r1, [r0] 8177 0016 8B69 ldr r3, [r1, #24] 8178 0018 0224 movs r4, #2 8179 001a 2343 orrs r3, r4 8180 001c 8B61 str r3, [r1, #24] 2945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8181 .loc 1 2945 3 discriminator 2 view .LVU2323 2945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8182 .loc 1 2945 17 is_stmt 0 discriminator 2 view .LVU2324 8183 001e 2023 movs r3, #32 8184 0020 8367 str r3, [r0, #120] 2947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8185 .loc 1 2947 3 is_stmt 1 discriminator 2 view .LVU2325 2947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8186 .loc 1 2947 3 discriminator 2 view .LVU2326 8187 0022 0023 movs r3, #0 8188 0024 8354 strb r3, [r0, r2] 2949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8189 .loc 1 2949 3 discriminator 2 view .LVU2327 2949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8190 .loc 1 2949 10 is_stmt 0 discriminator 2 view .LVU2328 8191 0026 0020 movs r0, #0 8192 .LVL573: ARM GAS /tmp/ccwvDHH5.s page 257 8193 .L234: 2950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR2_LINEN */ 8194 .loc 1 2950 1 view .LVU2329 8195 @ sp needed 8196 0028 10BD pop {r4, pc} 8197 .LVL574: 8198 .L235: 2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8199 .loc 1 2938 3 view .LVU2330 8200 002a 0220 movs r0, #2 8201 .LVL575: 2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8202 .loc 1 2938 3 view .LVU2331 8203 002c FCE7 b .L234 8204 .cfi_endproc 8205 .LFE80: 8207 .section .text.HAL_UART_GetState,"ax",%progbits 8208 .align 1 8209 .global HAL_UART_GetState 8210 .syntax unified 8211 .code 16 8212 .thumb_func 8213 .fpu softvfp 8215 HAL_UART_GetState: 8216 .LVL576: 8217 .LFB81: 2980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t temp1; 8218 .loc 1 2980 1 is_stmt 1 view -0 8219 .cfi_startproc 8220 @ args = 0, pretend = 0, frame = 0 8221 @ frame_needed = 0, uses_anonymous_args = 0 8222 @ link register save eliminated. 2981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t temp2; 8223 .loc 1 2981 3 view .LVU2333 2982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** temp1 = huart->gState; 8224 .loc 1 2982 3 view .LVU2334 2983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** temp2 = huart->RxState; 8225 .loc 1 2983 3 view .LVU2335 2983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** temp2 = huart->RxState; 8226 .loc 1 2983 9 is_stmt 0 view .LVU2336 8227 0000 836F ldr r3, [r0, #120] 8228 .LVL577: 2984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8229 .loc 1 2984 3 is_stmt 1 view .LVU2337 2984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8230 .loc 1 2984 9 is_stmt 0 view .LVU2338 8231 0002 C06F ldr r0, [r0, #124] 8232 .LVL578: 2986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8233 .loc 1 2986 3 is_stmt 1 view .LVU2339 2986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8234 .loc 1 2986 10 is_stmt 0 view .LVU2340 8235 0004 1843 orrs r0, r3 8236 .LVL579: 2987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8237 .loc 1 2987 1 view .LVU2341 8238 @ sp needed ARM GAS /tmp/ccwvDHH5.s page 258 8239 0006 7047 bx lr 8240 .cfi_endproc 8241 .LFE81: 8243 .section .text.HAL_UART_GetError,"ax",%progbits 8244 .align 1 8245 .global HAL_UART_GetError 8246 .syntax unified 8247 .code 16 8248 .thumb_func 8249 .fpu softvfp 8251 HAL_UART_GetError: 8252 .LVL580: 8253 .LFB82: 2996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return huart->ErrorCode; 8254 .loc 1 2996 1 is_stmt 1 view -0 8255 .cfi_startproc 8256 @ args = 0, pretend = 0, frame = 0 8257 @ frame_needed = 0, uses_anonymous_args = 0 8258 @ link register save eliminated. 2997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8259 .loc 1 2997 3 view .LVU2343 2997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8260 .loc 1 2997 15 is_stmt 0 view .LVU2344 8261 0000 8023 movs r3, #128 8262 0002 C058 ldr r0, [r0, r3] 8263 .LVL581: 2998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** 8264 .loc 1 2998 1 view .LVU2345 8265 @ sp needed 8266 0004 7047 bx lr 8267 .cfi_endproc 8268 .LFE82: 8270 .global __aeabi_uidiv 8271 .section .text.UART_SetConfig,"ax",%progbits 8272 .align 1 8273 .global UART_SetConfig 8274 .syntax unified 8275 .code 16 8276 .thumb_func 8277 .fpu softvfp 8279 UART_SetConfig: 8280 .LVL582: 8281 .LFB83: 3044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tmpreg; 8282 .loc 1 3044 1 is_stmt 1 view -0 8283 .cfi_startproc 8284 @ args = 0, pretend = 0, frame = 0 8285 @ frame_needed = 0, uses_anonymous_args = 0 3044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tmpreg; 8286 .loc 1 3044 1 is_stmt 0 view .LVU2347 8287 0000 10B5 push {r4, lr} 8288 .LCFI35: 8289 .cfi_def_cfa_offset 8 8290 .cfi_offset 4, -8 8291 .cfi_offset 14, -4 8292 0002 0400 movs r4, r0 3045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t brrtemp; ARM GAS /tmp/ccwvDHH5.s page 259 8293 .loc 1 3045 3 is_stmt 1 view .LVU2348 3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource; 8294 .loc 1 3046 3 view .LVU2349 3047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t usartdiv; 8295 .loc 1 3047 3 view .LVU2350 3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK; 8296 .loc 1 3048 3 view .LVU2351 3049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t pclk; 8297 .loc 1 3049 3 view .LVU2352 8298 .LVL583: 3050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8299 .loc 1 3050 3 view .LVU2353 3053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 8300 .loc 1 3053 3 view .LVU2354 3054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits)); 8301 .loc 1 3054 3 view .LVU2355 3055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling)); 8302 .loc 1 3055 3 view .LVU2356 3056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8303 .loc 1 3056 3 view .LVU2357 3058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 8304 .loc 1 3058 3 view .LVU2358 3059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); 8305 .loc 1 3059 3 view .LVU2359 3060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 8306 .loc 1 3060 3 view .LVU2360 3061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8307 .loc 1 3061 3 view .LVU2361 3070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 8308 .loc 1 3070 3 view .LVU2362 3070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 8309 .loc 1 3070 45 is_stmt 0 view .LVU2363 8310 0004 8368 ldr r3, [r0, #8] 8311 0006 0269 ldr r2, [r0, #16] 8312 0008 1343 orrs r3, r2 3070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 8313 .loc 1 3070 66 view .LVU2364 8314 000a 4269 ldr r2, [r0, #20] 8315 000c 1343 orrs r3, r2 3070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 8316 .loc 1 3070 10 view .LVU2365 8317 000e C269 ldr r2, [r0, #28] 8318 0010 1343 orrs r3, r2 8319 .LVL584: 3071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8320 .loc 1 3071 3 is_stmt 1 view .LVU2366 8321 0012 0168 ldr r1, [r0] 8322 0014 0A68 ldr r2, [r1] 8323 0016 4F48 ldr r0, .L274 8324 .LVL585: 3071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8325 .loc 1 3071 3 is_stmt 0 view .LVU2367 8326 0018 0240 ands r2, r0 8327 001a 1343 orrs r3, r2 8328 .LVL586: 3071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8329 .loc 1 3071 3 view .LVU2368 ARM GAS /tmp/ccwvDHH5.s page 260 8330 001c 0B60 str r3, [r1] 8331 .LVL587: 3076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8332 .loc 1 3076 3 is_stmt 1 view .LVU2369 8333 001e 2268 ldr r2, [r4] 8334 0020 5368 ldr r3, [r2, #4] 8335 0022 4D49 ldr r1, .L274+4 8336 0024 0B40 ands r3, r1 8337 0026 E168 ldr r1, [r4, #12] 8338 0028 0B43 orrs r3, r1 8339 002a 5360 str r3, [r2, #4] 3084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8340 .loc 1 3084 3 view .LVU2370 8341 .LVL588: 3086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 8342 .loc 1 3086 3 view .LVU2371 3086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 8343 .loc 1 3086 10 is_stmt 0 view .LVU2372 8344 002c 226A ldr r2, [r4, #32] 8345 002e A369 ldr r3, [r4, #24] 8346 0030 1A43 orrs r2, r3 8347 .LVL589: 3087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8348 .loc 1 3087 3 is_stmt 1 view .LVU2373 8349 0032 2168 ldr r1, [r4] 8350 0034 8B68 ldr r3, [r1, #8] 8351 0036 4948 ldr r0, .L274+8 8352 0038 0340 ands r3, r0 8353 003a 1343 orrs r3, r2 8354 003c 8B60 str r3, [r1, #8] 3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8355 .loc 1 3091 3 view .LVU2374 3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8356 .loc 1 3091 3 view .LVU2375 8357 003e 2368 ldr r3, [r4] 8358 0040 474A ldr r2, .L274+12 8359 .LVL590: 3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8360 .loc 1 3091 3 is_stmt 0 view .LVU2376 8361 0042 9342 cmp r3, r2 8362 0044 24D0 beq .L265 3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8363 .loc 1 3091 3 is_stmt 1 discriminator 2 view .LVU2377 8364 0046 474A ldr r2, .L274+16 8365 0048 9342 cmp r3, r2 8366 004a 2FD0 beq .L266 3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8367 .loc 1 3091 3 is_stmt 0 view .LVU2378 8368 004c 1023 movs r3, #16 8369 .L240: 8370 .LVL591: 3093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8371 .loc 1 3093 3 is_stmt 1 view .LVU2379 3093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8372 .loc 1 3093 18 is_stmt 0 view .LVU2380 8373 004e E069 ldr r0, [r4, #28] 3093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { ARM GAS /tmp/ccwvDHH5.s page 261 8374 .loc 1 3093 6 view .LVU2381 8375 0050 8022 movs r2, #128 8376 0052 1202 lsls r2, r2, #8 8377 0054 9042 cmp r0, r2 8378 0056 33D0 beq .L267 3133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8379 .loc 1 3133 5 is_stmt 1 view .LVU2382 8380 0058 022B cmp r3, #2 8381 005a 00D1 bne .LCB6598 8382 005c 74E0 b .L261 @long jump 8383 .LCB6598: 8384 005e 61D9 bls .L268 8385 0060 042B cmp r3, #4 8386 0062 00D1 bne .LCB6602 8387 0064 6DE0 b .L251 @long jump 8388 .LCB6602: 8389 0066 082B cmp r3, #8 8390 0068 69D1 bne .L269 3145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 8391 .loc 1 3145 14 is_stmt 0 view .LVU2383 8392 006a 8020 movs r0, #128 8393 006c 0002 lsls r0, r0, #8 8394 .LVL592: 8395 .L248: 3156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8396 .loc 1 3156 7 is_stmt 1 view .LVU2384 3156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8397 .loc 1 3156 29 is_stmt 0 view .LVU2385 8398 006e 6368 ldr r3, [r4, #4] 8399 0070 5B08 lsrs r3, r3, #1 8400 0072 1818 adds r0, r3, r0 8401 0074 6168 ldr r1, [r4, #4] 8402 0076 FFF7FEFF bl __aeabi_uidiv 8403 .LVL593: 8404 007a 0004 lsls r0, r0, #16 8405 007c 000C lsrs r0, r0, #16 8406 .LVL594: 3157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8407 .loc 1 3157 7 is_stmt 1 view .LVU2386 3157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8408 .loc 1 3157 38 is_stmt 0 view .LVU2387 8409 007e 0200 movs r2, r0 8410 0080 103A subs r2, r2, #16 3157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8411 .loc 1 3157 10 view .LVU2388 8412 0082 394B ldr r3, .L274+20 8413 0084 9A42 cmp r2, r3 8414 0086 63D8 bhi .L264 3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8415 .loc 1 3159 9 is_stmt 1 view .LVU2389 3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8416 .loc 1 3159 14 is_stmt 0 view .LVU2390 8417 0088 2368 ldr r3, [r4] 3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8418 .loc 1 3159 30 view .LVU2391 8419 008a D860 str r0, [r3, #12] 8420 008c 0020 movs r0, #0 ARM GAS /tmp/ccwvDHH5.s page 262 8421 .LVL595: 3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8422 .loc 1 3159 30 view .LVU2392 8423 008e 52E0 b .L245 8424 .LVL596: 8425 .L265: 3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8426 .loc 1 3091 3 is_stmt 1 discriminator 1 view .LVU2393 8427 0090 364B ldr r3, .L274+24 8428 0092 1A6B ldr r2, [r3, #48] 8429 0094 0323 movs r3, #3 8430 0096 1340 ands r3, r2 8431 0098 012B cmp r3, #1 8432 009a 09D0 beq .L253 3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8433 .loc 1 3091 3 is_stmt 0 view .LVU2394 8434 009c 002B cmp r3, #0 8435 009e 09D0 beq .L254 8436 00a0 022B cmp r3, #2 8437 00a2 09D0 beq .L255 8438 00a4 032B cmp r3, #3 8439 00a6 09D0 beq .L256 8440 00a8 1023 movs r3, #16 8441 00aa D0E7 b .L240 8442 .L266: 8443 00ac 0023 movs r3, #0 8444 00ae CEE7 b .L240 8445 .L253: 8446 00b0 0423 movs r3, #4 8447 00b2 CCE7 b .L240 8448 .L254: 8449 00b4 0023 movs r3, #0 8450 00b6 CAE7 b .L240 8451 .L255: 8452 00b8 0823 movs r3, #8 8453 00ba C8E7 b .L240 8454 .L256: 8455 00bc 0223 movs r3, #2 8456 00be C6E7 b .L240 8457 .LVL597: 8458 .L267: 3095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8459 .loc 1 3095 5 is_stmt 1 view .LVU2395 8460 00c0 022B cmp r3, #2 8461 00c2 2DD0 beq .L258 8462 00c4 1DD9 bls .L270 8463 00c6 042B cmp r3, #4 8464 00c8 27D0 beq .L246 8465 00ca 082B cmp r3, #8 8466 00cc 23D1 bne .L271 8467 .LVL598: 8468 .L242: 3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8469 .loc 1 3118 7 view .LVU2396 3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8470 .loc 1 3118 29 is_stmt 0 view .LVU2397 8471 00ce 4000 lsls r0, r0, #1 ARM GAS /tmp/ccwvDHH5.s page 263 8472 00d0 6368 ldr r3, [r4, #4] 8473 00d2 5B08 lsrs r3, r3, #1 8474 00d4 C018 adds r0, r0, r3 8475 00d6 6168 ldr r1, [r4, #4] 8476 00d8 FFF7FEFF bl __aeabi_uidiv 8477 .LVL599: 3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8478 .loc 1 3118 18 view .LVU2398 8479 00dc 83B2 uxth r3, r0 8480 00de 0004 lsls r0, r0, #16 8481 00e0 000C lsrs r0, r0, #16 8482 .LVL600: 3119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8483 .loc 1 3119 7 is_stmt 1 view .LVU2399 3119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8484 .loc 1 3119 38 is_stmt 0 view .LVU2400 8485 00e2 0100 movs r1, r0 8486 00e4 1039 subs r1, r1, #16 3119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8487 .loc 1 3119 10 view .LVU2401 8488 00e6 204A ldr r2, .L274+20 8489 00e8 9142 cmp r1, r2 8490 00ea 2FD8 bhi .L260 3121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 8491 .loc 1 3121 9 is_stmt 1 view .LVU2402 3121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 8492 .loc 1 3121 17 is_stmt 0 view .LVU2403 8493 00ec 0F22 movs r2, #15 8494 00ee 9343 bics r3, r2 8495 00f0 1A00 movs r2, r3 8496 .LVL601: 3122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 8497 .loc 1 3122 9 is_stmt 1 view .LVU2404 3122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 8498 .loc 1 3122 62 is_stmt 0 view .LVU2405 8499 00f2 4008 lsrs r0, r0, #1 8500 .LVL602: 3122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 8501 .loc 1 3122 20 view .LVU2406 8502 00f4 0723 movs r3, #7 8503 00f6 1840 ands r0, r3 3122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 8504 .loc 1 3122 17 view .LVU2407 8505 00f8 1043 orrs r0, r2 8506 .LVL603: 3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8507 .loc 1 3123 9 is_stmt 1 view .LVU2408 3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8508 .loc 1 3123 14 is_stmt 0 view .LVU2409 8509 00fa 2368 ldr r3, [r4] 3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8510 .loc 1 3123 30 view .LVU2410 8511 00fc D860 str r0, [r3, #12] 8512 00fe 0020 movs r0, #0 8513 .LVL604: 3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8514 .loc 1 3123 30 view .LVU2411 ARM GAS /tmp/ccwvDHH5.s page 264 8515 0100 19E0 b .L245 8516 .LVL605: 8517 .L270: 3095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8518 .loc 1 3095 5 view .LVU2412 8519 0102 002B cmp r3, #0 8520 0104 05D1 bne .L272 3098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 8521 .loc 1 3098 9 is_stmt 1 view .LVU2413 3098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 8522 .loc 1 3098 16 is_stmt 0 view .LVU2414 8523 0106 FFF7FEFF bl HAL_RCC_GetPCLK1Freq 8524 .LVL606: 3099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 8525 .loc 1 3099 9 is_stmt 1 view .LVU2415 8526 .L247: 3116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8527 .loc 1 3116 5 view .LVU2416 3116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8528 .loc 1 3116 8 is_stmt 0 view .LVU2417 8529 010a 0028 cmp r0, #0 8530 010c DFD1 bne .L242 3116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8531 .loc 1 3116 8 view .LVU2418 8532 010e 0020 movs r0, #0 8533 .LVL607: 3116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8534 .loc 1 3116 8 view .LVU2419 8535 0110 11E0 b .L245 8536 .LVL608: 8537 .L272: 3111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 8538 .loc 1 3111 13 view .LVU2420 8539 0112 0120 movs r0, #1 8540 0114 0FE0 b .L245 8541 .L271: 8542 0116 0120 movs r0, #1 8543 0118 0DE0 b .L245 8544 .L246: 3104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 8545 .loc 1 3104 9 is_stmt 1 view .LVU2421 3104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 8546 .loc 1 3104 16 is_stmt 0 view .LVU2422 8547 011a FFF7FEFF bl HAL_RCC_GetSysClockFreq 8548 .LVL609: 3105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 8549 .loc 1 3105 9 is_stmt 1 view .LVU2423 8550 011e F4E7 b .L247 8551 .LVL610: 8552 .L258: 3101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 8553 .loc 1 3101 14 is_stmt 0 view .LVU2424 8554 0120 1348 ldr r0, .L274+28 8555 0122 D4E7 b .L242 8556 .L268: 3133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8557 .loc 1 3133 5 view .LVU2425 ARM GAS /tmp/ccwvDHH5.s page 265 8558 0124 002B cmp r3, #0 8559 0126 05D1 bne .L273 3136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 8560 .loc 1 3136 9 is_stmt 1 view .LVU2426 3136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 8561 .loc 1 3136 16 is_stmt 0 view .LVU2427 8562 0128 FFF7FEFF bl HAL_RCC_GetPCLK1Freq 8563 .LVL611: 3137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 8564 .loc 1 3137 9 is_stmt 1 view .LVU2428 8565 .L252: 3153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8566 .loc 1 3153 5 view .LVU2429 3153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8567 .loc 1 3153 8 is_stmt 0 view .LVU2430 8568 012c 0028 cmp r0, #0 8569 012e 9ED1 bne .L248 3153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8570 .loc 1 3153 8 view .LVU2431 8571 0130 0020 movs r0, #0 8572 .LVL612: 3153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8573 .loc 1 3153 8 view .LVU2432 8574 0132 00E0 b .L245 8575 .LVL613: 8576 .L273: 3149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 8577 .loc 1 3149 13 view .LVU2433 8578 0134 0120 movs r0, #1 8579 .LVL614: 8580 .L245: 3170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL; 8581 .loc 1 3170 3 is_stmt 1 view .LVU2434 3170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL; 8582 .loc 1 3170 16 is_stmt 0 view .LVU2435 8583 0136 0023 movs r3, #0 8584 0138 6366 str r3, [r4, #100] 3171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8585 .loc 1 3171 3 is_stmt 1 view .LVU2436 3171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8586 .loc 1 3171 16 is_stmt 0 view .LVU2437 8587 013a A366 str r3, [r4, #104] 3173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8588 .loc 1 3173 3 is_stmt 1 view .LVU2438 3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8589 .loc 1 3174 1 is_stmt 0 view .LVU2439 8590 @ sp needed 8591 .LVL615: 3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8592 .loc 1 3174 1 view .LVU2440 8593 013c 10BD pop {r4, pc} 8594 .LVL616: 8595 .L269: 3149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 8596 .loc 1 3149 13 view .LVU2441 8597 013e 0120 movs r0, #1 8598 0140 F9E7 b .L245 ARM GAS /tmp/ccwvDHH5.s page 266 8599 .L251: 3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 8600 .loc 1 3142 9 is_stmt 1 view .LVU2442 3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 8601 .loc 1 3142 16 is_stmt 0 view .LVU2443 8602 0142 FFF7FEFF bl HAL_RCC_GetSysClockFreq 8603 .LVL617: 3143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 8604 .loc 1 3143 9 is_stmt 1 view .LVU2444 8605 0146 F1E7 b .L252 8606 .LVL618: 8607 .L261: 3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break; 8608 .loc 1 3139 14 is_stmt 0 view .LVU2445 8609 0148 0948 ldr r0, .L274+28 8610 014a 90E7 b .L248 8611 .LVL619: 8612 .L260: 3127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8613 .loc 1 3127 13 view .LVU2446 8614 014c 0120 movs r0, #1 8615 .LVL620: 3127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8616 .loc 1 3127 13 view .LVU2447 8617 014e F2E7 b .L245 8618 .LVL621: 8619 .L264: 3163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8620 .loc 1 3163 13 view .LVU2448 8621 0150 0120 movs r0, #1 8622 .LVL622: 3163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8623 .loc 1 3163 13 view .LVU2449 8624 0152 F0E7 b .L245 8625 .L275: 8626 .align 2 8627 .L274: 8628 0154 F369FFEF .word -268473869 8629 0158 FFCFFFFF .word -12289 8630 015c FFF4FFFF .word -2817 8631 0160 00380140 .word 1073821696 8632 0164 00440040 .word 1073759232 8633 0168 EFFF0000 .word 65519 8634 016c 00100240 .word 1073876992 8635 0170 00127A00 .word 8000000 8636 .cfi_endproc 8637 .LFE83: 8639 .section .text.UART_AdvFeatureConfig,"ax",%progbits 8640 .align 1 8641 .global UART_AdvFeatureConfig 8642 .syntax unified 8643 .code 16 8644 .thumb_func 8645 .fpu softvfp 8647 UART_AdvFeatureConfig: 8648 .LVL623: 8649 .LFB84: ARM GAS /tmp/ccwvDHH5.s page 267 3182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */ 8650 .loc 1 3182 1 is_stmt 1 view -0 8651 .cfi_startproc 8652 @ args = 0, pretend = 0, frame = 0 8653 @ frame_needed = 0, uses_anonymous_args = 0 8654 @ link register save eliminated. 3184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8655 .loc 1 3184 3 view .LVU2451 3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8656 .loc 1 3187 3 view .LVU2452 3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8657 .loc 1 3187 6 is_stmt 0 view .LVU2453 8658 0000 436A ldr r3, [r0, #36] 8659 0002 DB07 lsls r3, r3, #31 8660 0004 06D5 bpl .L277 3189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); 8661 .loc 1 3189 5 is_stmt 1 view .LVU2454 3190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8662 .loc 1 3190 5 view .LVU2455 8663 0006 0268 ldr r2, [r0] 8664 0008 5368 ldr r3, [r2, #4] 8665 000a 2C49 ldr r1, .L286 8666 000c 0B40 ands r3, r1 8667 000e 816A ldr r1, [r0, #40] 8668 0010 0B43 orrs r3, r1 8669 0012 5360 str r3, [r2, #4] 8670 .L277: 3194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8671 .loc 1 3194 3 view .LVU2456 3194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8672 .loc 1 3194 6 is_stmt 0 view .LVU2457 8673 0014 436A ldr r3, [r0, #36] 8674 0016 9B07 lsls r3, r3, #30 8675 0018 06D5 bpl .L278 3196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); 8676 .loc 1 3196 5 is_stmt 1 view .LVU2458 3197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8677 .loc 1 3197 5 view .LVU2459 8678 001a 0268 ldr r2, [r0] 8679 001c 5368 ldr r3, [r2, #4] 8680 001e 2849 ldr r1, .L286+4 8681 0020 0B40 ands r3, r1 8682 0022 C16A ldr r1, [r0, #44] 8683 0024 0B43 orrs r3, r1 8684 0026 5360 str r3, [r2, #4] 8685 .L278: 3201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8686 .loc 1 3201 3 view .LVU2460 3201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8687 .loc 1 3201 6 is_stmt 0 view .LVU2461 8688 0028 436A ldr r3, [r0, #36] 8689 002a 5B07 lsls r3, r3, #29 8690 002c 06D5 bpl .L279 3203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); 8691 .loc 1 3203 5 is_stmt 1 view .LVU2462 3204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8692 .loc 1 3204 5 view .LVU2463 ARM GAS /tmp/ccwvDHH5.s page 268 8693 002e 0268 ldr r2, [r0] 8694 0030 5368 ldr r3, [r2, #4] 8695 0032 2449 ldr r1, .L286+8 8696 0034 0B40 ands r3, r1 8697 0036 016B ldr r1, [r0, #48] 8698 0038 0B43 orrs r3, r1 8699 003a 5360 str r3, [r2, #4] 8700 .L279: 3208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8701 .loc 1 3208 3 view .LVU2464 3208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8702 .loc 1 3208 6 is_stmt 0 view .LVU2465 8703 003c 436A ldr r3, [r0, #36] 8704 003e 1B07 lsls r3, r3, #28 8705 0040 06D5 bpl .L280 3210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); 8706 .loc 1 3210 5 is_stmt 1 view .LVU2466 3211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8707 .loc 1 3211 5 view .LVU2467 8708 0042 0268 ldr r2, [r0] 8709 0044 5368 ldr r3, [r2, #4] 8710 0046 2049 ldr r1, .L286+12 8711 0048 0B40 ands r3, r1 8712 004a 416B ldr r1, [r0, #52] 8713 004c 0B43 orrs r3, r1 8714 004e 5360 str r3, [r2, #4] 8715 .L280: 3215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8716 .loc 1 3215 3 view .LVU2468 3215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8717 .loc 1 3215 6 is_stmt 0 view .LVU2469 8718 0050 436A ldr r3, [r0, #36] 8719 0052 DB06 lsls r3, r3, #27 8720 0054 06D5 bpl .L281 3217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); 8721 .loc 1 3217 5 is_stmt 1 view .LVU2470 3218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8722 .loc 1 3218 5 view .LVU2471 8723 0056 0268 ldr r2, [r0] 8724 0058 9368 ldr r3, [r2, #8] 8725 005a 1C49 ldr r1, .L286+16 8726 005c 0B40 ands r3, r1 8727 005e 816B ldr r1, [r0, #56] 8728 0060 0B43 orrs r3, r1 8729 0062 9360 str r3, [r2, #8] 8730 .L281: 3222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8731 .loc 1 3222 3 view .LVU2472 3222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8732 .loc 1 3222 6 is_stmt 0 view .LVU2473 8733 0064 436A ldr r3, [r0, #36] 8734 0066 9B06 lsls r3, r3, #26 8735 0068 06D5 bpl .L282 3224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); 8736 .loc 1 3224 5 is_stmt 1 view .LVU2474 3225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8737 .loc 1 3225 5 view .LVU2475 ARM GAS /tmp/ccwvDHH5.s page 269 8738 006a 0268 ldr r2, [r0] 8739 006c 9368 ldr r3, [r2, #8] 8740 006e 1849 ldr r1, .L286+20 8741 0070 0B40 ands r3, r1 8742 0072 C16B ldr r1, [r0, #60] 8743 0074 0B43 orrs r3, r1 8744 0076 9360 str r3, [r2, #8] 8745 .L282: 3229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8746 .loc 1 3229 3 view .LVU2476 3229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8747 .loc 1 3229 6 is_stmt 0 view .LVU2477 8748 0078 436A ldr r3, [r0, #36] 8749 007a 5B06 lsls r3, r3, #25 8750 007c 0BD5 bpl .L283 3231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); 8751 .loc 1 3231 5 is_stmt 1 view .LVU2478 3232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); 8752 .loc 1 3232 5 view .LVU2479 3233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 8753 .loc 1 3233 5 view .LVU2480 8754 007e 0268 ldr r2, [r0] 8755 0080 5368 ldr r3, [r2, #4] 8756 0082 1449 ldr r1, .L286+24 8757 0084 0B40 ands r3, r1 8758 0086 016C ldr r1, [r0, #64] 8759 0088 0B43 orrs r3, r1 8760 008a 5360 str r3, [r2, #4] 3235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8761 .loc 1 3235 5 view .LVU2481 3235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8762 .loc 1 3235 8 is_stmt 0 view .LVU2482 8763 008c 8023 movs r3, #128 8764 008e 5B03 lsls r3, r3, #13 8765 0090 026C ldr r2, [r0, #64] 8766 0092 9A42 cmp r2, r3 8767 0094 0AD0 beq .L285 8768 .L283: 3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8769 .loc 1 3243 3 is_stmt 1 view .LVU2483 3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8770 .loc 1 3243 6 is_stmt 0 view .LVU2484 8771 0096 436A ldr r3, [r0, #36] 8772 0098 1B06 lsls r3, r3, #24 8773 009a 06D5 bpl .L276 3245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); 8774 .loc 1 3245 5 is_stmt 1 view .LVU2485 3246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8775 .loc 1 3246 5 view .LVU2486 8776 009c 0268 ldr r2, [r0] 8777 009e 5368 ldr r3, [r2, #4] 8778 00a0 0D49 ldr r1, .L286+28 8779 00a2 0B40 ands r3, r1 8780 00a4 816C ldr r1, [r0, #72] 8781 00a6 0B43 orrs r3, r1 8782 00a8 5360 str r3, [r2, #4] 8783 .L276: ARM GAS /tmp/ccwvDHH5.s page 270 3248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8784 .loc 1 3248 1 is_stmt 0 view .LVU2487 8785 @ sp needed 8786 00aa 7047 bx lr 8787 .L285: 3237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); 8788 .loc 1 3237 7 is_stmt 1 view .LVU2488 3238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 8789 .loc 1 3238 7 view .LVU2489 8790 00ac 0268 ldr r2, [r0] 8791 00ae 5368 ldr r3, [r2, #4] 8792 00b0 0A49 ldr r1, .L286+32 8793 00b2 0B40 ands r3, r1 8794 00b4 416C ldr r1, [r0, #68] 8795 00b6 0B43 orrs r3, r1 8796 00b8 5360 str r3, [r2, #4] 8797 00ba ECE7 b .L283 8798 .L287: 8799 .align 2 8800 .L286: 8801 00bc FFFFFDFF .word -131073 8802 00c0 FFFFFEFF .word -65537 8803 00c4 FFFFFBFF .word -262145 8804 00c8 FF7FFFFF .word -32769 8805 00cc FFEFFFFF .word -4097 8806 00d0 FFDFFFFF .word -8193 8807 00d4 FFFFEFFF .word -1048577 8808 00d8 FFFFF7FF .word -524289 8809 00dc FFFF9FFF .word -6291457 8810 .cfi_endproc 8811 .LFE84: 8813 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits 8814 .align 1 8815 .global UART_WaitOnFlagUntilTimeout 8816 .syntax unified 8817 .code 16 8818 .thumb_func 8819 .fpu softvfp 8821 UART_WaitOnFlagUntilTimeout: 8822 .LVL624: 8823 .LFB86: 3308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Wait until flag is set */ 8824 .loc 1 3308 1 view -0 8825 .cfi_startproc 8826 @ args = 4, pretend = 0, frame = 0 8827 @ frame_needed = 0, uses_anonymous_args = 0 3308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Wait until flag is set */ 8828 .loc 1 3308 1 is_stmt 0 view .LVU2491 8829 0000 F0B5 push {r4, r5, r6, r7, lr} 8830 .LCFI36: 8831 .cfi_def_cfa_offset 20 8832 .cfi_offset 4, -20 8833 .cfi_offset 5, -16 8834 .cfi_offset 6, -12 8835 .cfi_offset 7, -8 8836 .cfi_offset 14, -4 8837 0002 C646 mov lr, r8 ARM GAS /tmp/ccwvDHH5.s page 271 8838 0004 00B5 push {lr} 8839 .LCFI37: 8840 .cfi_def_cfa_offset 24 8841 .cfi_offset 8, -24 8842 0006 0500 movs r5, r0 8843 0008 0C00 movs r4, r1 8844 000a 1700 movs r7, r2 8845 000c 9846 mov r8, r3 8846 000e 069E ldr r6, [sp, #24] 3310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8847 .loc 1 3310 3 is_stmt 1 view .LVU2492 8848 .LVL625: 8849 .L290: 3310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8850 .loc 1 3310 11 is_stmt 0 view .LVU2493 8851 0010 2B68 ldr r3, [r5] 8852 0012 DB69 ldr r3, [r3, #28] 8853 0014 2340 ands r3, r4 3310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8854 .loc 1 3310 50 view .LVU2494 8855 0016 1B1B subs r3, r3, r4 8856 0018 5A42 rsbs r2, r3, #0 8857 001a 5341 adcs r3, r3, r2 3310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8858 .loc 1 3310 9 view .LVU2495 8859 001c BB42 cmp r3, r7 8860 001e 51D1 bne .L295 3313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8861 .loc 1 3313 5 is_stmt 1 view .LVU2496 3313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8862 .loc 1 3313 8 is_stmt 0 view .LVU2497 8863 0020 731C adds r3, r6, #1 8864 0022 F5D0 beq .L290 3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8865 .loc 1 3315 7 is_stmt 1 view .LVU2498 3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8866 .loc 1 3315 13 is_stmt 0 view .LVU2499 8867 0024 FFF7FEFF bl HAL_GetTick 8868 .LVL626: 3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8869 .loc 1 3315 27 view .LVU2500 8870 0028 4346 mov r3, r8 8871 002a C01A subs r0, r0, r3 3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8872 .loc 1 3315 10 view .LVU2501 8873 002c B042 cmp r0, r6 8874 002e 2BD8 bhi .L291 8875 .LVL627: 3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8876 .loc 1 3315 51 discriminator 1 view .LVU2502 8877 0030 002E cmp r6, #0 8878 0032 29D0 beq .L291 3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8879 .loc 1 3330 7 is_stmt 1 view .LVU2503 3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8880 .loc 1 3330 11 is_stmt 0 view .LVU2504 8881 0034 2B68 ldr r3, [r5] ARM GAS /tmp/ccwvDHH5.s page 272 8882 .LVL628: 3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8883 .loc 1 3330 11 view .LVU2505 8884 0036 1A68 ldr r2, [r3] 3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8885 .loc 1 3330 10 view .LVU2506 8886 0038 5207 lsls r2, r2, #29 8887 003a E9D5 bpl .L290 3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8888 .loc 1 3332 9 is_stmt 1 view .LVU2507 3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8889 .loc 1 3332 13 is_stmt 0 view .LVU2508 8890 003c DA69 ldr r2, [r3, #28] 3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 8891 .loc 1 3332 12 view .LVU2509 8892 003e 1205 lsls r2, r2, #20 8893 0040 E6D5 bpl .L290 3335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8894 .loc 1 3335 11 is_stmt 1 view .LVU2510 8895 0042 8022 movs r2, #128 8896 0044 1201 lsls r2, r2, #4 8897 0046 1A62 str r2, [r3, #32] 3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8898 .loc 1 3339 11 view .LVU2511 8899 .LBB1035: 3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8900 .loc 1 3339 11 view .LVU2512 3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8901 .loc 1 3339 11 view .LVU2513 8902 .LBB1036: 8903 .LBI1036: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8904 .loc 2 382 31 view .LVU2514 8905 .LBB1037: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 8906 .loc 2 384 3 view .LVU2515 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8907 .loc 2 386 3 view .LVU2516 8908 .syntax divided 8909 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8910 0048 EFF31080 MRS r0, primask 8911 @ 0 "" 2 8912 .LVL629: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8913 .loc 2 387 3 view .LVU2517 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8914 .loc 2 387 3 is_stmt 0 view .LVU2518 8915 .thumb 8916 .syntax unified 8917 .LBE1037: 8918 .LBE1036: 3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8919 .loc 1 3339 11 is_stmt 1 view .LVU2519 8920 .LBB1038: 8921 .LBI1038: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8922 .loc 2 412 27 view .LVU2520 ARM GAS /tmp/ccwvDHH5.s page 273 8923 .LBB1039: 8924 .loc 2 414 3 view .LVU2521 8925 004c 0122 movs r2, #1 8926 .syntax divided 8927 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8928 004e 82F31088 MSR primask, r2 8929 @ 0 "" 2 8930 .LVL630: 8931 .loc 2 414 3 is_stmt 0 view .LVU2522 8932 .thumb 8933 .syntax unified 8934 .LBE1039: 8935 .LBE1038: 3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8936 .loc 1 3339 11 is_stmt 1 view .LVU2523 8937 0052 2968 ldr r1, [r5] 8938 0054 0B68 ldr r3, [r1] 8939 0056 1D4C ldr r4, .L296 8940 .LVL631: 3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8941 .loc 1 3339 11 is_stmt 0 view .LVU2524 8942 0058 2340 ands r3, r4 8943 005a 0B60 str r3, [r1] 3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 8944 .loc 1 3339 11 is_stmt 1 view .LVU2525 8945 .LVL632: 8946 .LBB1040: 8947 .LBI1040: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8948 .loc 2 412 27 view .LVU2526 8949 .LBB1041: 8950 .loc 2 414 3 view .LVU2527 8951 .syntax divided 8952 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8953 005c 80F31088 MSR primask, r0 8954 @ 0 "" 2 8955 .LVL633: 8956 .loc 2 414 3 is_stmt 0 view .LVU2528 8957 .thumb 8958 .syntax unified 8959 .LBE1041: 8960 .LBE1040: 8961 .LBE1035: 3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8962 .loc 1 3340 11 is_stmt 1 view .LVU2529 8963 .LBB1042: 3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8964 .loc 1 3340 11 view .LVU2530 3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8965 .loc 1 3340 11 view .LVU2531 8966 .LBB1043: 8967 .LBI1043: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8968 .loc 2 382 31 view .LVU2532 8969 .LBB1044: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 8970 .loc 2 384 3 view .LVU2533 ARM GAS /tmp/ccwvDHH5.s page 274 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8971 .loc 2 386 3 view .LVU2534 8972 .syntax divided 8973 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8974 0060 EFF31080 MRS r0, primask 8975 @ 0 "" 2 8976 .LVL634: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8977 .loc 2 387 3 view .LVU2535 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8978 .loc 2 387 3 is_stmt 0 view .LVU2536 8979 .thumb 8980 .syntax unified 8981 .LBE1044: 8982 .LBE1043: 3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8983 .loc 1 3340 11 is_stmt 1 view .LVU2537 8984 .LBB1045: 8985 .LBI1045: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8986 .loc 2 412 27 view .LVU2538 8987 .LBB1046: 8988 .loc 2 414 3 view .LVU2539 8989 .syntax divided 8990 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8991 0064 82F31088 MSR primask, r2 8992 @ 0 "" 2 8993 .LVL635: 8994 .loc 2 414 3 is_stmt 0 view .LVU2540 8995 .thumb 8996 .syntax unified 8997 .LBE1046: 8998 .LBE1045: 3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8999 .loc 1 3340 11 is_stmt 1 view .LVU2541 9000 0068 2968 ldr r1, [r5] 9001 006a 8B68 ldr r3, [r1, #8] 9002 006c 9343 bics r3, r2 9003 006e 8B60 str r3, [r1, #8] 3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9004 .loc 1 3340 11 view .LVU2542 9005 .LVL636: 9006 .LBB1047: 9007 .LBI1047: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9008 .loc 2 412 27 view .LVU2543 9009 .LBB1048: 9010 .loc 2 414 3 view .LVU2544 9011 .syntax divided 9012 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9013 0070 80F31088 MSR primask, r0 9014 @ 0 "" 2 9015 .LVL637: 9016 .loc 2 414 3 is_stmt 0 view .LVU2545 9017 .thumb 9018 .syntax unified 9019 .LBE1048: ARM GAS /tmp/ccwvDHH5.s page 275 9020 .LBE1047: 9021 .LBE1042: 3342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 9022 .loc 1 3342 11 is_stmt 1 view .LVU2546 3342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 9023 .loc 1 3342 25 is_stmt 0 view .LVU2547 9024 0074 2023 movs r3, #32 9025 0076 AB67 str r3, [r5, #120] 3343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO; 9026 .loc 1 3343 11 is_stmt 1 view .LVU2548 3343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO; 9027 .loc 1 3343 26 is_stmt 0 view .LVU2549 9028 0078 EB67 str r3, [r5, #124] 3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9029 .loc 1 3344 11 is_stmt 1 view .LVU2550 3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9030 .loc 1 3344 28 is_stmt 0 view .LVU2551 9031 007a 7F32 adds r2, r2, #127 9032 007c AB50 str r3, [r5, r2] 3347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9033 .loc 1 3347 11 is_stmt 1 view .LVU2552 3347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9034 .loc 1 3347 11 view .LVU2553 9035 007e 5433 adds r3, r3, #84 9036 0080 0022 movs r2, #0 9037 0082 EA54 strb r2, [r5, r3] 3349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9038 .loc 1 3349 11 view .LVU2554 3349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9039 .loc 1 3349 18 is_stmt 0 view .LVU2555 9040 0084 0320 movs r0, #3 9041 .LVL638: 3349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9042 .loc 1 3349 18 view .LVU2556 9043 0086 1EE0 b .L293 9044 .LVL639: 9045 .L291: 3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9046 .loc 1 3319 9 is_stmt 1 view .LVU2557 9047 .LBB1049: 3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9048 .loc 1 3319 9 view .LVU2558 3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9049 .loc 1 3319 9 view .LVU2559 9050 .LBB1050: 9051 .LBI1050: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9052 .loc 2 382 31 view .LVU2560 9053 .LBB1051: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 9054 .loc 2 384 3 view .LVU2561 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9055 .loc 2 386 3 view .LVU2562 9056 .syntax divided 9057 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9058 0088 EFF31080 MRS r0, primask 9059 @ 0 "" 2 ARM GAS /tmp/ccwvDHH5.s page 276 9060 .LVL640: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9061 .loc 2 387 3 view .LVU2563 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9062 .loc 2 387 3 is_stmt 0 view .LVU2564 9063 .thumb 9064 .syntax unified 9065 .LBE1051: 9066 .LBE1050: 3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9067 .loc 1 3319 9 is_stmt 1 view .LVU2565 9068 .LBB1052: 9069 .LBI1052: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9070 .loc 2 412 27 view .LVU2566 9071 .LBB1053: 9072 .loc 2 414 3 view .LVU2567 9073 008c 0122 movs r2, #1 9074 .syntax divided 9075 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9076 008e 82F31088 MSR primask, r2 9077 @ 0 "" 2 9078 .LVL641: 9079 .loc 2 414 3 is_stmt 0 view .LVU2568 9080 .thumb 9081 .syntax unified 9082 .LBE1053: 9083 .LBE1052: 3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9084 .loc 1 3319 9 is_stmt 1 view .LVU2569 9085 0092 2968 ldr r1, [r5] 9086 0094 0B68 ldr r3, [r1] 9087 .LVL642: 3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9088 .loc 1 3319 9 is_stmt 0 view .LVU2570 9089 0096 0D4C ldr r4, .L296 9090 .LVL643: 3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9091 .loc 1 3319 9 view .LVU2571 9092 0098 2340 ands r3, r4 9093 009a 0B60 str r3, [r1] 3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9094 .loc 1 3319 9 is_stmt 1 view .LVU2572 9095 .LVL644: 9096 .LBB1054: 9097 .LBI1054: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9098 .loc 2 412 27 view .LVU2573 9099 .LBB1055: 9100 .loc 2 414 3 view .LVU2574 9101 .syntax divided 9102 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9103 009c 80F31088 MSR primask, r0 9104 @ 0 "" 2 9105 .LVL645: 9106 .loc 2 414 3 is_stmt 0 view .LVU2575 9107 .thumb ARM GAS /tmp/ccwvDHH5.s page 277 9108 .syntax unified 9109 .LBE1055: 9110 .LBE1054: 9111 .LBE1049: 3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9112 .loc 1 3320 9 is_stmt 1 view .LVU2576 9113 .LBB1056: 3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9114 .loc 1 3320 9 view .LVU2577 3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9115 .loc 1 3320 9 view .LVU2578 9116 .LBB1057: 9117 .LBI1057: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9118 .loc 2 382 31 view .LVU2579 9119 .LBB1058: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 9120 .loc 2 384 3 view .LVU2580 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9121 .loc 2 386 3 view .LVU2581 9122 .syntax divided 9123 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9124 00a0 EFF31080 MRS r0, primask 9125 @ 0 "" 2 9126 .LVL646: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9127 .loc 2 387 3 view .LVU2582 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9128 .loc 2 387 3 is_stmt 0 view .LVU2583 9129 .thumb 9130 .syntax unified 9131 .LBE1058: 9132 .LBE1057: 3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9133 .loc 1 3320 9 is_stmt 1 view .LVU2584 9134 .LBB1059: 9135 .LBI1059: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9136 .loc 2 412 27 view .LVU2585 9137 .LBB1060: 9138 .loc 2 414 3 view .LVU2586 9139 .syntax divided 9140 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9141 00a4 82F31088 MSR primask, r2 9142 @ 0 "" 2 9143 .LVL647: 9144 .loc 2 414 3 is_stmt 0 view .LVU2587 9145 .thumb 9146 .syntax unified 9147 .LBE1060: 9148 .LBE1059: 3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9149 .loc 1 3320 9 is_stmt 1 view .LVU2588 9150 00a8 2968 ldr r1, [r5] 9151 00aa 8B68 ldr r3, [r1, #8] 9152 00ac 9343 bics r3, r2 9153 00ae 8B60 str r3, [r1, #8] ARM GAS /tmp/ccwvDHH5.s page 278 3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9154 .loc 1 3320 9 view .LVU2589 9155 .LVL648: 9156 .LBB1061: 9157 .LBI1061: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9158 .loc 2 412 27 view .LVU2590 9159 .LBB1062: 9160 .loc 2 414 3 view .LVU2591 9161 .syntax divided 9162 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9163 00b0 80F31088 MSR primask, r0 9164 @ 0 "" 2 9165 .LVL649: 9166 .loc 2 414 3 is_stmt 0 view .LVU2592 9167 .thumb 9168 .syntax unified 9169 .LBE1062: 9170 .LBE1061: 9171 .LBE1056: 3322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 9172 .loc 1 3322 9 is_stmt 1 view .LVU2593 3322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 9173 .loc 1 3322 23 is_stmt 0 view .LVU2594 9174 00b4 2023 movs r3, #32 9175 00b6 AB67 str r3, [r5, #120] 3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9176 .loc 1 3323 9 is_stmt 1 view .LVU2595 3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9177 .loc 1 3323 24 is_stmt 0 view .LVU2596 9178 00b8 EB67 str r3, [r5, #124] 3325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9179 .loc 1 3325 9 is_stmt 1 view .LVU2597 3325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9180 .loc 1 3325 9 view .LVU2598 9181 00ba 5433 adds r3, r3, #84 9182 00bc 0022 movs r2, #0 9183 00be EA54 strb r2, [r5, r3] 3327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9184 .loc 1 3327 9 view .LVU2599 3327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9185 .loc 1 3327 16 is_stmt 0 view .LVU2600 9186 00c0 0320 movs r0, #3 9187 .LVL650: 3327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9188 .loc 1 3327 16 view .LVU2601 9189 00c2 00E0 b .L293 9190 .LVL651: 9191 .L295: 3354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9192 .loc 1 3354 10 view .LVU2602 9193 00c4 0020 movs r0, #0 9194 .LVL652: 9195 .L293: 3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9196 .loc 1 3355 1 view .LVU2603 9197 @ sp needed ARM GAS /tmp/ccwvDHH5.s page 279 9198 .LVL653: 9199 .LVL654: 3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9200 .loc 1 3355 1 view .LVU2604 9201 00c6 04BC pop {r2} 9202 00c8 9046 mov r8, r2 9203 00ca F0BD pop {r4, r5, r6, r7, pc} 9204 .L297: 9205 .align 2 9206 .L296: 9207 00cc 5FFEFFFF .word -417 9208 .cfi_endproc 9209 .LFE86: 9211 .section .text.HAL_UART_Transmit,"ax",%progbits 9212 .align 1 9213 .global HAL_UART_Transmit 9214 .syntax unified 9215 .code 16 9216 .thumb_func 9217 .fpu softvfp 9219 HAL_UART_Transmit: 9220 .LVL655: 9221 .LFB47: 1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint8_t *pdata8bits; 9222 .loc 1 1154 1 is_stmt 1 view -0 9223 .cfi_startproc 9224 @ args = 0, pretend = 0, frame = 8 9225 @ frame_needed = 0, uses_anonymous_args = 0 1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint8_t *pdata8bits; 9226 .loc 1 1154 1 is_stmt 0 view .LVU2606 9227 0000 F0B5 push {r4, r5, r6, r7, lr} 9228 .LCFI38: 9229 .cfi_def_cfa_offset 20 9230 .cfi_offset 4, -20 9231 .cfi_offset 5, -16 9232 .cfi_offset 6, -12 9233 .cfi_offset 7, -8 9234 .cfi_offset 14, -4 9235 0002 85B0 sub sp, sp, #20 9236 .LCFI39: 9237 .cfi_def_cfa_offset 40 9238 0004 0400 movs r4, r0 9239 0006 0E00 movs r6, r1 9240 0008 1500 movs r5, r2 9241 000a 1F00 movs r7, r3 1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t *pdata16bits; 9242 .loc 1 1155 3 is_stmt 1 view .LVU2607 1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tickstart; 9243 .loc 1 1156 3 view .LVU2608 1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9244 .loc 1 1157 3 view .LVU2609 1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9245 .loc 1 1160 3 view .LVU2610 1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9246 .loc 1 1160 12 is_stmt 0 view .LVU2611 9247 000c 836F ldr r3, [r0, #120] 9248 .LVL656: ARM GAS /tmp/ccwvDHH5.s page 280 1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9249 .loc 1 1160 6 view .LVU2612 9250 000e 202B cmp r3, #32 9251 0010 60D1 bne .L306 1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9252 .loc 1 1162 5 is_stmt 1 view .LVU2613 1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9253 .loc 1 1162 8 is_stmt 0 view .LVU2614 9254 0012 0029 cmp r1, #0 9255 0014 61D0 beq .L307 1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9256 .loc 1 1162 25 discriminator 1 view .LVU2615 9257 0016 002A cmp r2, #0 9258 0018 61D0 beq .L308 1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9259 .loc 1 1170 5 is_stmt 1 view .LVU2616 1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9260 .loc 1 1170 8 is_stmt 0 view .LVU2617 9261 001a 8023 movs r3, #128 9262 001c 5B01 lsls r3, r3, #5 9263 001e 8268 ldr r2, [r0, #8] 9264 .LVL657: 1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9265 .loc 1 1170 8 view .LVU2618 9266 0020 9A42 cmp r2, r3 9267 0022 1CD0 beq .L315 9268 .L300: 1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9269 .loc 1 1178 5 is_stmt 1 view .LVU2619 1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9270 .loc 1 1178 5 view .LVU2620 9271 0024 7423 movs r3, #116 9272 0026 E35C ldrb r3, [r4, r3] 9273 0028 012B cmp r3, #1 9274 002a 5AD0 beq .L310 1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9275 .loc 1 1178 5 discriminator 2 view .LVU2621 9276 002c 7423 movs r3, #116 9277 002e 0122 movs r2, #1 9278 0030 E254 strb r2, [r4, r3] 1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 9279 .loc 1 1180 5 discriminator 2 view .LVU2622 1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 9280 .loc 1 1180 22 is_stmt 0 discriminator 2 view .LVU2623 9281 0032 0C33 adds r3, r3, #12 9282 0034 0022 movs r2, #0 9283 0036 E250 str r2, [r4, r3] 1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9284 .loc 1 1181 5 is_stmt 1 discriminator 2 view .LVU2624 1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9285 .loc 1 1181 19 is_stmt 0 discriminator 2 view .LVU2625 9286 0038 5F3B subs r3, r3, #95 9287 003a A367 str r3, [r4, #120] 1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9288 .loc 1 1184 5 is_stmt 1 discriminator 2 view .LVU2626 1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9289 .loc 1 1184 17 is_stmt 0 discriminator 2 view .LVU2627 ARM GAS /tmp/ccwvDHH5.s page 281 9290 003c FFF7FEFF bl HAL_GetTick 9291 .LVL658: 1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9292 .loc 1 1184 17 discriminator 2 view .LVU2628 9293 0040 0390 str r0, [sp, #12] 9294 .LVL659: 1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size; 9295 .loc 1 1186 5 is_stmt 1 discriminator 2 view .LVU2629 1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size; 9296 .loc 1 1186 24 is_stmt 0 discriminator 2 view .LVU2630 9297 0042 5023 movs r3, #80 9298 0044 E552 strh r5, [r4, r3] 1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9299 .loc 1 1187 5 is_stmt 1 discriminator 2 view .LVU2631 1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9300 .loc 1 1187 24 is_stmt 0 discriminator 2 view .LVU2632 9301 0046 0233 adds r3, r3, #2 9302 0048 E552 strh r5, [r4, r3] 1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9303 .loc 1 1190 5 is_stmt 1 discriminator 2 view .LVU2633 1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9304 .loc 1 1190 8 is_stmt 0 discriminator 2 view .LVU2634 9305 004a 8023 movs r3, #128 9306 004c 5B01 lsls r3, r3, #5 9307 004e A268 ldr r2, [r4, #8] 9308 0050 9A42 cmp r2, r3 9309 0052 0BD0 beq .L316 1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9310 .loc 1 1198 19 view .LVU2635 9311 0054 0025 movs r5, #0 9312 .LVL660: 9313 .L301: 1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9314 .loc 1 1201 5 is_stmt 1 view .LVU2636 1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9315 .loc 1 1201 5 view .LVU2637 9316 0056 7423 movs r3, #116 9317 0058 0022 movs r2, #0 9318 005a E254 strb r2, [r4, r3] 1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9319 .loc 1 1203 5 view .LVU2638 1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9320 .loc 1 1203 11 is_stmt 0 view .LVU2639 9321 005c 19E0 b .L302 9322 .LVL661: 9323 .L315: 1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9324 .loc 1 1170 56 discriminator 1 view .LVU2640 9325 005e 0369 ldr r3, [r0, #16] 9326 0060 002B cmp r3, #0 9327 0062 DFD1 bne .L300 1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9328 .loc 1 1172 7 is_stmt 1 view .LVU2641 1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9329 .loc 1 1172 10 is_stmt 0 view .LVU2642 9330 0064 CB07 lsls r3, r1, #31 9331 0066 DDD5 bpl .L300 ARM GAS /tmp/ccwvDHH5.s page 282 1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9332 .loc 1 1174 17 view .LVU2643 9333 0068 0120 movs r0, #1 9334 .LVL662: 1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9335 .loc 1 1174 17 view .LVU2644 9336 006a 34E0 b .L299 9337 .LVL663: 9338 .L316: 1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9339 .loc 1 1190 56 discriminator 1 view .LVU2645 9340 006c 2369 ldr r3, [r4, #16] 9341 006e 002B cmp r3, #0 9342 0070 01D0 beq .L312 1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9343 .loc 1 1198 19 view .LVU2646 9344 0072 0025 movs r5, #0 9345 0074 EFE7 b .L301 9346 .L312: 1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9347 .loc 1 1193 19 view .LVU2647 9348 0076 3500 movs r5, r6 1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 9349 .loc 1 1192 19 view .LVU2648 9350 0078 0026 movs r6, #0 9351 .LVL664: 1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 9352 .loc 1 1192 19 view .LVU2649 9353 007a ECE7 b .L301 9354 .LVL665: 9355 .L318: 1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++; 9356 .loc 1 1211 9 is_stmt 1 view .LVU2650 1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++; 9357 .loc 1 1211 43 is_stmt 0 view .LVU2651 9358 007c 2B88 ldrh r3, [r5] 1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++; 9359 .loc 1 1211 32 view .LVU2652 9360 007e DB05 lsls r3, r3, #23 9361 0080 DB0D lsrs r3, r3, #23 1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++; 9362 .loc 1 1211 30 view .LVU2653 9363 0082 2268 ldr r2, [r4] 9364 0084 1385 strh r3, [r2, #40] 1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9365 .loc 1 1212 9 is_stmt 1 view .LVU2654 1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9366 .loc 1 1212 20 is_stmt 0 view .LVU2655 9367 0086 0235 adds r5, r5, #2 9368 .LVL666: 9369 .L304: 1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9370 .loc 1 1219 7 is_stmt 1 view .LVU2656 1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9371 .loc 1 1219 12 is_stmt 0 view .LVU2657 9372 0088 5222 movs r2, #82 9373 008a A35A ldrh r3, [r4, r2] ARM GAS /tmp/ccwvDHH5.s page 283 1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9374 .loc 1 1219 25 view .LVU2658 9375 008c 013B subs r3, r3, #1 9376 008e 9BB2 uxth r3, r3 9377 0090 A352 strh r3, [r4, r2] 9378 .L302: 1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9379 .loc 1 1203 17 view .LVU2659 9380 0092 5223 movs r3, #82 9381 0094 E35A ldrh r3, [r4, r3] 9382 0096 9BB2 uxth r3, r3 1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9383 .loc 1 1203 11 view .LVU2660 9384 0098 002B cmp r3, #0 9385 009a 0FD0 beq .L317 1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9386 .loc 1 1205 7 is_stmt 1 view .LVU2661 1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9387 .loc 1 1205 11 is_stmt 0 view .LVU2662 9388 009c 0097 str r7, [sp] 9389 009e 039B ldr r3, [sp, #12] 9390 00a0 0022 movs r2, #0 9391 00a2 8021 movs r1, #128 9392 00a4 2000 movs r0, r4 9393 00a6 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 9394 .LVL667: 1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9395 .loc 1 1205 10 view .LVU2663 9396 00aa 0028 cmp r0, #0 9397 00ac 1BD1 bne .L313 1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9398 .loc 1 1209 7 is_stmt 1 view .LVU2664 1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9399 .loc 1 1209 10 is_stmt 0 view .LVU2665 9400 00ae 002E cmp r6, #0 9401 00b0 E4D0 beq .L318 1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++; 9402 .loc 1 1216 9 is_stmt 1 view .LVU2666 1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++; 9403 .loc 1 1216 32 is_stmt 0 view .LVU2667 9404 00b2 3378 ldrb r3, [r6] 1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++; 9405 .loc 1 1216 30 view .LVU2668 9406 00b4 2268 ldr r2, [r4] 9407 00b6 1385 strh r3, [r2, #40] 1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9408 .loc 1 1217 9 is_stmt 1 view .LVU2669 1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9409 .loc 1 1217 19 is_stmt 0 view .LVU2670 9410 00b8 0136 adds r6, r6, #1 9411 .LVL668: 1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9412 .loc 1 1217 19 view .LVU2671 9413 00ba E5E7 b .L304 9414 .L317: 1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9415 .loc 1 1222 5 is_stmt 1 view .LVU2672 ARM GAS /tmp/ccwvDHH5.s page 284 1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9416 .loc 1 1222 9 is_stmt 0 view .LVU2673 9417 00bc 0097 str r7, [sp] 9418 00be 039B ldr r3, [sp, #12] 9419 00c0 0022 movs r2, #0 9420 00c2 4021 movs r1, #64 9421 00c4 2000 movs r0, r4 9422 00c6 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 9423 .LVL669: 1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9424 .loc 1 1222 8 view .LVU2674 9425 00ca 0028 cmp r0, #0 9426 00cc 0DD1 bne .L314 1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9427 .loc 1 1228 5 is_stmt 1 view .LVU2675 1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9428 .loc 1 1228 19 is_stmt 0 view .LVU2676 9429 00ce 2023 movs r3, #32 9430 00d0 A367 str r3, [r4, #120] 1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9431 .loc 1 1230 5 is_stmt 1 view .LVU2677 1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9432 .loc 1 1230 12 is_stmt 0 view .LVU2678 9433 00d2 00E0 b .L299 9434 .LVL670: 9435 .L306: 1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9436 .loc 1 1234 12 view .LVU2679 9437 00d4 0220 movs r0, #2 9438 .LVL671: 9439 .L299: 1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9440 .loc 1 1236 1 view .LVU2680 9441 00d6 05B0 add sp, sp, #20 9442 @ sp needed 9443 .LVL672: 9444 .LVL673: 1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9445 .loc 1 1236 1 view .LVU2681 9446 00d8 F0BD pop {r4, r5, r6, r7, pc} 9447 .LVL674: 9448 .L307: 1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9449 .loc 1 1164 15 view .LVU2682 9450 00da 0120 movs r0, #1 9451 .LVL675: 1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9452 .loc 1 1164 15 view .LVU2683 9453 00dc FBE7 b .L299 9454 .LVL676: 9455 .L308: 1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9456 .loc 1 1164 15 view .LVU2684 9457 00de 0120 movs r0, #1 9458 .LVL677: 1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9459 .loc 1 1164 15 view .LVU2685 ARM GAS /tmp/ccwvDHH5.s page 285 9460 00e0 F9E7 b .L299 9461 .LVL678: 9462 .L310: 1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9463 .loc 1 1178 5 view .LVU2686 9464 00e2 0220 movs r0, #2 9465 .LVL679: 1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9466 .loc 1 1178 5 view .LVU2687 9467 00e4 F7E7 b .L299 9468 .LVL680: 9469 .L313: 1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9470 .loc 1 1207 16 view .LVU2688 9471 00e6 0320 movs r0, #3 9472 00e8 F5E7 b .L299 9473 .L314: 1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9474 .loc 1 1224 14 view .LVU2689 9475 00ea 0320 movs r0, #3 9476 00ec F3E7 b .L299 9477 .cfi_endproc 9478 .LFE47: 9480 .section .text.HAL_UART_Receive,"ax",%progbits 9481 .align 1 9482 .global HAL_UART_Receive 9483 .syntax unified 9484 .code 16 9485 .thumb_func 9486 .fpu softvfp 9488 HAL_UART_Receive: 9489 .LVL681: 9490 .LFB48: 1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint8_t *pdata8bits; 9491 .loc 1 1255 1 is_stmt 1 view -0 9492 .cfi_startproc 9493 @ args = 0, pretend = 0, frame = 8 9494 @ frame_needed = 0, uses_anonymous_args = 0 1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint8_t *pdata8bits; 9495 .loc 1 1255 1 is_stmt 0 view .LVU2691 9496 0000 F0B5 push {r4, r5, r6, r7, lr} 9497 .LCFI40: 9498 .cfi_def_cfa_offset 20 9499 .cfi_offset 4, -20 9500 .cfi_offset 5, -16 9501 .cfi_offset 6, -12 9502 .cfi_offset 7, -8 9503 .cfi_offset 14, -4 9504 0002 C646 mov lr, r8 9505 0004 00B5 push {lr} 9506 .LCFI41: 9507 .cfi_def_cfa_offset 24 9508 .cfi_offset 8, -24 9509 0006 84B0 sub sp, sp, #16 9510 .LCFI42: 9511 .cfi_def_cfa_offset 40 9512 0008 0400 movs r4, r0 ARM GAS /tmp/ccwvDHH5.s page 286 9513 000a 0F00 movs r7, r1 9514 000c 1600 movs r6, r2 9515 000e 9846 mov r8, r3 1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t *pdata16bits; 9516 .loc 1 1256 3 is_stmt 1 view .LVU2692 1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t uhMask; 9517 .loc 1 1257 3 view .LVU2693 1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tickstart; 9518 .loc 1 1258 3 view .LVU2694 1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9519 .loc 1 1259 3 view .LVU2695 1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9520 .loc 1 1262 3 view .LVU2696 1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9521 .loc 1 1262 12 is_stmt 0 view .LVU2697 9522 0010 C36F ldr r3, [r0, #124] 9523 .LVL682: 1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9524 .loc 1 1262 6 view .LVU2698 9525 0012 202B cmp r3, #32 9526 0014 00D0 beq .LCB7739 9527 0016 8EE0 b .L334 @long jump 9528 .LCB7739: 1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9529 .loc 1 1264 5 is_stmt 1 view .LVU2699 1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9530 .loc 1 1264 8 is_stmt 0 view .LVU2700 9531 0018 0029 cmp r1, #0 9532 001a 00D1 bne .LCB7742 9533 001c 90E0 b .L335 @long jump 9534 .LCB7742: 1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9535 .loc 1 1264 25 discriminator 1 view .LVU2701 9536 001e 002A cmp r2, #0 9537 0020 00D1 bne .LCB7744 9538 0022 8FE0 b .L336 @long jump 9539 .LCB7744: 1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9540 .loc 1 1272 5 is_stmt 1 view .LVU2702 1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9541 .loc 1 1272 8 is_stmt 0 view .LVU2703 9542 0024 8023 movs r3, #128 9543 0026 5B01 lsls r3, r3, #5 9544 0028 8268 ldr r2, [r0, #8] 9545 .LVL683: 1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9546 .loc 1 1272 8 view .LVU2704 9547 002a 9A42 cmp r2, r3 9548 002c 22D0 beq .L342 9549 .L321: 1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9550 .loc 1 1280 5 is_stmt 1 view .LVU2705 1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9551 .loc 1 1280 5 view .LVU2706 9552 002e 7423 movs r3, #116 9553 0030 E35C ldrb r3, [r4, r3] 9554 0032 012B cmp r3, #1 ARM GAS /tmp/ccwvDHH5.s page 287 9555 0034 00D1 bne .LCB7759 9556 0036 87E0 b .L338 @long jump 9557 .LCB7759: 1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9558 .loc 1 1280 5 discriminator 2 view .LVU2707 9559 0038 7423 movs r3, #116 9560 003a 0122 movs r2, #1 9561 003c E254 strb r2, [r4, r3] 1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 9562 .loc 1 1282 5 discriminator 2 view .LVU2708 1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 9563 .loc 1 1282 22 is_stmt 0 discriminator 2 view .LVU2709 9564 003e 0023 movs r3, #0 9565 0040 7F32 adds r2, r2, #127 9566 0042 A350 str r3, [r4, r2] 1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 9567 .loc 1 1283 5 is_stmt 1 discriminator 2 view .LVU2710 1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 9568 .loc 1 1283 20 is_stmt 0 discriminator 2 view .LVU2711 9569 0044 5E3A subs r2, r2, #94 9570 0046 E267 str r2, [r4, #124] 1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9571 .loc 1 1284 5 is_stmt 1 discriminator 2 view .LVU2712 1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9572 .loc 1 1284 26 is_stmt 0 discriminator 2 view .LVU2713 9573 0048 2366 str r3, [r4, #96] 1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9574 .loc 1 1287 5 is_stmt 1 discriminator 2 view .LVU2714 1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9575 .loc 1 1287 17 is_stmt 0 discriminator 2 view .LVU2715 9576 004a FFF7FEFF bl HAL_GetTick 9577 .LVL684: 1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9578 .loc 1 1287 17 discriminator 2 view .LVU2716 9579 004e 0390 str r0, [sp, #12] 9580 .LVL685: 1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = Size; 9581 .loc 1 1289 5 is_stmt 1 discriminator 2 view .LVU2717 1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = Size; 9582 .loc 1 1289 24 is_stmt 0 discriminator 2 view .LVU2718 9583 0050 5823 movs r3, #88 9584 0052 E652 strh r6, [r4, r3] 1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9585 .loc 1 1290 5 is_stmt 1 discriminator 2 view .LVU2719 1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9586 .loc 1 1290 24 is_stmt 0 discriminator 2 view .LVU2720 9587 0054 0233 adds r3, r3, #2 9588 0056 E652 strh r6, [r4, r3] 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask; 9589 .loc 1 1293 5 is_stmt 1 discriminator 2 view .LVU2721 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask; 9590 .loc 1 1293 5 discriminator 2 view .LVU2722 9591 0058 A368 ldr r3, [r4, #8] 9592 005a 8022 movs r2, #128 9593 005c 5201 lsls r2, r2, #5 9594 005e 9342 cmp r3, r2 9595 0060 0FD0 beq .L343 ARM GAS /tmp/ccwvDHH5.s page 288 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask; 9596 .loc 1 1293 5 discriminator 2 view .LVU2723 9597 0062 002B cmp r3, #0 9598 0064 1CD1 bne .L325 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask; 9599 .loc 1 1293 5 discriminator 5 view .LVU2724 9600 0066 2269 ldr r2, [r4, #16] 9601 0068 002A cmp r2, #0 9602 006a 15D1 bne .L326 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask; 9603 .loc 1 1293 5 discriminator 7 view .LVU2725 9604 006c 5C32 adds r2, r2, #92 9605 006e FF21 movs r1, #255 9606 0070 A152 strh r1, [r4, r2] 9607 0072 1CE0 b .L324 9608 .LVL686: 9609 .L342: 1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9610 .loc 1 1272 56 is_stmt 0 discriminator 1 view .LVU2726 9611 0074 0369 ldr r3, [r0, #16] 9612 0076 002B cmp r3, #0 9613 0078 D9D1 bne .L321 1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9614 .loc 1 1274 7 is_stmt 1 view .LVU2727 1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9615 .loc 1 1274 10 is_stmt 0 view .LVU2728 9616 007a CB07 lsls r3, r1, #31 9617 007c D7D5 bpl .L321 1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9618 .loc 1 1276 17 view .LVU2729 9619 007e 0120 movs r0, #1 9620 .LVL687: 1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9621 .loc 1 1276 17 view .LVU2730 9622 0080 5AE0 b .L320 9623 .LVL688: 9624 .L343: 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask; 9625 .loc 1 1293 5 is_stmt 1 discriminator 1 view .LVU2731 9626 0082 2269 ldr r2, [r4, #16] 9627 0084 002A cmp r2, #0 9628 0086 03D1 bne .L323 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask; 9629 .loc 1 1293 5 discriminator 3 view .LVU2732 9630 0088 5C32 adds r2, r2, #92 9631 008a 3149 ldr r1, .L348 9632 008c A152 strh r1, [r4, r2] 9633 008e 0EE0 b .L324 9634 .L323: 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask; 9635 .loc 1 1293 5 discriminator 4 view .LVU2733 9636 0090 5C22 movs r2, #92 9637 0092 FF21 movs r1, #255 9638 0094 A152 strh r1, [r4, r2] 9639 0096 0AE0 b .L324 9640 .L326: 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask; ARM GAS /tmp/ccwvDHH5.s page 289 9641 .loc 1 1293 5 discriminator 8 view .LVU2734 9642 0098 5C22 movs r2, #92 9643 009a 7F21 movs r1, #127 9644 009c A152 strh r1, [r4, r2] 9645 009e 06E0 b .L324 9646 .L325: 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask; 9647 .loc 1 1293 5 discriminator 6 view .LVU2735 9648 00a0 8022 movs r2, #128 9649 00a2 5205 lsls r2, r2, #21 9650 00a4 9342 cmp r3, r2 9651 00a6 0DD0 beq .L344 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask; 9652 .loc 1 1293 5 discriminator 10 view .LVU2736 9653 00a8 5C22 movs r2, #92 9654 00aa 0021 movs r1, #0 9655 00ac A152 strh r1, [r4, r2] 9656 .L324: 1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9657 .loc 1 1294 5 view .LVU2737 1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9658 .loc 1 1294 12 is_stmt 0 view .LVU2738 9659 00ae 5C22 movs r2, #92 9660 00b0 A65A ldrh r6, [r4, r2] 9661 .LVL689: 1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9662 .loc 1 1297 5 is_stmt 1 view .LVU2739 1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9663 .loc 1 1297 8 is_stmt 0 view .LVU2740 9664 00b2 8022 movs r2, #128 9665 00b4 5201 lsls r2, r2, #5 9666 00b6 9342 cmp r3, r2 9667 00b8 0FD0 beq .L345 1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9668 .loc 1 1305 19 view .LVU2741 9669 00ba 0025 movs r5, #0 9670 .LVL690: 9671 .L329: 1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9672 .loc 1 1308 5 is_stmt 1 view .LVU2742 1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9673 .loc 1 1308 5 view .LVU2743 9674 00bc 7423 movs r3, #116 9675 00be 0022 movs r2, #0 9676 00c0 E254 strb r2, [r4, r3] 1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9677 .loc 1 1311 5 view .LVU2744 1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9678 .loc 1 1311 11 is_stmt 0 view .LVU2745 9679 00c2 1CE0 b .L330 9680 .LVL691: 9681 .L344: 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask; 9682 .loc 1 1293 5 is_stmt 1 discriminator 9 view .LVU2746 9683 00c4 2269 ldr r2, [r4, #16] 9684 00c6 002A cmp r2, #0 9685 00c8 03D1 bne .L328 ARM GAS /tmp/ccwvDHH5.s page 290 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask; 9686 .loc 1 1293 5 discriminator 11 view .LVU2747 9687 00ca 5C32 adds r2, r2, #92 9688 00cc 7F21 movs r1, #127 9689 00ce A152 strh r1, [r4, r2] 9690 00d0 EDE7 b .L324 9691 .L328: 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask; 9692 .loc 1 1293 5 discriminator 12 view .LVU2748 9693 00d2 5C22 movs r2, #92 9694 00d4 3F21 movs r1, #63 9695 00d6 A152 strh r1, [r4, r2] 9696 00d8 E9E7 b .L324 9697 .LVL692: 9698 .L345: 1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9699 .loc 1 1297 56 is_stmt 0 discriminator 1 view .LVU2749 9700 00da 2369 ldr r3, [r4, #16] 9701 00dc 002B cmp r3, #0 9702 00de 01D0 beq .L340 1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9703 .loc 1 1305 19 view .LVU2750 9704 00e0 0025 movs r5, #0 9705 00e2 EBE7 b .L329 9706 .L340: 1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9707 .loc 1 1300 19 view .LVU2751 9708 00e4 3D00 movs r5, r7 1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 9709 .loc 1 1299 19 view .LVU2752 9710 00e6 0027 movs r7, #0 9711 .LVL693: 1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 9712 .loc 1 1299 19 view .LVU2753 9713 00e8 E8E7 b .L329 9714 .LVL694: 9715 .L347: 1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++; 9716 .loc 1 1319 9 is_stmt 1 view .LVU2754 1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++; 9717 .loc 1 1319 50 is_stmt 0 view .LVU2755 9718 00ea 2368 ldr r3, [r4] 9719 00ec 9B8C ldrh r3, [r3, #36] 1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++; 9720 .loc 1 1319 24 view .LVU2756 9721 00ee 3340 ands r3, r6 1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++; 9722 .loc 1 1319 22 view .LVU2757 9723 00f0 2B80 strh r3, [r5] 1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9724 .loc 1 1320 9 is_stmt 1 view .LVU2758 1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9725 .loc 1 1320 20 is_stmt 0 view .LVU2759 9726 00f2 0235 adds r5, r5, #2 9727 .LVL695: 9728 .L332: 1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } ARM GAS /tmp/ccwvDHH5.s page 291 9729 .loc 1 1327 7 is_stmt 1 view .LVU2760 1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9730 .loc 1 1327 12 is_stmt 0 view .LVU2761 9731 00f4 5A22 movs r2, #90 9732 00f6 A35A ldrh r3, [r4, r2] 1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9733 .loc 1 1327 25 view .LVU2762 9734 00f8 013B subs r3, r3, #1 9735 00fa 9BB2 uxth r3, r3 9736 00fc A352 strh r3, [r4, r2] 9737 .L330: 1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9738 .loc 1 1311 17 view .LVU2763 9739 00fe 5A23 movs r3, #90 9740 0100 E35A ldrh r3, [r4, r3] 9741 0102 9BB2 uxth r3, r3 1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9742 .loc 1 1311 11 view .LVU2764 9743 0104 002B cmp r3, #0 9744 0106 12D0 beq .L346 1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9745 .loc 1 1313 7 is_stmt 1 view .LVU2765 1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9746 .loc 1 1313 11 is_stmt 0 view .LVU2766 9747 0108 4346 mov r3, r8 9748 010a 0093 str r3, [sp] 9749 010c 039B ldr r3, [sp, #12] 9750 010e 0022 movs r2, #0 9751 0110 2021 movs r1, #32 9752 0112 2000 movs r0, r4 9753 0114 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 9754 .LVL696: 1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9755 .loc 1 1313 10 view .LVU2767 9756 0118 0028 cmp r0, #0 9757 011a 17D1 bne .L341 1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9758 .loc 1 1317 7 is_stmt 1 view .LVU2768 1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9759 .loc 1 1317 10 is_stmt 0 view .LVU2769 9760 011c 002F cmp r7, #0 9761 011e E4D0 beq .L347 1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++; 9762 .loc 1 1324 9 is_stmt 1 view .LVU2770 1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++; 9763 .loc 1 1324 48 is_stmt 0 view .LVU2771 9764 0120 2368 ldr r3, [r4] 9765 0122 9B8C ldrh r3, [r3, #36] 1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++; 9766 .loc 1 1324 56 view .LVU2772 9767 0124 F2B2 uxtb r2, r6 1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++; 9768 .loc 1 1324 23 view .LVU2773 9769 0126 1340 ands r3, r2 1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++; 9770 .loc 1 1324 21 view .LVU2774 9771 0128 3B70 strb r3, [r7] ARM GAS /tmp/ccwvDHH5.s page 292 1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9772 .loc 1 1325 9 is_stmt 1 view .LVU2775 1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9773 .loc 1 1325 19 is_stmt 0 view .LVU2776 9774 012a 0137 adds r7, r7, #1 9775 .LVL697: 1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9776 .loc 1 1325 19 view .LVU2777 9777 012c E2E7 b .L332 9778 .L346: 1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9779 .loc 1 1331 5 is_stmt 1 view .LVU2778 1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9780 .loc 1 1331 20 is_stmt 0 view .LVU2779 9781 012e 2033 adds r3, r3, #32 9782 0130 E367 str r3, [r4, #124] 1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9783 .loc 1 1333 5 is_stmt 1 view .LVU2780 1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9784 .loc 1 1333 12 is_stmt 0 view .LVU2781 9785 0132 0020 movs r0, #0 9786 0134 00E0 b .L320 9787 .LVL698: 9788 .L334: 1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9789 .loc 1 1337 12 view .LVU2782 9790 0136 0220 movs r0, #2 9791 .LVL699: 9792 .L320: 1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9793 .loc 1 1339 1 view .LVU2783 9794 0138 04B0 add sp, sp, #16 9795 @ sp needed 9796 .LVL700: 9797 .LVL701: 1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9798 .loc 1 1339 1 view .LVU2784 9799 013a 04BC pop {r2} 9800 013c 9046 mov r8, r2 9801 013e F0BD pop {r4, r5, r6, r7, pc} 9802 .LVL702: 9803 .L335: 1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9804 .loc 1 1266 15 view .LVU2785 9805 0140 0120 movs r0, #1 9806 .LVL703: 1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9807 .loc 1 1266 15 view .LVU2786 9808 0142 F9E7 b .L320 9809 .LVL704: 9810 .L336: 1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9811 .loc 1 1266 15 view .LVU2787 9812 0144 0120 movs r0, #1 9813 .LVL705: 1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9814 .loc 1 1266 15 view .LVU2788 ARM GAS /tmp/ccwvDHH5.s page 293 9815 0146 F7E7 b .L320 9816 .LVL706: 9817 .L338: 1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9818 .loc 1 1280 5 view .LVU2789 9819 0148 0220 movs r0, #2 9820 .LVL707: 1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9821 .loc 1 1280 5 view .LVU2790 9822 014a F5E7 b .L320 9823 .LVL708: 9824 .L341: 1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9825 .loc 1 1315 16 view .LVU2791 9826 014c 0320 movs r0, #3 9827 014e F3E7 b .L320 9828 .L349: 9829 .align 2 9830 .L348: 9831 0150 FF010000 .word 511 9832 .cfi_endproc 9833 .LFE48: 9835 .section .text.UART_CheckIdleState,"ax",%progbits 9836 .align 1 9837 .global UART_CheckIdleState 9838 .syntax unified 9839 .code 16 9840 .thumb_func 9841 .fpu softvfp 9843 UART_CheckIdleState: 9844 .LVL709: 9845 .LFB85: 3256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tickstart; 9846 .loc 1 3256 1 is_stmt 1 view -0 9847 .cfi_startproc 9848 @ args = 0, pretend = 0, frame = 0 9849 @ frame_needed = 0, uses_anonymous_args = 0 3256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tickstart; 9850 .loc 1 3256 1 is_stmt 0 view .LVU2793 9851 0000 30B5 push {r4, r5, lr} 9852 .LCFI43: 9853 .cfi_def_cfa_offset 12 9854 .cfi_offset 4, -12 9855 .cfi_offset 5, -8 9856 .cfi_offset 14, -4 9857 0002 83B0 sub sp, sp, #12 9858 .LCFI44: 9859 .cfi_def_cfa_offset 24 9860 0004 0400 movs r4, r0 3257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9861 .loc 1 3257 3 is_stmt 1 view .LVU2794 3260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9862 .loc 1 3260 3 view .LVU2795 3260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9863 .loc 1 3260 20 is_stmt 0 view .LVU2796 9864 0006 8023 movs r3, #128 9865 0008 0022 movs r2, #0 ARM GAS /tmp/ccwvDHH5.s page 294 9866 000a C250 str r2, [r0, r3] 3263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9867 .loc 1 3263 3 is_stmt 1 view .LVU2797 3263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9868 .loc 1 3263 15 is_stmt 0 view .LVU2798 9869 000c FFF7FEFF bl HAL_GetTick 9870 .LVL710: 3263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9871 .loc 1 3263 15 view .LVU2799 9872 0010 0500 movs r5, r0 9873 .LVL711: 3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9874 .loc 1 3266 3 is_stmt 1 view .LVU2800 3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9875 .loc 1 3266 13 is_stmt 0 view .LVU2801 9876 0012 2368 ldr r3, [r4] 3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9877 .loc 1 3266 23 view .LVU2802 9878 0014 1B68 ldr r3, [r3] 3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9879 .loc 1 3266 6 view .LVU2803 9880 0016 1B07 lsls r3, r3, #28 9881 0018 0DD4 bmi .L356 9882 .LVL712: 9883 .L351: 3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9884 .loc 1 3277 3 is_stmt 1 view .LVU2804 3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9885 .loc 1 3277 13 is_stmt 0 view .LVU2805 9886 001a 2368 ldr r3, [r4] 3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9887 .loc 1 3277 23 view .LVU2806 9888 001c 1B68 ldr r3, [r3] 3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9889 .loc 1 3277 6 view .LVU2807 9890 001e 5B07 lsls r3, r3, #29 9891 0020 16D4 bmi .L357 9892 .L353: 3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 9893 .loc 1 3288 3 is_stmt 1 view .LVU2808 3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 9894 .loc 1 3288 17 is_stmt 0 view .LVU2809 9895 0022 2023 movs r3, #32 9896 0024 A367 str r3, [r4, #120] 3289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 9897 .loc 1 3289 3 is_stmt 1 view .LVU2810 3289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 9898 .loc 1 3289 18 is_stmt 0 view .LVU2811 9899 0026 E367 str r3, [r4, #124] 3290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9900 .loc 1 3290 3 is_stmt 1 view .LVU2812 3290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9901 .loc 1 3290 24 is_stmt 0 view .LVU2813 9902 0028 0023 movs r3, #0 9903 002a 2366 str r3, [r4, #96] 3292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9904 .loc 1 3292 3 is_stmt 1 view .LVU2814 ARM GAS /tmp/ccwvDHH5.s page 295 3292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9905 .loc 1 3292 3 view .LVU2815 9906 002c 7422 movs r2, #116 9907 002e A354 strb r3, [r4, r2] 3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9908 .loc 1 3294 3 view .LVU2816 3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9909 .loc 1 3294 10 is_stmt 0 view .LVU2817 9910 0030 0020 movs r0, #0 9911 .L352: 3295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9912 .loc 1 3295 1 view .LVU2818 9913 0032 03B0 add sp, sp, #12 9914 @ sp needed 9915 .LVL713: 9916 .LVL714: 3295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 9917 .loc 1 3295 1 view .LVU2819 9918 0034 30BD pop {r4, r5, pc} 9919 .LVL715: 9920 .L356: 3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9921 .loc 1 3269 5 is_stmt 1 view .LVU2820 3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9922 .loc 1 3269 9 is_stmt 0 view .LVU2821 9923 0036 8021 movs r1, #128 9924 0038 0C4B ldr r3, .L358 9925 003a 0093 str r3, [sp] 9926 003c 0300 movs r3, r0 9927 003e 0022 movs r2, #0 9928 0040 8903 lsls r1, r1, #14 9929 0042 2000 movs r0, r4 9930 .LVL716: 3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9931 .loc 1 3269 9 view .LVU2822 9932 0044 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 9933 .LVL717: 3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9934 .loc 1 3269 8 view .LVU2823 9935 0048 0028 cmp r0, #0 9936 004a E6D0 beq .L351 3272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9937 .loc 1 3272 14 view .LVU2824 9938 004c 0320 movs r0, #3 9939 004e F0E7 b .L352 9940 .L357: 3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9941 .loc 1 3280 5 is_stmt 1 view .LVU2825 3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9942 .loc 1 3280 9 is_stmt 0 view .LVU2826 9943 0050 8021 movs r1, #128 9944 0052 064B ldr r3, .L358 9945 0054 0093 str r3, [sp] 9946 0056 2B00 movs r3, r5 9947 0058 0022 movs r2, #0 9948 005a C903 lsls r1, r1, #15 9949 005c 2000 movs r0, r4 ARM GAS /tmp/ccwvDHH5.s page 296 9950 005e FFF7FEFF bl UART_WaitOnFlagUntilTimeout 9951 .LVL718: 3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9952 .loc 1 3280 8 view .LVU2827 9953 0062 0028 cmp r0, #0 9954 0064 DDD0 beq .L353 3283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9955 .loc 1 3283 14 view .LVU2828 9956 0066 0320 movs r0, #3 9957 0068 E3E7 b .L352 9958 .L359: 9959 006a C046 .align 2 9960 .L358: 9961 006c FFFFFF01 .word 33554431 9962 .cfi_endproc 9963 .LFE85: 9965 .section .text.HAL_UART_Init,"ax",%progbits 9966 .align 1 9967 .global HAL_UART_Init 9968 .syntax unified 9969 .code 16 9970 .thumb_func 9971 .fpu softvfp 9973 HAL_UART_Init: 9974 .LVL719: 9975 .LFB40: 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */ 9976 .loc 1 290 1 is_stmt 1 view -0 9977 .cfi_startproc 9978 @ args = 0, pretend = 0, frame = 0 9979 @ frame_needed = 0, uses_anonymous_args = 0 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */ 9980 .loc 1 290 1 is_stmt 0 view .LVU2830 9981 0000 10B5 push {r4, lr} 9982 .LCFI45: 9983 .cfi_def_cfa_offset 8 9984 .cfi_offset 4, -8 9985 .cfi_offset 14, -4 9986 0002 041E subs r4, r0, #0 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9987 .loc 1 292 3 is_stmt 1 view .LVU2831 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9988 .loc 1 292 6 is_stmt 0 view .LVU2832 9989 0004 2ED0 beq .L364 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9990 .loc 1 297 3 is_stmt 1 view .LVU2833 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 9991 .loc 1 305 5 view .LVU2834 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9992 .loc 1 308 3 view .LVU2835 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9993 .loc 1 308 12 is_stmt 0 view .LVU2836 9994 0006 836F ldr r3, [r0, #120] 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 9995 .loc 1 308 6 view .LVU2837 9996 0008 002B cmp r3, #0 9997 000a 21D0 beq .L365 ARM GAS /tmp/ccwvDHH5.s page 297 9998 .LVL720: 9999 .L362: 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10000 .loc 1 329 3 is_stmt 1 view .LVU2838 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10001 .loc 1 329 17 is_stmt 0 view .LVU2839 10002 000c 2423 movs r3, #36 10003 000e A367 str r3, [r4, #120] 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10004 .loc 1 331 3 is_stmt 1 view .LVU2840 10005 0010 2268 ldr r2, [r4] 10006 0012 1368 ldr r3, [r2] 10007 0014 0121 movs r1, #1 10008 0016 8B43 bics r3, r1 10009 0018 1360 str r3, [r2] 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10010 .loc 1 334 3 view .LVU2841 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10011 .loc 1 334 7 is_stmt 0 view .LVU2842 10012 001a 2000 movs r0, r4 10013 001c FFF7FEFF bl UART_SetConfig 10014 .LVL721: 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10015 .loc 1 334 6 view .LVU2843 10016 0020 0128 cmp r0, #1 10017 0022 14D0 beq .L361 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10018 .loc 1 339 3 is_stmt 1 view .LVU2844 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10019 .loc 1 339 6 is_stmt 0 view .LVU2845 10020 0024 636A ldr r3, [r4, #36] 10021 0026 002B cmp r3, #0 10022 0028 18D1 bne .L366 10023 .L363: 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 10024 .loc 1 348 3 is_stmt 1 view .LVU2846 10025 002a 2268 ldr r2, [r4] 10026 002c 5368 ldr r3, [r2, #4] 10027 002e 0E49 ldr r1, .L367 10028 0030 0B40 ands r3, r1 10029 0032 5360 str r3, [r2, #4] 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 10030 .loc 1 354 3 view .LVU2847 10031 0034 2268 ldr r2, [r4] 10032 0036 9368 ldr r3, [r2, #8] 10033 0038 2A21 movs r1, #42 10034 003a 8B43 bics r3, r1 10035 003c 9360 str r3, [r2, #8] 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10036 .loc 1 366 3 view .LVU2848 10037 003e 2268 ldr r2, [r4] 10038 0040 1368 ldr r3, [r2] 10039 0042 2939 subs r1, r1, #41 10040 0044 0B43 orrs r3, r1 10041 0046 1360 str r3, [r2] 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10042 .loc 1 369 3 view .LVU2849 ARM GAS /tmp/ccwvDHH5.s page 298 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10043 .loc 1 369 11 is_stmt 0 view .LVU2850 10044 0048 2000 movs r0, r4 10045 004a FFF7FEFF bl UART_CheckIdleState 10046 .LVL722: 10047 .L361: 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10048 .loc 1 370 1 view .LVU2851 10049 @ sp needed 10050 .LVL723: 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10051 .loc 1 370 1 view .LVU2852 10052 004e 10BD pop {r4, pc} 10053 .LVL724: 10054 .L365: 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10055 .loc 1 311 5 is_stmt 1 view .LVU2853 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10056 .loc 1 311 17 is_stmt 0 view .LVU2854 10057 0050 7433 adds r3, r3, #116 10058 0052 0022 movs r2, #0 10059 0054 C254 strb r2, [r0, r3] 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 10060 .loc 1 325 5 is_stmt 1 view .LVU2855 10061 0056 FFF7FEFF bl HAL_UART_MspInit 10062 .LVL725: 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 10063 .loc 1 325 5 is_stmt 0 view .LVU2856 10064 005a D7E7 b .L362 10065 .L366: 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10066 .loc 1 341 5 is_stmt 1 view .LVU2857 10067 005c 2000 movs r0, r4 10068 005e FFF7FEFF bl UART_AdvFeatureConfig 10069 .LVL726: 10070 0062 E2E7 b .L363 10071 .LVL727: 10072 .L364: 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10073 .loc 1 294 12 is_stmt 0 view .LVU2858 10074 0064 0120 movs r0, #1 10075 .LVL728: 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10076 .loc 1 294 12 view .LVU2859 10077 0066 F2E7 b .L361 10078 .L368: 10079 .align 2 10080 .L367: 10081 0068 FFB7FFFF .word -18433 10082 .cfi_endproc 10083 .LFE40: 10085 .section .text.HAL_HalfDuplex_Init,"ax",%progbits 10086 .align 1 10087 .global HAL_HalfDuplex_Init 10088 .syntax unified 10089 .code 16 10090 .thumb_func ARM GAS /tmp/ccwvDHH5.s page 299 10091 .fpu softvfp 10093 HAL_HalfDuplex_Init: 10094 .LVL729: 10095 .LFB41: 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */ 10096 .loc 1 379 1 is_stmt 1 view -0 10097 .cfi_startproc 10098 @ args = 0, pretend = 0, frame = 0 10099 @ frame_needed = 0, uses_anonymous_args = 0 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */ 10100 .loc 1 379 1 is_stmt 0 view .LVU2861 10101 0000 10B5 push {r4, lr} 10102 .LCFI46: 10103 .cfi_def_cfa_offset 8 10104 .cfi_offset 4, -8 10105 .cfi_offset 14, -4 10106 0002 041E subs r4, r0, #0 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10107 .loc 1 381 3 is_stmt 1 view .LVU2862 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10108 .loc 1 381 6 is_stmt 0 view .LVU2863 10109 0004 33D0 beq .L373 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10110 .loc 1 387 3 is_stmt 1 view .LVU2864 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10111 .loc 1 389 3 view .LVU2865 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10112 .loc 1 389 12 is_stmt 0 view .LVU2866 10113 0006 836F ldr r3, [r0, #120] 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10114 .loc 1 389 6 view .LVU2867 10115 0008 002B cmp r3, #0 10116 000a 26D0 beq .L374 10117 .LVL730: 10118 .L371: 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10119 .loc 1 410 3 is_stmt 1 view .LVU2868 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10120 .loc 1 410 17 is_stmt 0 view .LVU2869 10121 000c 2423 movs r3, #36 10122 000e A367 str r3, [r4, #120] 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10123 .loc 1 412 3 is_stmt 1 view .LVU2870 10124 0010 2268 ldr r2, [r4] 10125 0012 1368 ldr r3, [r2] 10126 0014 0121 movs r1, #1 10127 0016 8B43 bics r3, r1 10128 0018 1360 str r3, [r2] 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10129 .loc 1 415 3 view .LVU2871 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10130 .loc 1 415 7 is_stmt 0 view .LVU2872 10131 001a 2000 movs r0, r4 10132 001c FFF7FEFF bl UART_SetConfig 10133 .LVL731: 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10134 .loc 1 415 6 view .LVU2873 ARM GAS /tmp/ccwvDHH5.s page 300 10135 0020 0128 cmp r0, #1 10136 0022 19D0 beq .L370 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10137 .loc 1 420 3 is_stmt 1 view .LVU2874 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10138 .loc 1 420 6 is_stmt 0 view .LVU2875 10139 0024 636A ldr r3, [r4, #36] 10140 0026 002B cmp r3, #0 10141 0028 1DD1 bne .L375 10142 .L372: 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 10143 .loc 1 429 3 is_stmt 1 view .LVU2876 10144 002a 2268 ldr r2, [r4] 10145 002c 5368 ldr r3, [r2, #4] 10146 002e 1149 ldr r1, .L376 10147 0030 0B40 ands r3, r1 10148 0032 5360 str r3, [r2, #4] 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 10149 .loc 1 435 3 view .LVU2877 10150 0034 2268 ldr r2, [r4] 10151 0036 9368 ldr r3, [r2, #8] 10152 0038 2221 movs r1, #34 10153 003a 8B43 bics r3, r1 10154 003c 9360 str r3, [r2, #8] 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10155 .loc 1 446 3 view .LVU2878 10156 003e 2268 ldr r2, [r4] 10157 0040 9368 ldr r3, [r2, #8] 10158 0042 1A39 subs r1, r1, #26 10159 0044 0B43 orrs r3, r1 10160 0046 9360 str r3, [r2, #8] 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10161 .loc 1 448 3 view .LVU2879 10162 0048 2268 ldr r2, [r4] 10163 004a 1368 ldr r3, [r2] 10164 004c 0739 subs r1, r1, #7 10165 004e 0B43 orrs r3, r1 10166 0050 1360 str r3, [r2] 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10167 .loc 1 451 3 view .LVU2880 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10168 .loc 1 451 11 is_stmt 0 view .LVU2881 10169 0052 2000 movs r0, r4 10170 0054 FFF7FEFF bl UART_CheckIdleState 10171 .LVL732: 10172 .L370: 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10173 .loc 1 452 1 view .LVU2882 10174 @ sp needed 10175 .LVL733: 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10176 .loc 1 452 1 view .LVU2883 10177 0058 10BD pop {r4, pc} 10178 .LVL734: 10179 .L374: 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10180 .loc 1 392 5 is_stmt 1 view .LVU2884 ARM GAS /tmp/ccwvDHH5.s page 301 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10181 .loc 1 392 17 is_stmt 0 view .LVU2885 10182 005a 7433 adds r3, r3, #116 10183 005c 0022 movs r2, #0 10184 005e C254 strb r2, [r0, r3] 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 10185 .loc 1 406 5 is_stmt 1 view .LVU2886 10186 0060 FFF7FEFF bl HAL_UART_MspInit 10187 .LVL735: 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 10188 .loc 1 406 5 is_stmt 0 view .LVU2887 10189 0064 D2E7 b .L371 10190 .L375: 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10191 .loc 1 422 5 is_stmt 1 view .LVU2888 10192 0066 2000 movs r0, r4 10193 0068 FFF7FEFF bl UART_AdvFeatureConfig 10194 .LVL736: 10195 006c DDE7 b .L372 10196 .LVL737: 10197 .L373: 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10198 .loc 1 383 12 is_stmt 0 view .LVU2889 10199 006e 0120 movs r0, #1 10200 .LVL738: 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10201 .loc 1 383 12 view .LVU2890 10202 0070 F2E7 b .L370 10203 .L377: 10204 0072 C046 .align 2 10205 .L376: 10206 0074 FFB7FFFF .word -18433 10207 .cfi_endproc 10208 .LFE41: 10210 .section .text.HAL_LIN_Init,"ax",%progbits 10211 .align 1 10212 .global HAL_LIN_Init 10213 .syntax unified 10214 .code 16 10215 .thumb_func 10216 .fpu softvfp 10218 HAL_LIN_Init: 10219 .LVL739: 10220 .LFB42: 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */ 10221 .loc 1 467 1 is_stmt 1 view -0 10222 .cfi_startproc 10223 @ args = 0, pretend = 0, frame = 0 10224 @ frame_needed = 0, uses_anonymous_args = 0 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */ 10225 .loc 1 467 1 is_stmt 0 view .LVU2892 10226 0000 70B5 push {r4, r5, r6, lr} 10227 .LCFI47: 10228 .cfi_def_cfa_offset 16 10229 .cfi_offset 4, -16 10230 .cfi_offset 5, -12 10231 .cfi_offset 6, -8 ARM GAS /tmp/ccwvDHH5.s page 302 10232 .cfi_offset 14, -4 10233 0002 0400 movs r4, r0 10234 0004 0D00 movs r5, r1 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10235 .loc 1 469 3 is_stmt 1 view .LVU2893 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10236 .loc 1 469 6 is_stmt 0 view .LVU2894 10237 0006 0028 cmp r0, #0 10238 0008 42D0 beq .L382 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the Break detection length parameter */ 10239 .loc 1 475 3 is_stmt 1 view .LVU2895 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10240 .loc 1 477 3 view .LVU2896 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10241 .loc 1 480 3 view .LVU2897 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10242 .loc 1 480 6 is_stmt 0 view .LVU2898 10243 000a 8023 movs r3, #128 10244 000c 1B02 lsls r3, r3, #8 10245 000e C269 ldr r2, [r0, #28] 10246 0010 9A42 cmp r2, r3 10247 0012 3FD0 beq .L383 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10248 .loc 1 485 3 is_stmt 1 view .LVU2899 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10249 .loc 1 485 6 is_stmt 0 view .LVU2900 10250 0014 8368 ldr r3, [r0, #8] 10251 0016 002B cmp r3, #0 10252 0018 3ED1 bne .L384 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10253 .loc 1 490 3 is_stmt 1 view .LVU2901 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10254 .loc 1 490 12 is_stmt 0 view .LVU2902 10255 001a 836F ldr r3, [r0, #120] 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10256 .loc 1 490 6 view .LVU2903 10257 001c 002B cmp r3, #0 10258 001e 2DD0 beq .L385 10259 .LVL740: 10260 .L380: 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10261 .loc 1 511 3 is_stmt 1 view .LVU2904 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10262 .loc 1 511 17 is_stmt 0 view .LVU2905 10263 0020 2423 movs r3, #36 10264 0022 A367 str r3, [r4, #120] 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10265 .loc 1 513 3 is_stmt 1 view .LVU2906 10266 0024 2268 ldr r2, [r4] 10267 0026 1368 ldr r3, [r2] 10268 0028 0121 movs r1, #1 10269 002a 8B43 bics r3, r1 10270 002c 1360 str r3, [r2] 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10271 .loc 1 516 3 view .LVU2907 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10272 .loc 1 516 7 is_stmt 0 view .LVU2908 ARM GAS /tmp/ccwvDHH5.s page 303 10273 002e 2000 movs r0, r4 10274 0030 FFF7FEFF bl UART_SetConfig 10275 .LVL741: 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10276 .loc 1 516 6 view .LVU2909 10277 0034 0128 cmp r0, #1 10278 0036 20D0 beq .L379 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10279 .loc 1 521 3 is_stmt 1 view .LVU2910 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10280 .loc 1 521 6 is_stmt 0 view .LVU2911 10281 0038 636A ldr r3, [r4, #36] 10282 003a 002B cmp r3, #0 10283 003c 24D1 bne .L386 10284 .L381: 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_SCEN) 10285 .loc 1 529 3 is_stmt 1 view .LVU2912 10286 003e 2268 ldr r2, [r4] 10287 0040 5368 ldr r3, [r2, #4] 10288 0042 1649 ldr r1, .L387 10289 0044 0B40 ands r3, r1 10290 0046 5360 str r3, [r2, #4] 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 10291 .loc 1 532 3 view .LVU2913 10292 0048 2268 ldr r2, [r4] 10293 004a 9368 ldr r3, [r2, #8] 10294 004c 2A21 movs r1, #42 10295 004e 8B43 bics r3, r1 10296 0050 9360 str r3, [r2, #8] 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10297 .loc 1 545 3 view .LVU2914 10298 0052 2268 ldr r2, [r4] 10299 0054 5168 ldr r1, [r2, #4] 10300 0056 8023 movs r3, #128 10301 0058 DB01 lsls r3, r3, #7 10302 005a 0B43 orrs r3, r1 10303 005c 5360 str r3, [r2, #4] 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10304 .loc 1 548 3 view .LVU2915 10305 005e 2368 ldr r3, [r4] 10306 0060 5968 ldr r1, [r3, #4] 10307 0062 2022 movs r2, #32 10308 0064 9143 bics r1, r2 10309 0066 2943 orrs r1, r5 10310 0068 5960 str r1, [r3, #4] 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10311 .loc 1 550 3 view .LVU2916 10312 006a 2268 ldr r2, [r4] 10313 006c 1368 ldr r3, [r2] 10314 006e 0121 movs r1, #1 10315 0070 0B43 orrs r3, r1 10316 0072 1360 str r3, [r2] 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10317 .loc 1 553 3 view .LVU2917 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10318 .loc 1 553 11 is_stmt 0 view .LVU2918 10319 0074 2000 movs r0, r4 ARM GAS /tmp/ccwvDHH5.s page 304 10320 0076 FFF7FEFF bl UART_CheckIdleState 10321 .LVL742: 10322 .L379: 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR2_LINEN */ 10323 .loc 1 554 1 view .LVU2919 10324 @ sp needed 10325 .LVL743: 10326 .LVL744: 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR2_LINEN */ 10327 .loc 1 554 1 view .LVU2920 10328 007a 70BD pop {r4, r5, r6, pc} 10329 .LVL745: 10330 .L385: 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10331 .loc 1 493 5 is_stmt 1 view .LVU2921 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10332 .loc 1 493 17 is_stmt 0 view .LVU2922 10333 007c 7433 adds r3, r3, #116 10334 007e 0022 movs r2, #0 10335 0080 C254 strb r2, [r0, r3] 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 10336 .loc 1 507 5 is_stmt 1 view .LVU2923 10337 0082 FFF7FEFF bl HAL_UART_MspInit 10338 .LVL746: 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 10339 .loc 1 507 5 is_stmt 0 view .LVU2924 10340 0086 CBE7 b .L380 10341 .L386: 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10342 .loc 1 523 5 is_stmt 1 view .LVU2925 10343 0088 2000 movs r0, r4 10344 008a FFF7FEFF bl UART_AdvFeatureConfig 10345 .LVL747: 10346 008e D6E7 b .L381 10347 .LVL748: 10348 .L382: 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10349 .loc 1 471 12 is_stmt 0 view .LVU2926 10350 0090 0120 movs r0, #1 10351 .LVL749: 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10352 .loc 1 471 12 view .LVU2927 10353 0092 F2E7 b .L379 10354 .LVL750: 10355 .L383: 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10356 .loc 1 482 12 view .LVU2928 10357 0094 0120 movs r0, #1 10358 .LVL751: 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10359 .loc 1 482 12 view .LVU2929 10360 0096 F0E7 b .L379 10361 .LVL752: 10362 .L384: 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10363 .loc 1 487 12 view .LVU2930 10364 0098 0120 movs r0, #1 ARM GAS /tmp/ccwvDHH5.s page 305 10365 .LVL753: 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10366 .loc 1 487 12 view .LVU2931 10367 009a EEE7 b .L379 10368 .L388: 10369 .align 2 10370 .L387: 10371 009c FFB7FFFF .word -18433 10372 .cfi_endproc 10373 .LFE42: 10375 .section .text.HAL_MultiProcessor_Init,"ax",%progbits 10376 .align 1 10377 .global HAL_MultiProcessor_Init 10378 .syntax unified 10379 .code 16 10380 .thumb_func 10381 .fpu softvfp 10383 HAL_MultiProcessor_Init: 10384 .LVL754: 10385 .LFB43: 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */ 10386 .loc 1 577 1 is_stmt 1 view -0 10387 .cfi_startproc 10388 @ args = 0, pretend = 0, frame = 0 10389 @ frame_needed = 0, uses_anonymous_args = 0 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */ 10390 .loc 1 577 1 is_stmt 0 view .LVU2933 10391 0000 70B5 push {r4, r5, r6, lr} 10392 .LCFI48: 10393 .cfi_def_cfa_offset 16 10394 .cfi_offset 4, -16 10395 .cfi_offset 5, -12 10396 .cfi_offset 6, -8 10397 .cfi_offset 14, -4 10398 0002 0400 movs r4, r0 10399 0004 0D00 movs r5, r1 10400 0006 1600 movs r6, r2 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10401 .loc 1 579 3 is_stmt 1 view .LVU2934 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10402 .loc 1 579 6 is_stmt 0 view .LVU2935 10403 0008 0028 cmp r0, #0 10404 000a 40D0 beq .L394 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10405 .loc 1 585 3 is_stmt 1 view .LVU2936 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10406 .loc 1 587 3 view .LVU2937 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10407 .loc 1 587 12 is_stmt 0 view .LVU2938 10408 000c 836F ldr r3, [r0, #120] 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10409 .loc 1 587 6 view .LVU2939 10410 000e 002B cmp r3, #0 10411 0010 2BD0 beq .L395 10412 .LVL755: 10413 .L391: 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 306 10414 .loc 1 608 3 is_stmt 1 view .LVU2940 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10415 .loc 1 608 17 is_stmt 0 view .LVU2941 10416 0012 2423 movs r3, #36 10417 0014 A367 str r3, [r4, #120] 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10418 .loc 1 610 3 is_stmt 1 view .LVU2942 10419 0016 2268 ldr r2, [r4] 10420 0018 1368 ldr r3, [r2] 10421 001a 0121 movs r1, #1 10422 001c 8B43 bics r3, r1 10423 001e 1360 str r3, [r2] 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10424 .loc 1 613 3 view .LVU2943 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10425 .loc 1 613 7 is_stmt 0 view .LVU2944 10426 0020 2000 movs r0, r4 10427 0022 FFF7FEFF bl UART_SetConfig 10428 .LVL756: 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10429 .loc 1 613 6 view .LVU2945 10430 0026 0128 cmp r0, #1 10431 0028 1ED0 beq .L390 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10432 .loc 1 618 3 is_stmt 1 view .LVU2946 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10433 .loc 1 618 6 is_stmt 0 view .LVU2947 10434 002a 636A ldr r3, [r4, #36] 10435 002c 002B cmp r3, #0 10436 002e 22D1 bne .L396 10437 .L392: 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 10438 .loc 1 627 3 is_stmt 1 view .LVU2948 10439 0030 2268 ldr r2, [r4] 10440 0032 5368 ldr r3, [r2, #4] 10441 0034 1749 ldr r1, .L398 10442 0036 0B40 ands r3, r1 10443 0038 5360 str r3, [r2, #4] 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else 10444 .loc 1 633 3 view .LVU2949 10445 003a 2268 ldr r2, [r4] 10446 003c 9368 ldr r3, [r2, #8] 10447 003e 2A21 movs r1, #42 10448 0040 8B43 bics r3, r1 10449 0042 9360 str r3, [r2, #8] 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10450 .loc 1 645 3 view .LVU2950 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10451 .loc 1 645 6 is_stmt 0 view .LVU2951 10452 0044 8023 movs r3, #128 10453 0046 1B01 lsls r3, r3, #4 10454 0048 9E42 cmp r6, r3 10455 004a 18D0 beq .L397 10456 .L393: 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10457 .loc 1 652 3 is_stmt 1 view .LVU2952 10458 004c 2368 ldr r3, [r4] ARM GAS /tmp/ccwvDHH5.s page 307 10459 004e 1A68 ldr r2, [r3] 10460 0050 1149 ldr r1, .L398+4 10461 0052 0A40 ands r2, r1 10462 0054 3243 orrs r2, r6 10463 0056 1A60 str r2, [r3] 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10464 .loc 1 654 3 view .LVU2953 10465 0058 2268 ldr r2, [r4] 10466 005a 1368 ldr r3, [r2] 10467 005c 0121 movs r1, #1 10468 005e 0B43 orrs r3, r1 10469 0060 1360 str r3, [r2] 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10470 .loc 1 657 3 view .LVU2954 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10471 .loc 1 657 11 is_stmt 0 view .LVU2955 10472 0062 2000 movs r0, r4 10473 0064 FFF7FEFF bl UART_CheckIdleState 10474 .LVL757: 10475 .L390: 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10476 .loc 1 658 1 view .LVU2956 10477 @ sp needed 10478 .LVL758: 10479 .LVL759: 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10480 .loc 1 658 1 view .LVU2957 10481 0068 70BD pop {r4, r5, r6, pc} 10482 .LVL760: 10483 .L395: 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10484 .loc 1 590 5 is_stmt 1 view .LVU2958 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10485 .loc 1 590 17 is_stmt 0 view .LVU2959 10486 006a 7433 adds r3, r3, #116 10487 006c 0022 movs r2, #0 10488 .LVL761: 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10489 .loc 1 590 17 view .LVU2960 10490 006e C254 strb r2, [r0, r3] 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 10491 .loc 1 604 5 is_stmt 1 view .LVU2961 10492 0070 FFF7FEFF bl HAL_UART_MspInit 10493 .LVL762: 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 10494 .loc 1 604 5 is_stmt 0 view .LVU2962 10495 0074 CDE7 b .L391 10496 .L396: 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10497 .loc 1 620 5 is_stmt 1 view .LVU2963 10498 0076 2000 movs r0, r4 10499 0078 FFF7FEFF bl UART_AdvFeatureConfig 10500 .LVL763: 10501 007c D8E7 b .L392 10502 .L397: 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10503 .loc 1 648 5 view .LVU2964 ARM GAS /tmp/ccwvDHH5.s page 308 10504 007e 2268 ldr r2, [r4] 10505 0080 5368 ldr r3, [r2, #4] 10506 0082 1B02 lsls r3, r3, #8 10507 0084 1B0A lsrs r3, r3, #8 10508 0086 2D06 lsls r5, r5, #24 10509 0088 1D43 orrs r5, r3 10510 008a 5560 str r5, [r2, #4] 10511 008c DEE7 b .L393 10512 .LVL764: 10513 .L394: 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10514 .loc 1 581 12 is_stmt 0 view .LVU2965 10515 008e 0120 movs r0, #1 10516 .LVL765: 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10517 .loc 1 581 12 view .LVU2966 10518 0090 EAE7 b .L390 10519 .L399: 10520 0092 C046 .align 2 10521 .L398: 10522 0094 FFB7FFFF .word -18433 10523 0098 FFF7FFFF .word -2049 10524 .cfi_endproc 10525 .LFE43: 10527 .section .text.HAL_MultiProcessor_EnableMuteMode,"ax",%progbits 10528 .align 1 10529 .global HAL_MultiProcessor_EnableMuteMode 10530 .syntax unified 10531 .code 16 10532 .thumb_func 10533 .fpu softvfp 10535 HAL_MultiProcessor_EnableMuteMode: 10536 .LVL766: 10537 .LFB75: 2836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 10538 .loc 1 2836 1 is_stmt 1 view -0 10539 .cfi_startproc 10540 @ args = 0, pretend = 0, frame = 0 10541 @ frame_needed = 0, uses_anonymous_args = 0 2836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 10542 .loc 1 2836 1 is_stmt 0 view .LVU2968 10543 0000 10B5 push {r4, lr} 10544 .LCFI49: 10545 .cfi_def_cfa_offset 8 10546 .cfi_offset 4, -8 10547 .cfi_offset 14, -4 2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10548 .loc 1 2837 3 is_stmt 1 view .LVU2969 2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10549 .loc 1 2837 3 view .LVU2970 10550 0002 7423 movs r3, #116 10551 0004 C35C ldrb r3, [r0, r3] 10552 0006 012B cmp r3, #1 10553 0008 15D0 beq .L402 2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10554 .loc 1 2837 3 discriminator 2 view .LVU2971 10555 000a 0123 movs r3, #1 ARM GAS /tmp/ccwvDHH5.s page 309 10556 000c 7422 movs r2, #116 10557 000e 8354 strb r3, [r0, r2] 2839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10558 .loc 1 2839 3 discriminator 2 view .LVU2972 2839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10559 .loc 1 2839 17 is_stmt 0 discriminator 2 view .LVU2973 10560 0010 503A subs r2, r2, #80 10561 0012 8267 str r2, [r0, #120] 2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10562 .loc 1 2842 3 is_stmt 1 discriminator 2 view .LVU2974 10563 .LBB1063: 2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10564 .loc 1 2842 3 discriminator 2 view .LVU2975 2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10565 .loc 1 2842 3 discriminator 2 view .LVU2976 10566 .LBB1064: 10567 .LBI1064: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10568 .loc 2 382 31 discriminator 2 view .LVU2977 10569 .LBB1065: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 10570 .loc 2 384 3 discriminator 2 view .LVU2978 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10571 .loc 2 386 3 discriminator 2 view .LVU2979 10572 .syntax divided 10573 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10574 0014 EFF31081 MRS r1, primask 10575 @ 0 "" 2 10576 .LVL767: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10577 .loc 2 387 3 discriminator 2 view .LVU2980 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10578 .loc 2 387 3 is_stmt 0 discriminator 2 view .LVU2981 10579 .thumb 10580 .syntax unified 10581 .LBE1065: 10582 .LBE1064: 2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10583 .loc 1 2842 3 is_stmt 1 discriminator 2 view .LVU2982 10584 .LBB1066: 10585 .LBI1066: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10586 .loc 2 412 27 discriminator 2 view .LVU2983 10587 .LBB1067: 10588 .loc 2 414 3 discriminator 2 view .LVU2984 10589 .syntax divided 10590 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10591 0018 83F31088 MSR primask, r3 10592 @ 0 "" 2 10593 .LVL768: 10594 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2985 10595 .thumb 10596 .syntax unified 10597 .LBE1067: 10598 .LBE1066: 2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10599 .loc 1 2842 3 is_stmt 1 discriminator 2 view .LVU2986 ARM GAS /tmp/ccwvDHH5.s page 310 10600 001c 0268 ldr r2, [r0] 10601 001e 1468 ldr r4, [r2] 10602 0020 8023 movs r3, #128 10603 0022 9B01 lsls r3, r3, #6 10604 0024 2343 orrs r3, r4 10605 0026 1360 str r3, [r2] 2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10606 .loc 1 2842 3 discriminator 2 view .LVU2987 10607 .LVL769: 10608 .LBB1068: 10609 .LBI1068: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10610 .loc 2 412 27 discriminator 2 view .LVU2988 10611 .LBB1069: 10612 .loc 2 414 3 discriminator 2 view .LVU2989 10613 .syntax divided 10614 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10615 0028 81F31088 MSR primask, r1 10616 @ 0 "" 2 10617 .LVL770: 10618 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2990 10619 .thumb 10620 .syntax unified 10621 .LBE1069: 10622 .LBE1068: 10623 .LBE1063: 2844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10624 .loc 1 2844 3 is_stmt 1 discriminator 2 view .LVU2991 2844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10625 .loc 1 2844 17 is_stmt 0 discriminator 2 view .LVU2992 10626 002c 2023 movs r3, #32 10627 002e 8367 str r3, [r0, #120] 2846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10628 .loc 1 2846 3 is_stmt 1 discriminator 2 view .LVU2993 2846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10629 .loc 1 2846 11 is_stmt 0 discriminator 2 view .LVU2994 10630 0030 FFF7FEFF bl UART_CheckIdleState 10631 .LVL771: 10632 .L401: 2847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10633 .loc 1 2847 1 view .LVU2995 10634 @ sp needed 10635 0034 10BD pop {r4, pc} 10636 .LVL772: 10637 .L402: 2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10638 .loc 1 2837 3 view .LVU2996 10639 0036 0220 movs r0, #2 10640 .LVL773: 2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10641 .loc 1 2837 3 view .LVU2997 10642 0038 FCE7 b .L401 10643 .cfi_endproc 10644 .LFE75: 10646 .section .text.HAL_MultiProcessor_DisableMuteMode,"ax",%progbits 10647 .align 1 10648 .global HAL_MultiProcessor_DisableMuteMode ARM GAS /tmp/ccwvDHH5.s page 311 10649 .syntax unified 10650 .code 16 10651 .thumb_func 10652 .fpu softvfp 10654 HAL_MultiProcessor_DisableMuteMode: 10655 .LVL774: 10656 .LFB76: 2856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 10657 .loc 1 2856 1 is_stmt 1 view -0 10658 .cfi_startproc 10659 @ args = 0, pretend = 0, frame = 0 10660 @ frame_needed = 0, uses_anonymous_args = 0 2856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart); 10661 .loc 1 2856 1 is_stmt 0 view .LVU2999 10662 0000 10B5 push {r4, lr} 10663 .LCFI50: 10664 .cfi_def_cfa_offset 8 10665 .cfi_offset 4, -8 10666 .cfi_offset 14, -4 2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10667 .loc 1 2857 3 is_stmt 1 view .LVU3000 2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10668 .loc 1 2857 3 view .LVU3001 10669 0002 7423 movs r3, #116 10670 0004 C35C ldrb r3, [r0, r3] 10671 0006 012B cmp r3, #1 10672 0008 14D0 beq .L405 2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10673 .loc 1 2857 3 discriminator 2 view .LVU3002 10674 000a 0123 movs r3, #1 10675 000c 7422 movs r2, #116 10676 000e 8354 strb r3, [r0, r2] 2859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10677 .loc 1 2859 3 discriminator 2 view .LVU3003 2859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10678 .loc 1 2859 17 is_stmt 0 discriminator 2 view .LVU3004 10679 0010 503A subs r2, r2, #80 10680 0012 8267 str r2, [r0, #120] 2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10681 .loc 1 2862 3 is_stmt 1 discriminator 2 view .LVU3005 10682 .LBB1070: 2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10683 .loc 1 2862 3 discriminator 2 view .LVU3006 2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10684 .loc 1 2862 3 discriminator 2 view .LVU3007 10685 .LBB1071: 10686 .LBI1071: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10687 .loc 2 382 31 discriminator 2 view .LVU3008 10688 .LBB1072: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 10689 .loc 2 384 3 discriminator 2 view .LVU3009 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10690 .loc 2 386 3 discriminator 2 view .LVU3010 10691 .syntax divided 10692 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10693 0014 EFF31081 MRS r1, primask ARM GAS /tmp/ccwvDHH5.s page 312 10694 @ 0 "" 2 10695 .LVL775: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10696 .loc 2 387 3 discriminator 2 view .LVU3011 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10697 .loc 2 387 3 is_stmt 0 discriminator 2 view .LVU3012 10698 .thumb 10699 .syntax unified 10700 .LBE1072: 10701 .LBE1071: 2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10702 .loc 1 2862 3 is_stmt 1 discriminator 2 view .LVU3013 10703 .LBB1073: 10704 .LBI1073: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10705 .loc 2 412 27 discriminator 2 view .LVU3014 10706 .LBB1074: 10707 .loc 2 414 3 discriminator 2 view .LVU3015 10708 .syntax divided 10709 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10710 0018 83F31088 MSR primask, r3 10711 @ 0 "" 2 10712 .LVL776: 10713 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU3016 10714 .thumb 10715 .syntax unified 10716 .LBE1074: 10717 .LBE1073: 2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10718 .loc 1 2862 3 is_stmt 1 discriminator 2 view .LVU3017 10719 001c 0268 ldr r2, [r0] 10720 001e 1368 ldr r3, [r2] 10721 0020 054C ldr r4, .L406 10722 0022 2340 ands r3, r4 10723 0024 1360 str r3, [r2] 2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10724 .loc 1 2862 3 discriminator 2 view .LVU3018 10725 .LVL777: 10726 .LBB1075: 10727 .LBI1075: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10728 .loc 2 412 27 discriminator 2 view .LVU3019 10729 .LBB1076: 10730 .loc 2 414 3 discriminator 2 view .LVU3020 10731 .syntax divided 10732 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10733 0026 81F31088 MSR primask, r1 10734 @ 0 "" 2 10735 .LVL778: 10736 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU3021 10737 .thumb 10738 .syntax unified 10739 .LBE1076: 10740 .LBE1075: 10741 .LBE1070: 2864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10742 .loc 1 2864 3 is_stmt 1 discriminator 2 view .LVU3022 ARM GAS /tmp/ccwvDHH5.s page 313 2864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10743 .loc 1 2864 17 is_stmt 0 discriminator 2 view .LVU3023 10744 002a 2023 movs r3, #32 10745 002c 8367 str r3, [r0, #120] 2866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10746 .loc 1 2866 3 is_stmt 1 discriminator 2 view .LVU3024 2866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10747 .loc 1 2866 11 is_stmt 0 discriminator 2 view .LVU3025 10748 002e FFF7FEFF bl UART_CheckIdleState 10749 .LVL779: 10750 .L404: 2867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10751 .loc 1 2867 1 view .LVU3026 10752 @ sp needed 10753 0032 10BD pop {r4, pc} 10754 .LVL780: 10755 .L405: 2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10756 .loc 1 2857 3 view .LVU3027 10757 0034 0220 movs r0, #2 10758 .LVL781: 2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10759 .loc 1 2857 3 view .LVU3028 10760 0036 FCE7 b .L404 10761 .L407: 10762 .align 2 10763 .L406: 10764 0038 FFDFFFFF .word -8193 10765 .cfi_endproc 10766 .LFE76: 10768 .section .text.UART_Start_Receive_IT,"ax",%progbits 10769 .align 1 10770 .global UART_Start_Receive_IT 10771 .syntax unified 10772 .code 16 10773 .thumb_func 10774 .fpu softvfp 10776 UART_Start_Receive_IT: 10777 .LVL782: 10778 .LFB87: 3369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr = pData; 10779 .loc 1 3369 1 is_stmt 1 view -0 10780 .cfi_startproc 10781 @ args = 0, pretend = 0, frame = 0 10782 @ frame_needed = 0, uses_anonymous_args = 0 3369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr = pData; 10783 .loc 1 3369 1 is_stmt 0 view .LVU3030 10784 0000 10B5 push {r4, lr} 10785 .LCFI51: 10786 .cfi_def_cfa_offset 8 10787 .cfi_offset 4, -8 10788 .cfi_offset 14, -4 3370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferSize = Size; 10789 .loc 1 3370 3 is_stmt 1 view .LVU3031 3370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferSize = Size; 10790 .loc 1 3370 22 is_stmt 0 view .LVU3032 10791 0002 4165 str r1, [r0, #84] ARM GAS /tmp/ccwvDHH5.s page 314 3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = Size; 10792 .loc 1 3371 3 is_stmt 1 view .LVU3033 3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = Size; 10793 .loc 1 3371 22 is_stmt 0 view .LVU3034 10794 0004 5823 movs r3, #88 10795 0006 C252 strh r2, [r0, r3] 3372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL; 10796 .loc 1 3372 3 is_stmt 1 view .LVU3035 3372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL; 10797 .loc 1 3372 22 is_stmt 0 view .LVU3036 10798 0008 0233 adds r3, r3, #2 10799 000a C252 strh r2, [r0, r3] 3373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10800 .loc 1 3373 3 is_stmt 1 view .LVU3037 3373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10801 .loc 1 3373 22 is_stmt 0 view .LVU3038 10802 000c 0023 movs r3, #0 10803 000e 4366 str r3, [r0, #100] 3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10804 .loc 1 3376 3 is_stmt 1 view .LVU3039 3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10805 .loc 1 3376 3 view .LVU3040 10806 0010 8368 ldr r3, [r0, #8] 10807 0012 8022 movs r2, #128 10808 .LVL783: 3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10809 .loc 1 3376 3 is_stmt 0 view .LVU3041 10810 0014 5201 lsls r2, r2, #5 10811 0016 9342 cmp r3, r2 10812 0018 08D0 beq .L418 3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10813 .loc 1 3376 3 is_stmt 1 discriminator 2 view .LVU3042 10814 001a 002B cmp r3, #0 10815 001c 15D1 bne .L412 3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10816 .loc 1 3376 3 discriminator 5 view .LVU3043 10817 001e 0369 ldr r3, [r0, #16] 10818 0020 002B cmp r3, #0 10819 0022 0ED1 bne .L413 3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10820 .loc 1 3376 3 discriminator 7 view .LVU3044 10821 0024 5C33 adds r3, r3, #92 10822 0026 FF22 movs r2, #255 10823 0028 C252 strh r2, [r0, r3] 10824 002a 15E0 b .L411 10825 .L418: 3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10826 .loc 1 3376 3 discriminator 1 view .LVU3045 10827 002c 0369 ldr r3, [r0, #16] 10828 002e 002B cmp r3, #0 10829 0030 03D1 bne .L410 3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10830 .loc 1 3376 3 discriminator 3 view .LVU3046 10831 0032 5C33 adds r3, r3, #92 10832 0034 254A ldr r2, .L421 10833 0036 C252 strh r2, [r0, r3] 10834 0038 0EE0 b .L411 ARM GAS /tmp/ccwvDHH5.s page 315 10835 .L410: 3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10836 .loc 1 3376 3 discriminator 4 view .LVU3047 10837 003a 5C23 movs r3, #92 10838 003c FF22 movs r2, #255 10839 003e C252 strh r2, [r0, r3] 10840 0040 0AE0 b .L411 10841 .L413: 3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10842 .loc 1 3376 3 discriminator 8 view .LVU3048 10843 0042 5C23 movs r3, #92 10844 0044 7F22 movs r2, #127 10845 0046 C252 strh r2, [r0, r3] 10846 0048 06E0 b .L411 10847 .L412: 3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10848 .loc 1 3376 3 discriminator 6 view .LVU3049 10849 004a 8022 movs r2, #128 10850 004c 5205 lsls r2, r2, #21 10851 004e 9342 cmp r3, r2 10852 0050 2BD0 beq .L419 3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10853 .loc 1 3376 3 discriminator 10 view .LVU3050 10854 0052 5C23 movs r3, #92 10855 0054 0022 movs r2, #0 10856 0056 C252 strh r2, [r0, r3] 10857 .L411: 3378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 10858 .loc 1 3378 3 view .LVU3051 3378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 10859 .loc 1 3378 20 is_stmt 0 view .LVU3052 10860 0058 8023 movs r3, #128 10861 005a 0022 movs r2, #0 10862 005c C250 str r2, [r0, r3] 3379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10863 .loc 1 3379 3 is_stmt 1 view .LVU3053 3379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10864 .loc 1 3379 18 is_stmt 0 view .LVU3054 10865 005e 5E3B subs r3, r3, #94 10866 0060 C367 str r3, [r0, #124] 3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10867 .loc 1 3382 3 is_stmt 1 view .LVU3055 10868 .LBB1077: 3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10869 .loc 1 3382 3 view .LVU3056 3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10870 .loc 1 3382 3 view .LVU3057 10871 .LBB1078: 10872 .LBI1078: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10873 .loc 2 382 31 view .LVU3058 10874 .LBB1079: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 10875 .loc 2 384 3 view .LVU3059 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10876 .loc 2 386 3 view .LVU3060 10877 .syntax divided ARM GAS /tmp/ccwvDHH5.s page 316 10878 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10879 0062 EFF31084 MRS r4, primask 10880 @ 0 "" 2 10881 .LVL784: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10882 .loc 2 387 3 view .LVU3061 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10883 .loc 2 387 3 is_stmt 0 view .LVU3062 10884 .thumb 10885 .syntax unified 10886 .LBE1079: 10887 .LBE1078: 3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10888 .loc 1 3382 3 is_stmt 1 view .LVU3063 10889 .LBB1080: 10890 .LBI1080: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10891 .loc 2 412 27 view .LVU3064 10892 .LBB1081: 10893 .loc 2 414 3 view .LVU3065 10894 0066 0121 movs r1, #1 10895 .LVL785: 10896 .loc 2 414 3 is_stmt 0 view .LVU3066 10897 .syntax divided 10898 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10899 0068 81F31088 MSR primask, r1 10900 @ 0 "" 2 10901 .LVL786: 10902 .loc 2 414 3 view .LVU3067 10903 .thumb 10904 .syntax unified 10905 .LBE1081: 10906 .LBE1080: 3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10907 .loc 1 3382 3 is_stmt 1 view .LVU3068 10908 006c 0268 ldr r2, [r0] 10909 006e 9368 ldr r3, [r2, #8] 10910 0070 0B43 orrs r3, r1 10911 0072 9360 str r3, [r2, #8] 3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10912 .loc 1 3382 3 view .LVU3069 10913 .LVL787: 10914 .LBB1082: 10915 .LBI1082: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10916 .loc 2 412 27 view .LVU3070 10917 .LBB1083: 10918 .loc 2 414 3 view .LVU3071 10919 .syntax divided 10920 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10921 0074 84F31088 MSR primask, r4 10922 @ 0 "" 2 10923 .LVL788: 10924 .loc 2 414 3 is_stmt 0 view .LVU3072 10925 .thumb 10926 .syntax unified 10927 .LBE1083: ARM GAS /tmp/ccwvDHH5.s page 317 10928 .LBE1082: 10929 .LBE1077: 3385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10930 .loc 1 3385 3 is_stmt 1 view .LVU3073 3385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 10931 .loc 1 3385 6 is_stmt 0 view .LVU3074 10932 0078 8023 movs r3, #128 10933 007a 5B01 lsls r3, r3, #5 10934 007c 8268 ldr r2, [r0, #8] 10935 007e 9A42 cmp r2, r3 10936 0080 1ED0 beq .L420 10937 .L416: 3391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10938 .loc 1 3391 5 is_stmt 1 view .LVU3075 3391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 10939 .loc 1 3391 18 is_stmt 0 view .LVU3076 10940 0082 134B ldr r3, .L421+4 10941 0084 4366 str r3, [r0, #100] 10942 .L417: 3394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10943 .loc 1 3394 3 is_stmt 1 view .LVU3077 3394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 10944 .loc 1 3394 3 view .LVU3078 10945 0086 7423 movs r3, #116 10946 0088 0022 movs r2, #0 10947 008a C254 strb r2, [r0, r3] 3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 10948 .loc 1 3397 3 view .LVU3079 10949 .LBB1084: 3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 10950 .loc 1 3397 3 view .LVU3080 3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 10951 .loc 1 3397 3 view .LVU3081 10952 .LBB1085: 10953 .LBI1085: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10954 .loc 2 382 31 view .LVU3082 10955 .LBB1086: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 10956 .loc 2 384 3 view .LVU3083 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10957 .loc 2 386 3 view .LVU3084 10958 .syntax divided 10959 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10960 008c EFF31081 MRS r1, primask 10961 @ 0 "" 2 10962 .LVL789: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10963 .loc 2 387 3 view .LVU3085 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10964 .loc 2 387 3 is_stmt 0 view .LVU3086 10965 .thumb 10966 .syntax unified 10967 .LBE1086: 10968 .LBE1085: 3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 10969 .loc 1 3397 3 is_stmt 1 view .LVU3087 ARM GAS /tmp/ccwvDHH5.s page 318 10970 .LBB1087: 10971 .LBI1087: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10972 .loc 2 412 27 view .LVU3088 10973 .LBB1088: 10974 .loc 2 414 3 view .LVU3089 10975 0090 733B subs r3, r3, #115 10976 .syntax divided 10977 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10978 0092 83F31088 MSR primask, r3 10979 @ 0 "" 2 10980 .LVL790: 10981 .loc 2 414 3 is_stmt 0 view .LVU3090 10982 .thumb 10983 .syntax unified 10984 .LBE1088: 10985 .LBE1087: 3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 10986 .loc 1 3397 3 is_stmt 1 view .LVU3091 10987 0096 0268 ldr r2, [r0] 10988 0098 1068 ldr r0, [r2] 10989 .LVL791: 3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 10990 .loc 1 3397 3 is_stmt 0 view .LVU3092 10991 009a 2033 adds r3, r3, #32 10992 009c FF33 adds r3, r3, #255 10993 009e 0343 orrs r3, r0 10994 00a0 1360 str r3, [r2] 3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK; 10995 .loc 1 3397 3 is_stmt 1 view .LVU3093 10996 .LVL792: 10997 .LBB1089: 10998 .LBI1089: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10999 .loc 2 412 27 view .LVU3094 11000 .LBB1090: 11001 .loc 2 414 3 view .LVU3095 11002 .syntax divided 11003 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11004 00a2 81F31088 MSR primask, r1 11005 @ 0 "" 2 11006 .LVL793: 11007 .loc 2 414 3 is_stmt 0 view .LVU3096 11008 .thumb 11009 .syntax unified 11010 .LBE1090: 11011 .LBE1089: 11012 .LBE1084: 3398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11013 .loc 1 3398 3 is_stmt 1 view .LVU3097 3399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11014 .loc 1 3399 1 is_stmt 0 view .LVU3098 11015 00a6 0020 movs r0, #0 11016 @ sp needed 11017 .LVL794: 3399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11018 .loc 1 3399 1 view .LVU3099 ARM GAS /tmp/ccwvDHH5.s page 319 11019 00a8 10BD pop {r4, pc} 11020 .LVL795: 11021 .L419: 3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11022 .loc 1 3376 3 is_stmt 1 discriminator 9 view .LVU3100 11023 00aa 0369 ldr r3, [r0, #16] 11024 00ac 002B cmp r3, #0 11025 00ae 03D1 bne .L415 3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11026 .loc 1 3376 3 discriminator 11 view .LVU3101 11027 00b0 5C33 adds r3, r3, #92 11028 00b2 7F22 movs r2, #127 11029 00b4 C252 strh r2, [r0, r3] 11030 00b6 CFE7 b .L411 11031 .L415: 3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11032 .loc 1 3376 3 discriminator 12 view .LVU3102 11033 00b8 5C23 movs r3, #92 11034 00ba 3F22 movs r2, #63 11035 00bc C252 strh r2, [r0, r3] 11036 00be CBE7 b .L411 11037 .LVL796: 11038 .L420: 3385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11039 .loc 1 3385 54 is_stmt 0 discriminator 1 view .LVU3103 11040 00c0 0369 ldr r3, [r0, #16] 11041 00c2 002B cmp r3, #0 11042 00c4 DDD1 bne .L416 3387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11043 .loc 1 3387 5 is_stmt 1 view .LVU3104 3387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11044 .loc 1 3387 18 is_stmt 0 view .LVU3105 11045 00c6 034B ldr r3, .L421+8 11046 00c8 4366 str r3, [r0, #100] 11047 00ca DCE7 b .L417 11048 .L422: 11049 .align 2 11050 .L421: 11051 00cc FF010000 .word 511 11052 00d0 00000000 .word UART_RxISR_8BIT 11053 00d4 00000000 .word UART_RxISR_16BIT 11054 .cfi_endproc 11055 .LFE87: 11057 .section .text.HAL_UART_Receive_IT,"ax",%progbits 11058 .align 1 11059 .global HAL_UART_Receive_IT 11060 .syntax unified 11061 .code 16 11062 .thumb_func 11063 .fpu softvfp 11065 HAL_UART_Receive_IT: 11066 .LVL797: 11067 .LFB50: 1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 11068 .loc 1 1426 1 is_stmt 1 view -0 11069 .cfi_startproc 11070 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/ccwvDHH5.s page 320 11071 @ frame_needed = 0, uses_anonymous_args = 0 1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 11072 .loc 1 1426 1 is_stmt 0 view .LVU3107 11073 0000 70B5 push {r4, r5, r6, lr} 11074 .LCFI52: 11075 .cfi_def_cfa_offset 16 11076 .cfi_offset 4, -16 11077 .cfi_offset 5, -12 11078 .cfi_offset 6, -8 11079 .cfi_offset 14, -4 1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11080 .loc 1 1428 3 is_stmt 1 view .LVU3108 1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11081 .loc 1 1428 12 is_stmt 0 view .LVU3109 11082 0002 C36F ldr r3, [r0, #124] 1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11083 .loc 1 1428 6 view .LVU3110 11084 0004 202B cmp r3, #32 11085 0006 2CD1 bne .L427 1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11086 .loc 1 1430 5 is_stmt 1 view .LVU3111 1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11087 .loc 1 1430 8 is_stmt 0 view .LVU3112 11088 0008 0029 cmp r1, #0 11089 000a 2CD0 beq .L428 1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11090 .loc 1 1430 25 discriminator 1 view .LVU3113 11091 000c 002A cmp r2, #0 11092 000e 2CD0 beq .L429 1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11093 .loc 1 1438 5 is_stmt 1 view .LVU3114 1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11094 .loc 1 1438 8 is_stmt 0 view .LVU3115 11095 0010 8023 movs r3, #128 11096 0012 5B01 lsls r3, r3, #5 11097 0014 8468 ldr r4, [r0, #8] 11098 0016 9C42 cmp r4, r3 11099 0018 1CD0 beq .L432 11100 .L425: 1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11101 .loc 1 1446 5 is_stmt 1 view .LVU3116 1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11102 .loc 1 1446 5 view .LVU3117 11103 001a 7423 movs r3, #116 11104 001c C35C ldrb r3, [r0, r3] 11105 001e 012B cmp r3, #1 11106 0020 25D0 beq .L431 1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11107 .loc 1 1446 5 discriminator 2 view .LVU3118 11108 0022 7423 movs r3, #116 11109 0024 0124 movs r4, #1 11110 0026 C454 strb r4, [r0, r3] 1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11111 .loc 1 1449 5 discriminator 2 view .LVU3119 1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11112 .loc 1 1449 26 is_stmt 0 discriminator 2 view .LVU3120 11113 0028 0023 movs r3, #0 ARM GAS /tmp/ccwvDHH5.s page 321 11114 002a 0366 str r3, [r0, #96] 1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11115 .loc 1 1452 5 is_stmt 1 discriminator 2 view .LVU3121 1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11116 .loc 1 1452 9 is_stmt 0 discriminator 2 view .LVU3122 11117 002c 0368 ldr r3, [r0] 11118 002e 5B68 ldr r3, [r3, #4] 1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11119 .loc 1 1452 8 discriminator 2 view .LVU3123 11120 0030 1B02 lsls r3, r3, #8 11121 0032 0CD5 bpl .L426 1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11122 .loc 1 1455 7 is_stmt 1 view .LVU3124 11123 .LBB1091: 1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11124 .loc 1 1455 7 view .LVU3125 1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11125 .loc 1 1455 7 view .LVU3126 11126 .LBB1092: 11127 .LBI1092: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11128 .loc 2 382 31 view .LVU3127 11129 .LBB1093: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 11130 .loc 2 384 3 view .LVU3128 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11131 .loc 2 386 3 view .LVU3129 11132 .syntax divided 11133 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11134 0034 EFF31085 MRS r5, primask 11135 @ 0 "" 2 11136 .LVL798: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11137 .loc 2 387 3 view .LVU3130 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11138 .loc 2 387 3 is_stmt 0 view .LVU3131 11139 .thumb 11140 .syntax unified 11141 .LBE1093: 11142 .LBE1092: 1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11143 .loc 1 1455 7 is_stmt 1 view .LVU3132 11144 .LBB1094: 11145 .LBI1094: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11146 .loc 2 412 27 view .LVU3133 11147 .LBB1095: 11148 .loc 2 414 3 view .LVU3134 11149 0038 0123 movs r3, #1 11150 .syntax divided 11151 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11152 003a 83F31088 MSR primask, r3 11153 @ 0 "" 2 11154 .LVL799: 11155 .loc 2 414 3 is_stmt 0 view .LVU3135 11156 .thumb 11157 .syntax unified ARM GAS /tmp/ccwvDHH5.s page 322 11158 .LBE1095: 11159 .LBE1094: 1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11160 .loc 1 1455 7 is_stmt 1 view .LVU3136 11161 003e 0468 ldr r4, [r0] 11162 0040 2668 ldr r6, [r4] 11163 0042 8023 movs r3, #128 11164 0044 DB04 lsls r3, r3, #19 11165 0046 3343 orrs r3, r6 11166 0048 2360 str r3, [r4] 1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11167 .loc 1 1455 7 view .LVU3137 11168 .LVL800: 11169 .LBB1096: 11170 .LBI1096: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11171 .loc 2 412 27 view .LVU3138 11172 .LBB1097: 11173 .loc 2 414 3 view .LVU3139 11174 .syntax divided 11175 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11176 004a 85F31088 MSR primask, r5 11177 @ 0 "" 2 11178 .LVL801: 11179 .thumb 11180 .syntax unified 11181 .L426: 11182 .loc 2 414 3 is_stmt 0 view .LVU3140 11183 .LBE1097: 11184 .LBE1096: 11185 .LBE1091: 1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11186 .loc 1 1458 5 is_stmt 1 view .LVU3141 1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11187 .loc 1 1458 13 is_stmt 0 view .LVU3142 11188 004e FFF7FEFF bl UART_Start_Receive_IT 11189 .LVL802: 1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11190 .loc 1 1458 13 view .LVU3143 11191 0052 07E0 b .L424 11192 .LVL803: 11193 .L432: 1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11194 .loc 1 1438 56 discriminator 1 view .LVU3144 11195 0054 0369 ldr r3, [r0, #16] 11196 0056 002B cmp r3, #0 11197 0058 DFD1 bne .L425 1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11198 .loc 1 1440 7 is_stmt 1 view .LVU3145 1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11199 .loc 1 1440 10 is_stmt 0 view .LVU3146 11200 005a CB07 lsls r3, r1, #31 11201 005c DDD5 bpl .L425 1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11202 .loc 1 1442 17 view .LVU3147 11203 005e 0120 movs r0, #1 11204 .LVL804: ARM GAS /tmp/ccwvDHH5.s page 323 1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11205 .loc 1 1442 17 view .LVU3148 11206 0060 00E0 b .L424 11207 .LVL805: 11208 .L427: 1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11209 .loc 1 1462 12 view .LVU3149 11210 0062 0220 movs r0, #2 11211 .LVL806: 11212 .L424: 1464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11213 .loc 1 1464 1 view .LVU3150 11214 @ sp needed 11215 0064 70BD pop {r4, r5, r6, pc} 11216 .LVL807: 11217 .L428: 1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11218 .loc 1 1432 14 view .LVU3151 11219 0066 0120 movs r0, #1 11220 .LVL808: 1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11221 .loc 1 1432 14 view .LVU3152 11222 0068 FCE7 b .L424 11223 .LVL809: 11224 .L429: 1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11225 .loc 1 1432 14 view .LVU3153 11226 006a 0120 movs r0, #1 11227 .LVL810: 1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11228 .loc 1 1432 14 view .LVU3154 11229 006c FAE7 b .L424 11230 .LVL811: 11231 .L431: 1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11232 .loc 1 1446 5 view .LVU3155 11233 006e 0220 movs r0, #2 11234 .LVL812: 1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11235 .loc 1 1446 5 view .LVU3156 11236 0070 F8E7 b .L424 11237 .cfi_endproc 11238 .LFE50: 11240 .section .text.UART_Start_Receive_DMA,"ax",%progbits 11241 .align 1 11242 .global UART_Start_Receive_DMA 11243 .syntax unified 11244 .code 16 11245 .thumb_func 11246 .fpu softvfp 11248 UART_Start_Receive_DMA: 11249 .LVL813: 11250 .LFB88: 3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr = pData; 11251 .loc 1 3413 1 is_stmt 1 view -0 11252 .cfi_startproc 11253 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/ccwvDHH5.s page 324 11254 @ frame_needed = 0, uses_anonymous_args = 0 3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr = pData; 11255 .loc 1 3413 1 is_stmt 0 view .LVU3158 11256 0000 70B5 push {r4, r5, r6, lr} 11257 .LCFI53: 11258 .cfi_def_cfa_offset 16 11259 .cfi_offset 4, -16 11260 .cfi_offset 5, -12 11261 .cfi_offset 6, -8 11262 .cfi_offset 14, -4 11263 0002 0400 movs r4, r0 3414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferSize = Size; 11264 .loc 1 3414 3 is_stmt 1 view .LVU3159 3414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferSize = Size; 11265 .loc 1 3414 21 is_stmt 0 view .LVU3160 11266 0004 4165 str r1, [r0, #84] 3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11267 .loc 1 3415 3 is_stmt 1 view .LVU3161 3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11268 .loc 1 3415 21 is_stmt 0 view .LVU3162 11269 0006 5823 movs r3, #88 11270 0008 C252 strh r2, [r0, r3] 3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 11271 .loc 1 3417 3 is_stmt 1 view .LVU3163 3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 11272 .loc 1 3417 20 is_stmt 0 view .LVU3164 11273 000a 2833 adds r3, r3, #40 11274 000c 0021 movs r1, #0 11275 .LVL814: 3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 11276 .loc 1 3417 20 view .LVU3165 11277 000e C150 str r1, [r0, r3] 3418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11278 .loc 1 3418 3 is_stmt 1 view .LVU3166 3418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11279 .loc 1 3418 18 is_stmt 0 view .LVU3167 11280 0010 5E3B subs r3, r3, #94 11281 0012 C367 str r3, [r0, #124] 3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11282 .loc 1 3420 3 is_stmt 1 view .LVU3168 3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11283 .loc 1 3420 12 is_stmt 0 view .LVU3169 11284 0014 036F ldr r3, [r0, #112] 3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11285 .loc 1 3420 6 view .LVU3170 11286 0016 002B cmp r3, #0 11287 0018 13D0 beq .L434 3423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11288 .loc 1 3423 5 is_stmt 1 view .LVU3171 3423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11289 .loc 1 3423 37 is_stmt 0 view .LVU3172 11290 001a 2249 ldr r1, .L437 11291 001c 9962 str r1, [r3, #40] 3426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11292 .loc 1 3426 5 is_stmt 1 view .LVU3173 3426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11293 .loc 1 3426 10 is_stmt 0 view .LVU3174 ARM GAS /tmp/ccwvDHH5.s page 325 11294 001e 036F ldr r3, [r0, #112] 3426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11295 .loc 1 3426 41 view .LVU3175 11296 0020 2149 ldr r1, .L437+4 11297 0022 D962 str r1, [r3, #44] 3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11298 .loc 1 3429 5 is_stmt 1 view .LVU3176 3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11299 .loc 1 3429 10 is_stmt 0 view .LVU3177 11300 0024 036F ldr r3, [r0, #112] 3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11301 .loc 1 3429 38 view .LVU3178 11302 0026 2149 ldr r1, .L437+8 11303 0028 1963 str r1, [r3, #48] 3432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11304 .loc 1 3432 5 is_stmt 1 view .LVU3179 3432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11305 .loc 1 3432 10 is_stmt 0 view .LVU3180 11306 002a 036F ldr r3, [r0, #112] 3432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11307 .loc 1 3432 38 view .LVU3181 11308 002c 0021 movs r1, #0 11309 002e 5963 str r1, [r3, #52] 3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11310 .loc 1 3435 5 is_stmt 1 view .LVU3182 3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11311 .loc 1 3435 51 is_stmt 0 view .LVU3183 11312 0030 0168 ldr r1, [r0] 11313 0032 2431 adds r1, r1, #36 3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11314 .loc 1 3435 9 view .LVU3184 11315 0034 1300 movs r3, r2 11316 0036 426D ldr r2, [r0, #84] 11317 .LVL815: 3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11318 .loc 1 3435 9 view .LVU3185 11319 0038 006F ldr r0, [r0, #112] 11320 .LVL816: 3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11321 .loc 1 3435 9 view .LVU3186 11322 003a FFF7FEFF bl HAL_DMA_Start_IT 11323 .LVL817: 3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11324 .loc 1 3435 8 view .LVU3187 11325 003e 0028 cmp r0, #0 11326 0040 26D1 bne .L436 11327 .L434: 3448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11328 .loc 1 3448 3 is_stmt 1 view .LVU3188 3448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11329 .loc 1 3448 3 view .LVU3189 11330 0042 7423 movs r3, #116 11331 0044 0022 movs r2, #0 11332 0046 E254 strb r2, [r4, r3] 3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11333 .loc 1 3451 3 view .LVU3190 11334 .LBB1098: ARM GAS /tmp/ccwvDHH5.s page 326 3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11335 .loc 1 3451 3 view .LVU3191 3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11336 .loc 1 3451 3 view .LVU3192 11337 .LBB1099: 11338 .LBI1099: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11339 .loc 2 382 31 view .LVU3193 11340 .LBB1100: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 11341 .loc 2 384 3 view .LVU3194 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11342 .loc 2 386 3 view .LVU3195 11343 .syntax divided 11344 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11345 0048 EFF31080 MRS r0, primask 11346 @ 0 "" 2 11347 .LVL818: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11348 .loc 2 387 3 view .LVU3196 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11349 .loc 2 387 3 is_stmt 0 view .LVU3197 11350 .thumb 11351 .syntax unified 11352 .LBE1100: 11353 .LBE1099: 3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11354 .loc 1 3451 3 is_stmt 1 view .LVU3198 11355 .LBB1101: 11356 .LBI1101: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11357 .loc 2 412 27 view .LVU3199 11358 .LBB1102: 11359 .loc 2 414 3 view .LVU3200 11360 004c 733B subs r3, r3, #115 11361 .syntax divided 11362 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11363 004e 83F31088 MSR primask, r3 11364 @ 0 "" 2 11365 .LVL819: 11366 .loc 2 414 3 is_stmt 0 view .LVU3201 11367 .thumb 11368 .syntax unified 11369 .LBE1102: 11370 .LBE1101: 3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11371 .loc 1 3451 3 is_stmt 1 view .LVU3202 11372 0052 2168 ldr r1, [r4] 11373 0054 0D68 ldr r5, [r1] 11374 0056 0132 adds r2, r2, #1 11375 0058 FF32 adds r2, r2, #255 11376 005a 2A43 orrs r2, r5 11377 005c 0A60 str r2, [r1] 3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11378 .loc 1 3451 3 view .LVU3203 11379 .LVL820: 11380 .LBB1103: ARM GAS /tmp/ccwvDHH5.s page 327 11381 .LBI1103: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11382 .loc 2 412 27 view .LVU3204 11383 .LBB1104: 11384 .loc 2 414 3 view .LVU3205 11385 .syntax divided 11386 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11387 005e 80F31088 MSR primask, r0 11388 @ 0 "" 2 11389 .LVL821: 11390 .loc 2 414 3 is_stmt 0 view .LVU3206 11391 .thumb 11392 .syntax unified 11393 .LBE1104: 11394 .LBE1103: 11395 .LBE1098: 3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11396 .loc 1 3454 3 is_stmt 1 view .LVU3207 11397 .LBB1105: 3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11398 .loc 1 3454 3 view .LVU3208 3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11399 .loc 1 3454 3 view .LVU3209 11400 .LBB1106: 11401 .LBI1106: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11402 .loc 2 382 31 view .LVU3210 11403 .LBB1107: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 11404 .loc 2 384 3 view .LVU3211 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11405 .loc 2 386 3 view .LVU3212 11406 .syntax divided 11407 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11408 0062 EFF31080 MRS r0, primask 11409 @ 0 "" 2 11410 .LVL822: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11411 .loc 2 387 3 view .LVU3213 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11412 .loc 2 387 3 is_stmt 0 view .LVU3214 11413 .thumb 11414 .syntax unified 11415 .LBE1107: 11416 .LBE1106: 3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11417 .loc 1 3454 3 is_stmt 1 view .LVU3215 11418 .LBB1108: 11419 .LBI1108: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11420 .loc 2 412 27 view .LVU3216 11421 .LBB1109: 11422 .loc 2 414 3 view .LVU3217 11423 .syntax divided 11424 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11425 0066 83F31088 MSR primask, r3 11426 @ 0 "" 2 ARM GAS /tmp/ccwvDHH5.s page 328 11427 .LVL823: 11428 .loc 2 414 3 is_stmt 0 view .LVU3218 11429 .thumb 11430 .syntax unified 11431 .LBE1109: 11432 .LBE1108: 3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11433 .loc 1 3454 3 is_stmt 1 view .LVU3219 11434 006a 2168 ldr r1, [r4] 11435 006c 8A68 ldr r2, [r1, #8] 11436 006e 1A43 orrs r2, r3 11437 0070 8A60 str r2, [r1, #8] 3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11438 .loc 1 3454 3 view .LVU3220 11439 .LVL824: 11440 .LBB1110: 11441 .LBI1110: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11442 .loc 2 412 27 view .LVU3221 11443 .LBB1111: 11444 .loc 2 414 3 view .LVU3222 11445 .syntax divided 11446 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11447 0072 80F31088 MSR primask, r0 11448 @ 0 "" 2 11449 .LVL825: 11450 .loc 2 414 3 is_stmt 0 view .LVU3223 11451 .thumb 11452 .syntax unified 11453 .LBE1111: 11454 .LBE1110: 11455 .LBE1105: 3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11456 .loc 1 3458 3 is_stmt 1 view .LVU3224 11457 .LBB1112: 3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11458 .loc 1 3458 3 view .LVU3225 3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11459 .loc 1 3458 3 view .LVU3226 11460 .LBB1113: 11461 .LBI1113: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11462 .loc 2 382 31 view .LVU3227 11463 .LBB1114: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 11464 .loc 2 384 3 view .LVU3228 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11465 .loc 2 386 3 view .LVU3229 11466 .syntax divided 11467 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11468 0076 EFF31081 MRS r1, primask 11469 @ 0 "" 2 11470 .LVL826: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11471 .loc 2 387 3 view .LVU3230 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11472 .loc 2 387 3 is_stmt 0 view .LVU3231 ARM GAS /tmp/ccwvDHH5.s page 329 11473 .thumb 11474 .syntax unified 11475 .LBE1114: 11476 .LBE1113: 3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11477 .loc 1 3458 3 is_stmt 1 view .LVU3232 11478 .LBB1115: 11479 .LBI1115: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11480 .loc 2 412 27 view .LVU3233 11481 .LBB1116: 11482 .loc 2 414 3 view .LVU3234 11483 .syntax divided 11484 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11485 007a 83F31088 MSR primask, r3 11486 @ 0 "" 2 11487 .LVL827: 11488 .loc 2 414 3 is_stmt 0 view .LVU3235 11489 .thumb 11490 .syntax unified 11491 .LBE1116: 11492 .LBE1115: 3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11493 .loc 1 3458 3 is_stmt 1 view .LVU3236 11494 007e 2268 ldr r2, [r4] 11495 0080 9368 ldr r3, [r2, #8] 11496 0082 4020 movs r0, #64 11497 .LVL828: 3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11498 .loc 1 3458 3 is_stmt 0 view .LVU3237 11499 0084 0343 orrs r3, r0 11500 0086 9360 str r3, [r2, #8] 3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11501 .loc 1 3458 3 is_stmt 1 view .LVU3238 11502 .LVL829: 11503 .LBB1117: 11504 .LBI1117: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11505 .loc 2 412 27 view .LVU3239 11506 .LBB1118: 11507 .loc 2 414 3 view .LVU3240 11508 .syntax divided 11509 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11510 0088 81F31088 MSR primask, r1 11511 @ 0 "" 2 11512 .LVL830: 11513 .loc 2 414 3 is_stmt 0 view .LVU3241 11514 .thumb 11515 .syntax unified 11516 .LBE1118: 11517 .LBE1117: 11518 .LBE1112: 3460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11519 .loc 1 3460 3 is_stmt 1 view .LVU3242 3460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11520 .loc 1 3460 10 is_stmt 0 view .LVU3243 11521 008c 0020 movs r0, #0 ARM GAS /tmp/ccwvDHH5.s page 330 11522 .LVL831: 11523 .L435: 3461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11524 .loc 1 3461 1 view .LVU3244 11525 @ sp needed 11526 .LVL832: 3461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11527 .loc 1 3461 1 view .LVU3245 11528 008e 70BD pop {r4, r5, r6, pc} 11529 .LVL833: 11530 .L436: 3438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11531 .loc 1 3438 7 is_stmt 1 view .LVU3246 3438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11532 .loc 1 3438 24 is_stmt 0 view .LVU3247 11533 0090 8023 movs r3, #128 11534 0092 1022 movs r2, #16 11535 0094 E250 str r2, [r4, r3] 3440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11536 .loc 1 3440 7 is_stmt 1 view .LVU3248 3440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11537 .loc 1 3440 7 view .LVU3249 11538 0096 0C3B subs r3, r3, #12 11539 0098 0022 movs r2, #0 11540 009a E254 strb r2, [r4, r3] 3443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11541 .loc 1 3443 7 view .LVU3250 3443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11542 .loc 1 3443 22 is_stmt 0 view .LVU3251 11543 009c 543B subs r3, r3, #84 11544 009e E367 str r3, [r4, #124] 3445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11545 .loc 1 3445 7 is_stmt 1 view .LVU3252 3445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11546 .loc 1 3445 14 is_stmt 0 view .LVU3253 11547 00a0 0120 movs r0, #1 11548 00a2 F4E7 b .L435 11549 .L438: 11550 .align 2 11551 .L437: 11552 00a4 00000000 .word UART_DMAReceiveCplt 11553 00a8 00000000 .word UART_DMARxHalfCplt 11554 00ac 00000000 .word UART_DMAError 11555 .cfi_endproc 11556 .LFE88: 11558 .section .text.HAL_UART_Receive_DMA,"ax",%progbits 11559 .align 1 11560 .global HAL_UART_Receive_DMA 11561 .syntax unified 11562 .code 16 11563 .thumb_func 11564 .fpu softvfp 11566 HAL_UART_Receive_DMA: 11567 .LVL834: 11568 .LFB52: 1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 11569 .loc 1 1574 1 is_stmt 1 view -0 ARM GAS /tmp/ccwvDHH5.s page 331 11570 .cfi_startproc 11571 @ args = 0, pretend = 0, frame = 0 11572 @ frame_needed = 0, uses_anonymous_args = 0 1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 11573 .loc 1 1574 1 is_stmt 0 view .LVU3255 11574 0000 70B5 push {r4, r5, r6, lr} 11575 .LCFI54: 11576 .cfi_def_cfa_offset 16 11577 .cfi_offset 4, -16 11578 .cfi_offset 5, -12 11579 .cfi_offset 6, -8 11580 .cfi_offset 14, -4 1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11581 .loc 1 1576 3 is_stmt 1 view .LVU3256 1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11582 .loc 1 1576 12 is_stmt 0 view .LVU3257 11583 0002 C36F ldr r3, [r0, #124] 1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11584 .loc 1 1576 6 view .LVU3258 11585 0004 202B cmp r3, #32 11586 0006 2CD1 bne .L443 1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11587 .loc 1 1578 5 is_stmt 1 view .LVU3259 1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11588 .loc 1 1578 8 is_stmt 0 view .LVU3260 11589 0008 0029 cmp r1, #0 11590 000a 2CD0 beq .L444 1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11591 .loc 1 1578 25 discriminator 1 view .LVU3261 11592 000c 002A cmp r2, #0 11593 000e 2CD0 beq .L445 1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11594 .loc 1 1586 5 is_stmt 1 view .LVU3262 1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11595 .loc 1 1586 8 is_stmt 0 view .LVU3263 11596 0010 8023 movs r3, #128 11597 0012 5B01 lsls r3, r3, #5 11598 0014 8468 ldr r4, [r0, #8] 11599 0016 9C42 cmp r4, r3 11600 0018 1CD0 beq .L448 11601 .L441: 1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11602 .loc 1 1594 5 is_stmt 1 view .LVU3264 1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11603 .loc 1 1594 5 view .LVU3265 11604 001a 7423 movs r3, #116 11605 001c C35C ldrb r3, [r0, r3] 11606 001e 012B cmp r3, #1 11607 0020 25D0 beq .L447 1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11608 .loc 1 1594 5 discriminator 2 view .LVU3266 11609 0022 7423 movs r3, #116 11610 0024 0124 movs r4, #1 11611 0026 C454 strb r4, [r0, r3] 1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11612 .loc 1 1597 5 discriminator 2 view .LVU3267 1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ARM GAS /tmp/ccwvDHH5.s page 332 11613 .loc 1 1597 26 is_stmt 0 discriminator 2 view .LVU3268 11614 0028 0023 movs r3, #0 11615 002a 0366 str r3, [r0, #96] 1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11616 .loc 1 1600 5 is_stmt 1 discriminator 2 view .LVU3269 1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11617 .loc 1 1600 9 is_stmt 0 discriminator 2 view .LVU3270 11618 002c 0368 ldr r3, [r0] 11619 002e 5B68 ldr r3, [r3, #4] 1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11620 .loc 1 1600 8 discriminator 2 view .LVU3271 11621 0030 1B02 lsls r3, r3, #8 11622 0032 0CD5 bpl .L442 1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11623 .loc 1 1603 7 is_stmt 1 view .LVU3272 11624 .LBB1119: 1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11625 .loc 1 1603 7 view .LVU3273 1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11626 .loc 1 1603 7 view .LVU3274 11627 .LBB1120: 11628 .LBI1120: 382:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11629 .loc 2 382 31 view .LVU3275 11630 .LBB1121: 384:Drivers/CMSIS/Include/cmsis_gcc.h **** 11631 .loc 2 384 3 view .LVU3276 386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11632 .loc 2 386 3 view .LVU3277 11633 .syntax divided 11634 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11635 0034 EFF31085 MRS r5, primask 11636 @ 0 "" 2 11637 .LVL835: 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11638 .loc 2 387 3 view .LVU3278 387:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11639 .loc 2 387 3 is_stmt 0 view .LVU3279 11640 .thumb 11641 .syntax unified 11642 .LBE1121: 11643 .LBE1120: 1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11644 .loc 1 1603 7 is_stmt 1 view .LVU3280 11645 .LBB1122: 11646 .LBI1122: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11647 .loc 2 412 27 view .LVU3281 11648 .LBB1123: 11649 .loc 2 414 3 view .LVU3282 11650 0038 0123 movs r3, #1 11651 .syntax divided 11652 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11653 003a 83F31088 MSR primask, r3 11654 @ 0 "" 2 11655 .LVL836: 11656 .loc 2 414 3 is_stmt 0 view .LVU3283 ARM GAS /tmp/ccwvDHH5.s page 333 11657 .thumb 11658 .syntax unified 11659 .LBE1123: 11660 .LBE1122: 1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11661 .loc 1 1603 7 is_stmt 1 view .LVU3284 11662 003e 0468 ldr r4, [r0] 11663 0040 2668 ldr r6, [r4] 11664 0042 8023 movs r3, #128 11665 0044 DB04 lsls r3, r3, #19 11666 0046 3343 orrs r3, r6 11667 0048 2360 str r3, [r4] 1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11668 .loc 1 1603 7 view .LVU3285 11669 .LVL837: 11670 .LBB1124: 11671 .LBI1124: 412:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11672 .loc 2 412 27 view .LVU3286 11673 .LBB1125: 11674 .loc 2 414 3 view .LVU3287 11675 .syntax divided 11676 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11677 004a 85F31088 MSR primask, r5 11678 @ 0 "" 2 11679 .LVL838: 11680 .thumb 11681 .syntax unified 11682 .L442: 11683 .loc 2 414 3 is_stmt 0 view .LVU3288 11684 .LBE1125: 11685 .LBE1124: 11686 .LBE1119: 1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11687 .loc 1 1606 5 is_stmt 1 view .LVU3289 1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11688 .loc 1 1606 13 is_stmt 0 view .LVU3290 11689 004e FFF7FEFF bl UART_Start_Receive_DMA 11690 .LVL839: 1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11691 .loc 1 1606 13 view .LVU3291 11692 0052 07E0 b .L440 11693 .LVL840: 11694 .L448: 1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11695 .loc 1 1586 56 discriminator 1 view .LVU3292 11696 0054 0369 ldr r3, [r0, #16] 11697 0056 002B cmp r3, #0 11698 0058 DFD1 bne .L441 1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11699 .loc 1 1588 7 is_stmt 1 view .LVU3293 1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** { 11700 .loc 1 1588 10 is_stmt 0 view .LVU3294 11701 005a CB07 lsls r3, r1, #31 11702 005c DDD5 bpl .L441 1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11703 .loc 1 1590 17 view .LVU3295 ARM GAS /tmp/ccwvDHH5.s page 334 11704 005e 0120 movs r0, #1 11705 .LVL841: 1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11706 .loc 1 1590 17 view .LVU3296 11707 0060 00E0 b .L440 11708 .LVL842: 11709 .L443: 1610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11710 .loc 1 1610 12 view .LVU3297 11711 0062 0220 movs r0, #2 11712 .LVL843: 11713 .L440: 1612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11714 .loc 1 1612 1 view .LVU3298 11715 @ sp needed 11716 0064 70BD pop {r4, r5, r6, pc} 11717 .LVL844: 11718 .L444: 1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11719 .loc 1 1580 14 view .LVU3299 11720 0066 0120 movs r0, #1 11721 .LVL845: 1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11722 .loc 1 1580 14 view .LVU3300 11723 0068 FCE7 b .L440 11724 .LVL846: 11725 .L445: 1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11726 .loc 1 1580 14 view .LVU3301 11727 006a 0120 movs r0, #1 11728 .LVL847: 1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } 11729 .loc 1 1580 14 view .LVU3302 11730 006c FAE7 b .L440 11731 .LVL848: 11732 .L447: 1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11733 .loc 1 1594 5 view .LVU3303 11734 006e 0220 movs r0, #2 11735 .LVL849: 1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 11736 .loc 1 1594 5 view .LVU3304 11737 0070 F8E7 b .L440 11738 .cfi_endproc 11739 .LFE52: 11741 .text 11742 .Letext0: 11743 .file 3 "/usr/lib/gcc/arm-none-eabi/8.3.1/include/stdint.h" 11744 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" 11745 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h" 11746 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h" 11747 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h" 11748 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h" 11749 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h" 11750 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" 11751 .file 11 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h" 11752 .file 12 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h" ARM GAS /tmp/ccwvDHH5.s page 335 ARM GAS /tmp/ccwvDHH5.s page 336 DEFINED SYMBOLS *ABS*:0000000000000000 stm32f0xx_hal_uart.c /tmp/ccwvDHH5.s:16 .text.UART_EndTxTransfer:0000000000000000 $t /tmp/ccwvDHH5.s:23 .text.UART_EndTxTransfer:0000000000000000 UART_EndTxTransfer /tmp/ccwvDHH5.s:111 .text.UART_EndRxTransfer:0000000000000000 $t /tmp/ccwvDHH5.s:117 .text.UART_EndRxTransfer:0000000000000000 UART_EndRxTransfer /tmp/ccwvDHH5.s:339 .text.UART_EndRxTransfer:0000000000000058 $d /tmp/ccwvDHH5.s:347 .text.UART_TxISR_8BIT:0000000000000000 $t /tmp/ccwvDHH5.s:353 .text.UART_TxISR_8BIT:0000000000000000 UART_TxISR_8BIT /tmp/ccwvDHH5.s:541 .text.UART_TxISR_16BIT:0000000000000000 $t /tmp/ccwvDHH5.s:547 .text.UART_TxISR_16BIT:0000000000000000 UART_TxISR_16BIT /tmp/ccwvDHH5.s:741 .text.HAL_UART_MspInit:0000000000000000 $t /tmp/ccwvDHH5.s:748 .text.HAL_UART_MspInit:0000000000000000 HAL_UART_MspInit /tmp/ccwvDHH5.s:764 .text.HAL_UART_MspDeInit:0000000000000000 $t /tmp/ccwvDHH5.s:771 .text.HAL_UART_MspDeInit:0000000000000000 HAL_UART_MspDeInit /tmp/ccwvDHH5.s:787 .text.HAL_UART_DeInit:0000000000000000 $t /tmp/ccwvDHH5.s:794 .text.HAL_UART_DeInit:0000000000000000 HAL_UART_DeInit /tmp/ccwvDHH5.s:880 .text.HAL_UART_Transmit_IT:0000000000000000 $t /tmp/ccwvDHH5.s:887 .text.HAL_UART_Transmit_IT:0000000000000000 HAL_UART_Transmit_IT /tmp/ccwvDHH5.s:1106 .text.HAL_UART_Transmit_IT:0000000000000098 $d /tmp/ccwvDHH5.s:1112 .text.HAL_UART_Transmit_DMA:0000000000000000 $t /tmp/ccwvDHH5.s:1119 .text.HAL_UART_Transmit_DMA:0000000000000000 HAL_UART_Transmit_DMA /tmp/ccwvDHH5.s:1372 .text.HAL_UART_Transmit_DMA:00000000000000c8 $d /tmp/ccwvDHH5.s:3412 .text.UART_DMATransmitCplt:0000000000000000 UART_DMATransmitCplt /tmp/ccwvDHH5.s:3715 .text.UART_DMATxHalfCplt:0000000000000000 UART_DMATxHalfCplt /tmp/ccwvDHH5.s:3817 .text.UART_DMAError:0000000000000000 UART_DMAError /tmp/ccwvDHH5.s:1379 .text.HAL_UART_DMAPause:0000000000000000 $t /tmp/ccwvDHH5.s:1386 .text.HAL_UART_DMAPause:0000000000000000 HAL_UART_DMAPause /tmp/ccwvDHH5.s:1718 .text.HAL_UART_DMAPause:0000000000000098 $d /tmp/ccwvDHH5.s:1723 .text.HAL_UART_DMAResume:0000000000000000 $t /tmp/ccwvDHH5.s:1730 .text.HAL_UART_DMAResume:0000000000000000 HAL_UART_DMAResume /tmp/ccwvDHH5.s:2047 .text.HAL_UART_DMAStop:0000000000000000 $t /tmp/ccwvDHH5.s:2054 .text.HAL_UART_DMAStop:0000000000000000 HAL_UART_DMAStop /tmp/ccwvDHH5.s:2324 .text.HAL_UART_Abort:0000000000000000 $t /tmp/ccwvDHH5.s:2331 .text.HAL_UART_Abort:0000000000000000 HAL_UART_Abort /tmp/ccwvDHH5.s:2800 .text.HAL_UART_Abort:0000000000000108 $d /tmp/ccwvDHH5.s:2805 .text.HAL_UART_AbortTransmit:0000000000000000 $t /tmp/ccwvDHH5.s:2812 .text.HAL_UART_AbortTransmit:0000000000000000 HAL_UART_AbortTransmit /tmp/ccwvDHH5.s:3019 .text.HAL_UART_AbortReceive:0000000000000000 $t /tmp/ccwvDHH5.s:3026 .text.HAL_UART_AbortReceive:0000000000000000 HAL_UART_AbortReceive /tmp/ccwvDHH5.s:3378 .text.HAL_UART_AbortReceive:00000000000000b8 $d /tmp/ccwvDHH5.s:3383 .text.HAL_UART_TxCpltCallback:0000000000000000 $t /tmp/ccwvDHH5.s:3390 .text.HAL_UART_TxCpltCallback:0000000000000000 HAL_UART_TxCpltCallback /tmp/ccwvDHH5.s:3406 .text.UART_DMATransmitCplt:0000000000000000 $t /tmp/ccwvDHH5.s:3587 .text.UART_EndTransmit_IT:0000000000000000 $t /tmp/ccwvDHH5.s:3593 .text.UART_EndTransmit_IT:0000000000000000 UART_EndTransmit_IT /tmp/ccwvDHH5.s:3686 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 $t /tmp/ccwvDHH5.s:3693 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 HAL_UART_TxHalfCpltCallback /tmp/ccwvDHH5.s:3709 .text.UART_DMATxHalfCplt:0000000000000000 $t /tmp/ccwvDHH5.s:3742 .text.HAL_UART_RxCpltCallback:0000000000000000 $t /tmp/ccwvDHH5.s:3749 .text.HAL_UART_RxCpltCallback:0000000000000000 HAL_UART_RxCpltCallback /tmp/ccwvDHH5.s:3765 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 $t /tmp/ccwvDHH5.s:3772 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 HAL_UART_RxHalfCpltCallback /tmp/ccwvDHH5.s:3788 .text.HAL_UART_ErrorCallback:0000000000000000 $t /tmp/ccwvDHH5.s:3795 .text.HAL_UART_ErrorCallback:0000000000000000 HAL_UART_ErrorCallback /tmp/ccwvDHH5.s:3811 .text.UART_DMAError:0000000000000000 $t /tmp/ccwvDHH5.s:3915 .text.UART_DMAAbortOnError:0000000000000000 $t ARM GAS /tmp/ccwvDHH5.s page 337 /tmp/ccwvDHH5.s:3921 .text.UART_DMAAbortOnError:0000000000000000 UART_DMAAbortOnError /tmp/ccwvDHH5.s:3957 .text.HAL_UART_AbortCpltCallback:0000000000000000 $t /tmp/ccwvDHH5.s:3964 .text.HAL_UART_AbortCpltCallback:0000000000000000 HAL_UART_AbortCpltCallback /tmp/ccwvDHH5.s:3980 .text.HAL_UART_Abort_IT:0000000000000000 $t /tmp/ccwvDHH5.s:3987 .text.HAL_UART_Abort_IT:0000000000000000 HAL_UART_Abort_IT /tmp/ccwvDHH5.s:4510 .text.HAL_UART_Abort_IT:0000000000000130 $d /tmp/ccwvDHH5.s:4609 .text.UART_DMATxAbortCallback:0000000000000000 UART_DMATxAbortCallback /tmp/ccwvDHH5.s:4523 .text.UART_DMARxAbortCallback:0000000000000000 UART_DMARxAbortCallback /tmp/ccwvDHH5.s:4517 .text.UART_DMARxAbortCallback:0000000000000000 $t /tmp/ccwvDHH5.s:4603 .text.UART_DMATxAbortCallback:0000000000000000 $t /tmp/ccwvDHH5.s:4683 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 $t /tmp/ccwvDHH5.s:4690 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 HAL_UART_AbortTransmitCpltCallback /tmp/ccwvDHH5.s:4706 .text.HAL_UART_AbortTransmit_IT:0000000000000000 $t /tmp/ccwvDHH5.s:4713 .text.HAL_UART_AbortTransmit_IT:0000000000000000 HAL_UART_AbortTransmit_IT /tmp/ccwvDHH5.s:4936 .text.HAL_UART_AbortTransmit_IT:0000000000000084 $d /tmp/ccwvDHH5.s:4947 .text.UART_DMATxOnlyAbortCallback:0000000000000000 UART_DMATxOnlyAbortCallback /tmp/ccwvDHH5.s:4941 .text.UART_DMATxOnlyAbortCallback:0000000000000000 $t /tmp/ccwvDHH5.s:4983 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 $t /tmp/ccwvDHH5.s:4990 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 HAL_UART_AbortReceiveCpltCallback /tmp/ccwvDHH5.s:5006 .text.HAL_UART_AbortReceive_IT:0000000000000000 $t /tmp/ccwvDHH5.s:5013 .text.HAL_UART_AbortReceive_IT:0000000000000000 HAL_UART_AbortReceive_IT /tmp/ccwvDHH5.s:5388 .text.HAL_UART_AbortReceive_IT:00000000000000cc $d /tmp/ccwvDHH5.s:5400 .text.UART_DMARxOnlyAbortCallback:0000000000000000 UART_DMARxOnlyAbortCallback /tmp/ccwvDHH5.s:5394 .text.UART_DMARxOnlyAbortCallback:0000000000000000 $t /tmp/ccwvDHH5.s:5449 .text.HAL_UARTEx_RxEventCallback:0000000000000000 $t /tmp/ccwvDHH5.s:5456 .text.HAL_UARTEx_RxEventCallback:0000000000000000 HAL_UARTEx_RxEventCallback /tmp/ccwvDHH5.s:5473 .text.HAL_UART_IRQHandler:0000000000000000 $t /tmp/ccwvDHH5.s:5480 .text.HAL_UART_IRQHandler:0000000000000000 HAL_UART_IRQHandler /tmp/ccwvDHH5.s:6512 .text.HAL_UART_IRQHandler:00000000000002b0 $d /tmp/ccwvDHH5.s:6521 .text.UART_RxISR_8BIT:0000000000000000 $t /tmp/ccwvDHH5.s:6527 .text.UART_RxISR_8BIT:0000000000000000 UART_RxISR_8BIT /tmp/ccwvDHH5.s:6835 .text.UART_RxISR_8BIT:00000000000000ac $d /tmp/ccwvDHH5.s:6840 .text.UART_RxISR_16BIT:0000000000000000 $t /tmp/ccwvDHH5.s:6846 .text.UART_RxISR_16BIT:0000000000000000 UART_RxISR_16BIT /tmp/ccwvDHH5.s:7156 .text.UART_RxISR_16BIT:00000000000000ac $d /tmp/ccwvDHH5.s:7161 .text.UART_DMARxHalfCplt:0000000000000000 $t /tmp/ccwvDHH5.s:7167 .text.UART_DMARxHalfCplt:0000000000000000 UART_DMARxHalfCplt /tmp/ccwvDHH5.s:7213 .text.UART_DMAReceiveCplt:0000000000000000 $t /tmp/ccwvDHH5.s:7219 .text.UART_DMAReceiveCplt:0000000000000000 UART_DMAReceiveCplt /tmp/ccwvDHH5.s:7538 .text.UART_DMAReceiveCplt:0000000000000090 $d /tmp/ccwvDHH5.s:7543 .text.HAL_UART_ReceiverTimeout_Config:0000000000000000 $t /tmp/ccwvDHH5.s:7550 .text.HAL_UART_ReceiverTimeout_Config:0000000000000000 HAL_UART_ReceiverTimeout_Config /tmp/ccwvDHH5.s:7573 .text.HAL_UART_EnableReceiverTimeout:0000000000000000 $t /tmp/ccwvDHH5.s:7580 .text.HAL_UART_EnableReceiverTimeout:0000000000000000 HAL_UART_EnableReceiverTimeout /tmp/ccwvDHH5.s:7654 .text.HAL_UART_DisableReceiverTimeout:0000000000000000 $t /tmp/ccwvDHH5.s:7661 .text.HAL_UART_DisableReceiverTimeout:0000000000000000 HAL_UART_DisableReceiverTimeout /tmp/ccwvDHH5.s:7733 .text.HAL_UART_DisableReceiverTimeout:0000000000000038 $d /tmp/ccwvDHH5.s:7738 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 $t /tmp/ccwvDHH5.s:7745 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 HAL_MultiProcessor_EnterMuteMode /tmp/ccwvDHH5.s:7766 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 $t /tmp/ccwvDHH5.s:7773 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 HAL_HalfDuplex_EnableTransmitter /tmp/ccwvDHH5.s:7953 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 $t /tmp/ccwvDHH5.s:7960 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 HAL_HalfDuplex_EnableReceiver /tmp/ccwvDHH5.s:8140 .text.HAL_LIN_SendBreak:0000000000000000 $t /tmp/ccwvDHH5.s:8147 .text.HAL_LIN_SendBreak:0000000000000000 HAL_LIN_SendBreak /tmp/ccwvDHH5.s:8208 .text.HAL_UART_GetState:0000000000000000 $t /tmp/ccwvDHH5.s:8215 .text.HAL_UART_GetState:0000000000000000 HAL_UART_GetState ARM GAS /tmp/ccwvDHH5.s page 338 /tmp/ccwvDHH5.s:8244 .text.HAL_UART_GetError:0000000000000000 $t /tmp/ccwvDHH5.s:8251 .text.HAL_UART_GetError:0000000000000000 HAL_UART_GetError /tmp/ccwvDHH5.s:8272 .text.UART_SetConfig:0000000000000000 $t /tmp/ccwvDHH5.s:8279 .text.UART_SetConfig:0000000000000000 UART_SetConfig /tmp/ccwvDHH5.s:8628 .text.UART_SetConfig:0000000000000154 $d /tmp/ccwvDHH5.s:8640 .text.UART_AdvFeatureConfig:0000000000000000 $t /tmp/ccwvDHH5.s:8647 .text.UART_AdvFeatureConfig:0000000000000000 UART_AdvFeatureConfig /tmp/ccwvDHH5.s:8801 .text.UART_AdvFeatureConfig:00000000000000bc $d /tmp/ccwvDHH5.s:8814 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 $t /tmp/ccwvDHH5.s:8821 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 UART_WaitOnFlagUntilTimeout /tmp/ccwvDHH5.s:9207 .text.UART_WaitOnFlagUntilTimeout:00000000000000cc $d /tmp/ccwvDHH5.s:9212 .text.HAL_UART_Transmit:0000000000000000 $t /tmp/ccwvDHH5.s:9219 .text.HAL_UART_Transmit:0000000000000000 HAL_UART_Transmit /tmp/ccwvDHH5.s:9481 .text.HAL_UART_Receive:0000000000000000 $t /tmp/ccwvDHH5.s:9488 .text.HAL_UART_Receive:0000000000000000 HAL_UART_Receive /tmp/ccwvDHH5.s:9831 .text.HAL_UART_Receive:0000000000000150 $d /tmp/ccwvDHH5.s:9836 .text.UART_CheckIdleState:0000000000000000 $t /tmp/ccwvDHH5.s:9843 .text.UART_CheckIdleState:0000000000000000 UART_CheckIdleState /tmp/ccwvDHH5.s:9961 .text.UART_CheckIdleState:000000000000006c $d /tmp/ccwvDHH5.s:9966 .text.HAL_UART_Init:0000000000000000 $t /tmp/ccwvDHH5.s:9973 .text.HAL_UART_Init:0000000000000000 HAL_UART_Init /tmp/ccwvDHH5.s:10081 .text.HAL_UART_Init:0000000000000068 $d /tmp/ccwvDHH5.s:10086 .text.HAL_HalfDuplex_Init:0000000000000000 $t /tmp/ccwvDHH5.s:10093 .text.HAL_HalfDuplex_Init:0000000000000000 HAL_HalfDuplex_Init /tmp/ccwvDHH5.s:10206 .text.HAL_HalfDuplex_Init:0000000000000074 $d /tmp/ccwvDHH5.s:10211 .text.HAL_LIN_Init:0000000000000000 $t /tmp/ccwvDHH5.s:10218 .text.HAL_LIN_Init:0000000000000000 HAL_LIN_Init /tmp/ccwvDHH5.s:10371 .text.HAL_LIN_Init:000000000000009c $d /tmp/ccwvDHH5.s:10376 .text.HAL_MultiProcessor_Init:0000000000000000 $t /tmp/ccwvDHH5.s:10383 .text.HAL_MultiProcessor_Init:0000000000000000 HAL_MultiProcessor_Init /tmp/ccwvDHH5.s:10522 .text.HAL_MultiProcessor_Init:0000000000000094 $d /tmp/ccwvDHH5.s:10528 .text.HAL_MultiProcessor_EnableMuteMode:0000000000000000 $t /tmp/ccwvDHH5.s:10535 .text.HAL_MultiProcessor_EnableMuteMode:0000000000000000 HAL_MultiProcessor_EnableMuteMode /tmp/ccwvDHH5.s:10647 .text.HAL_MultiProcessor_DisableMuteMode:0000000000000000 $t /tmp/ccwvDHH5.s:10654 .text.HAL_MultiProcessor_DisableMuteMode:0000000000000000 HAL_MultiProcessor_DisableMuteMode /tmp/ccwvDHH5.s:10764 .text.HAL_MultiProcessor_DisableMuteMode:0000000000000038 $d /tmp/ccwvDHH5.s:10769 .text.UART_Start_Receive_IT:0000000000000000 $t /tmp/ccwvDHH5.s:10776 .text.UART_Start_Receive_IT:0000000000000000 UART_Start_Receive_IT /tmp/ccwvDHH5.s:11051 .text.UART_Start_Receive_IT:00000000000000cc $d /tmp/ccwvDHH5.s:11058 .text.HAL_UART_Receive_IT:0000000000000000 $t /tmp/ccwvDHH5.s:11065 .text.HAL_UART_Receive_IT:0000000000000000 HAL_UART_Receive_IT /tmp/ccwvDHH5.s:11241 .text.UART_Start_Receive_DMA:0000000000000000 $t /tmp/ccwvDHH5.s:11248 .text.UART_Start_Receive_DMA:0000000000000000 UART_Start_Receive_DMA /tmp/ccwvDHH5.s:11552 .text.UART_Start_Receive_DMA:00000000000000a4 $d /tmp/ccwvDHH5.s:11559 .text.HAL_UART_Receive_DMA:0000000000000000 $t /tmp/ccwvDHH5.s:11566 .text.HAL_UART_Receive_DMA:0000000000000000 HAL_UART_Receive_DMA UNDEFINED SYMBOLS HAL_DMA_Start_IT HAL_DMA_Abort HAL_DMA_GetError HAL_DMA_Abort_IT HAL_UARTEx_WakeupCallback __aeabi_uidiv HAL_RCC_GetPCLK1Freq HAL_RCC_GetSysClockFreq HAL_GetTick ARM GAS /tmp/ccwvDHH5.s page 339