Files

copied
Last update 5 months 6 days by Masakatsu Honda
FilesCubeMXpassion-v2-1build
..
adc.d
adc.lst
adc.o
buzzer.d
buzzer.lst
buzzer.o
config.d
config.lst
config.o
eeprom.d
eeprom.lst
eeprom.o
encodermode.d
encodermode.lst
encodermode.o
gpio.d
gpio.lst
gpio.o
imu.d
imu.lst
imu.o
interrupt.d
interrupt.lst
interrupt.o
led.d
led.lst
led.o
main.d
main.lst
main.o
passion-v2-1.bin
passion-v2-1.elf
passion-v2-1.hex
passion-v2-1.map
pwm.d
pwm.lst
pwm.o
spi.d
spi.lst
spi.o
startup_stm32f405xx.d
startup_stm32f405xx.o
stdout.d
stdout.lst
stdout.o
stm32f4xx_hal.d
stm32f4xx_hal.lst
stm32f4xx_hal.o
stm32f4xx_hal_adc.d
stm32f4xx_hal_adc.lst
stm32f4xx_hal_adc.o
stm32f4xx_hal_adc_ex.d
stm32f4xx_hal_adc_ex.lst
stm32f4xx_hal_adc_ex.o
stm32f4xx_hal_cortex.d
stm32f4xx_hal_cortex.lst
stm32f4xx_hal_cortex.o
stm32f4xx_hal_dma.d
stm32f4xx_hal_dma.lst
stm32f4xx_hal_dma.o
stm32f4xx_hal_dma_ex.d
stm32f4xx_hal_dma_ex.lst
stm32f4xx_hal_dma_ex.o
stm32f4xx_hal_exti.d
stm32f4xx_hal_exti.lst
stm32f4xx_hal_exti.o
stm32f4xx_hal_flash.d
stm32f4xx_hal_flash.lst
stm32f4xx_hal_flash.o
stm32f4xx_hal_flash_ex.d
stm32f4xx_hal_flash_ex.lst
stm32f4xx_hal_flash_ex.o
stm32f4xx_hal_flash_ramfunc.d
stm32f4xx_hal_flash_ramfunc.lst
stm32f4xx_hal_flash_ramfunc.o
stm32f4xx_hal_gpio.d
stm32f4xx_hal_gpio.lst
stm32f4xx_hal_gpio.o
stm32f4xx_hal_msp.d
stm32f4xx_hal_msp.lst
stm32f4xx_hal_msp.o
stm32f4xx_hal_pwr.d
stm32f4xx_hal_pwr.lst
stm32f4xx_hal_pwr.o
stm32f4xx_hal_pwr_ex.d
stm32f4xx_hal_pwr_ex.lst
stm32f4xx_hal_pwr_ex.o
stm32f4xx_hal_rcc.d
stm32f4xx_hal_rcc.lst
stm32f4xx_hal_rcc.o
stm32f4xx_hal_rcc_ex.d
stm32f4xx_hal_rcc_ex.lst
stm32f4xx_hal_rcc_ex.o
stm32f4xx_hal_spi.d
stm32f4xx_hal_spi.lst
stm32f4xx_hal_spi.o
stm32f4xx_hal_tim.d
stm32f4xx_hal_tim.lst
stm32f4xx_hal_tim.o
stm32f4xx_hal_tim_ex.d
stm32f4xx_hal_tim_ex.lst
stm32f4xx_hal_tim_ex.o
stm32f4xx_hal_uart.d
stm32f4xx_hal_uart.lst
stm32f4xx_hal_uart.o
stm32f4xx_it.d
stm32f4xx_it.lst
stm32f4xx_it.o
stm32f4xx_ll_adc.d
stm32f4xx_ll_adc.lst
stm32f4xx_ll_adc.o
syscalls.d
syscalls.lst
syscalls.o
sysmem.d
sysmem.lst
sysmem.o
system_stm32f4xx.d
system_stm32f4xx.lst
system_stm32f4xx.o
test.d
test.lst
test.o
wait.d
wait.lst
wait.o
stm32f4xx_hal_uart.lst
ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 5 .eabi_attribute 28, 1 6 .eabi_attribute 20, 1 7 .eabi_attribute 21, 1 8 .eabi_attribute 23, 3 9 .eabi_attribute 24, 1 10 .eabi_attribute 25, 1 11 .eabi_attribute 26, 1 12 .eabi_attribute 30, 1 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "stm32f4xx_hal_uart.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .section .text.UART_EndTxTransfer,"ax",%progbits 20 .align 1 21 .syntax unified 22 .thumb 23 .thumb_func 25 UART_EndTxTransfer: 26 .LFB290: 27 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c" 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ****************************************************************************** 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @file stm32f4xx_hal_uart.c 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @author MCD Application Team 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART HAL module driver. 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART). 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * + Initialization and de-initialization functions 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * + IO operation functions 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * + Peripheral Control functions 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * + Peripheral State and Errors functions 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ****************************************************************************** 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @attention 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * Copyright (c) 2016 STMicroelectronics. 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * All rights reserved. 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This software is licensed under terms that can be found in the LICENSE file 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * in the root directory of this software component. 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ****************************************************************************** 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ============================================================================== 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### How to use this driver ##### 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ============================================================================== 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The UART HAL driver can be used as follows: 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart). ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 2 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API: 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) Enable the USARTx interface clock. 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) UART pins configuration: 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs. 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the UART TX/RX pins as alternate function pull-up. 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT() 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs): 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority. 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle. 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA() 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs): 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx stream. 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Enable the DMAx interface clock. 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Tx/Rx parameters. 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx stream. 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle. 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** interrupt on the DMA Tx/Rx stream. 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority and enable the NVIC USART IRQ handle 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (used for last byte sending completion detection in DMA non circular mode) 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** flow control and Mode(Receiver/Transmitter) in the huart Init structure. 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_Init() API. 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_HalfDuplex_Init() API. 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the LIN mode, initialize the UART registers by calling the HAL_LIN_Init() API. 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the Multi-Processor mode, initialize the UART registers by calling 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_MultiProcessor_Init() API. 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) The specific UART interrupts (Transmission complete interrupt, 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RXNE interrupt and Error Interrupts) will be managed using the macros 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT() inside the transmit 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and receive process. 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) These APIs (HAL_UART_Init() and HAL_HalfDuplex_Init()) configure also the 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** low level Hardware GPIO, CLOCK, CORTEX...etc) by calling the customized 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit() API. 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Callback registration ##### 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ================================== 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** allows the user to configure dynamically the driver callbacks. 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Use Function HAL_UART_RegisterCallback() to register a user callback. 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Function HAL_UART_RegisterCallback() allows to register following callbacks: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 3 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback. 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback. 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback. 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback. 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) ErrorCallback : Error Callback. 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback. 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback. 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback. 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspInitCallback : UART MspInit. 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit. 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This function takes as parameters the HAL peripheral handle, the Callback ID 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and a pointer to the user callback function. 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Use function HAL_UART_UnRegisterCallback() to reset a callback to the default 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** weak (surcharged) function. 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle, 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and the Callback ID. 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This function allows to reset following callbacks: 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback. 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback. 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback. 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback. 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) ErrorCallback : Error Callback. 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback. 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback. 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback. 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspInitCallback : UART MspInit. 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit. 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** For specific callback RxEventCallback, use dedicated registration/reset functions: 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** respectively HAL_UART_RegisterRxEventCallback() , HAL_UART_UnRegisterRxEventCallback(). 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** By default, after the HAL_UART_Init() and when the state is HAL_UART_STATE_RESET 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** all callbacks are set to the corresponding weak (surcharged) functions: 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** examples HAL_UART_TxCpltCallback(), HAL_UART_RxHalfCpltCallback(). 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Exception done for MspInit and MspDeInit functions that are respectively 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** reset to the legacy weak (surcharged) functions in the HAL_UART_Init() 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_DeInit() only when these callbacks are null (not registered beforehand). 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If not, MspInit or MspDeInit are not null, the HAL_UART_Init() and HAL_UART_DeInit() 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand). 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only. 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Exception done MspInit/MspDeInit that can be registered/unregistered 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user) 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MspInit/DeInit callbacks can be used during the Init/DeInit. 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In that case first register the MspInit/MspDeInit user callbacks 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** using HAL_UART_RegisterCallback() before calling HAL_UART_DeInit() 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** or HAL_UART_Init() function. 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** not defined, the callback registration feature is not available 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and weak (surcharged) callbacks are used. ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 4 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Three operation modes are available within this driver : 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** Polling mode IO operation *** 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ================================= 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Send an amount of data in blocking mode using HAL_UART_Transmit() 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Receive an amount of data in blocking mode using HAL_UART_Receive() 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** Interrupt mode IO operation *** 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** =================================== 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Send an amount of data in non blocking mode using HAL_UART_Transmit_IT() 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At transmission end of transfer HAL_UART_TxCpltCallback is executed and user can 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxCpltCallback 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Receive an amount of data in non blocking mode using HAL_UART_Receive_IT() 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At reception end of transfer HAL_UART_RxCpltCallback is executed and user can 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxCpltCallback 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) In case of transfer Error, HAL_UART_ErrorCallback() function is executed and user can 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_ErrorCallback 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** DMA mode IO operation *** 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ============================== 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Send an amount of data in non blocking mode (DMA) using HAL_UART_Transmit_DMA() 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At transmission end of half transfer HAL_UART_TxHalfCpltCallback is executed and user ca 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxHalfCpltCallback 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At transmission end of transfer HAL_UART_TxCpltCallback is executed and user can 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxCpltCallback 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Receive an amount of data in non blocking mode (DMA) using HAL_UART_Receive_DMA() 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At reception end of half transfer HAL_UART_RxHalfCpltCallback is executed and user can 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxHalfCpltCallback 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At reception end of transfer HAL_UART_RxCpltCallback is executed and user can 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxCpltCallback 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) In case of transfer Error, HAL_UART_ErrorCallback() function is executed and user can 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_ErrorCallback 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Pause the DMA Transfer using HAL_UART_DMAPause() 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Resume the DMA Transfer using HAL_UART_DMAResume() 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Stop the DMA Transfer using HAL_UART_DMAStop() 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] This subsection also provides a set of additional functions providing enhanced reception 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** services to user. (For example, these functions allow application to handle use cases 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** where number of data to be received is unknown). 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Compared to standard reception services which only consider number of received 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** data elements as reception completion criteria, these functions also consider additional ev 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** as triggers for updating reception status to caller : 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Detection of inactivity period (RX line has not been active for a given period). 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) RX inactivity detected by IDLE event, i.e. RX line has been in idle state (normally 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** for 1 frame time, after last received byte. 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) There are two mode of transfer: 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Blocking mode: The reception is performed in polling mode, until either expected number 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** or till IDLE event occurs. Reception is handled only during function execution. 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** When function exits, no data reception could occur. HAL status and number of actually re ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 5 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** are returned by function after finishing transfer. 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Non-Blocking mode: The reception is performed using Interrupts or DMA. 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** These API's return the HAL status. 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The end of the data processing will be indicated through the 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when using DMA mode. 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UARTEx_RxEventCallback() user callback will be executed during Receive process 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a reception error is det 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Blocking mode API: 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UARTEx_ReceiveToIdle() 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API with Interrupt: 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UARTEx_ReceiveToIdle_IT() 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API with DMA: 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UARTEx_ReceiveToIdle_DMA() 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** UART HAL driver macros list *** 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ============================================= 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Below the list of most used macros in UART HAL driver. 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_ENABLE: Enable the UART peripheral 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_DISABLE: Disable the UART peripheral 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_GET_FLAG : Check whether the specified UART flag is set or not 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_CLEAR_FLAG : Clear the specified UART pending flag 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_ENABLE_IT: Enable the specified UART interrupt 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_DISABLE_IT: Disable the specified UART interrupt 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_GET_IT_SOURCE: Check whether the specified UART interrupt has occurred or not 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) You can refer to the UART HAL driver header file for more useful macros 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) Additional remark: If the parity is enabled, then the MSB bit of the data written 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit. 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Depending on the frame length defined by the M bit (8-bits or 9-bits), 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the possible UART frame formats are as listed in the following table: 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** +-------------------------------------------------------------+ 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | M bit | PCE bit | UART frame | 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------------------|---------------------------------------| 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 0 | 0 | | SB | 8 bit data | STB | | 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------|-----------|---------------------------------------| 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 0 | 1 | | SB | 7 bit data | PB | STB | | 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------|-----------|---------------------------------------| 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 1 | 0 | | SB | 9 bit data | STB | | 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------|-----------|---------------------------------------| 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 1 | 1 | | SB | 8 bit data | PB | STB | | 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** +-------------------------------------------------------------+ 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ****************************************************************************** 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/ 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #include "stm32f4xx_hal.h" 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 6 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup STM32F4xx_HAL_Driver 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{ 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART UART 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief HAL UART module driver 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{ 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/ 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/ 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup UART_Private_Constants 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{ 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @} 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private macro -------------------------------------------------------------*/ 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/ 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/ 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup UART_Private_Functions UART Private Functions 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{ 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart); 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart); 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart); 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma); 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma); 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma); 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma); 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma); 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma); 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma); 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma); 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma); 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma); 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart); 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart); 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart); 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, Flag 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout); 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_SetConfig(UART_HandleTypeDef *huart); 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @} 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Exported functions ---------------------------------------------------------*/ 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{ 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 7 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initialization and Configuration functions 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** =============================================================================== 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Initialization and Configuration functions ##### 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** =============================================================================== 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in asynchronous mode. 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) For the asynchronous mode only these parameters can be configured: 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Baud Rate 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Word Length 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Stop Bit 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit. 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Depending on the frame length defined by the M bit (8-bits or 9-bits), 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** please refer to Reference manual for possible UART frame formats. 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Hardware flow control 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Receiver/transmitter modes 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Over Sampling Method 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init() and HAL_MultiProcessor_Init() APIs 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** follow respectively the UART asynchronous, UART Half duplex, LIN and Multi-Processor configurat 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** procedures (details for the procedures are available in reference manual 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (RM0430 for STM32F4X3xx MCUs and RM0402 for STM32F412xx MCUs 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RM0383 for STM32F411xC/E MCUs and RM0401 for STM32F410xx MCUs 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RM0090 for STM32F4X5xx/STM32F4X7xx/STM32F429xx/STM32F439xx MCUs 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RM0390 for STM32F446xx MCUs and RM0386 for STM32F469xx/STM32F479xx MCUs)). 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{ 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the UART mode according to the specified parameters in 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the UART_InitTypeDef and create the associated handle. 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart) 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */ 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL) 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */ 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE) 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* The hardware flow control is available only for USART1, USART2, USART3 and USART6. 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Except for STM32F446xx devices, that is available for USART1, USART2, USART3, USART6, UART4 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance)); 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 8 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance)); 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */ 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart); 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart); 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */ 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */ 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart); 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared: 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/ 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */ 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state */ 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the half-duplex mode according to the specified 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle. ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 9 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart) 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */ 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL) 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */ 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance)); 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */ 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart); 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart); 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */ 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */ 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart); 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared: 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/ 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN)); 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */ 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL); 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */ 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 10 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state*/ 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the LIN mode according to the specified 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle. 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length. 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values: 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_LINBREAKDETECTLENGTH_10B: 10-bit break detection 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_LINBREAKDETECTLENGTH_11B: 11-bit break detection 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength) 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */ 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL) 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the LIN UART instance */ 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the Break detection length parameter */ 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength)); 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_WORD_LENGTH(huart->Init.WordLength)); 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_OVERSAMPLING(huart->Init.OverSampling)); 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */ 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart); 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart); 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 11 545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */ 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */ 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart); 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared: 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - CLKEN bits in the USART_CR2 register, 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/ 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_CLKEN)); 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN)); 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */ 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN); 562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the USART LIN Break detection length. */ 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_LBDL); 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, BreakDetectLength); 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */ 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state*/ 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the Multi-Processor mode according to the specified 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle. 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Address USART address 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param WakeUpMethod specifies the USART wake-up method. 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values: 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_WAKEUPMETHOD_IDLELINE: Wake-up by an idle line detection 588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_WAKEUPMETHOD_ADDRESSMARK: Wake-up by an address mark 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */ 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL) 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */ 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance)); 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 12 602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the Address & wake up method parameters */ 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod)); 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_ADDRESS(Address)); 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */ 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart); 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart); 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */ 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */ 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart); 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In Multi-Processor mode, the following bits must be kept cleared: 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register */ 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the USART address node */ 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_ADD); 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, Address); 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */ 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_WAKE); 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, WakeUpMethod); 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */ 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state */ 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 13 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DeInitializes the UART peripheral. 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart) 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */ 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL) 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */ 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance)); 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the Peripheral */ 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL) 687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DeInit the low level hardware */ 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback(huart); 692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DeInit the low level hardware */ 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspDeInit(huart); 695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlock */ 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart); 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART MSP Init. 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart) ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 14 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart); 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_MspInit could be implemented in the user file 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART MSP DeInit. 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart) 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart); 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_MspDeInit could be implemented in the user file 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Register a User UART Callback 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * To be used instead of the weak predefined callback 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note The HAL_UART_RegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_In 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * HAL_MultiProcessor_Init() to register callbacks for HAL_UART_MSPINIT_CB_ID and HAL_UART 745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart uart handle 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values: 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pCallback pointer to the Callback function 759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C 762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pUART_CallbackTypeDef pCallback) 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pCallback == NULL) 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */ 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 15 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID) 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID : 779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback; 780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID : 783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback = pCallback; 784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID : 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback; 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID : 791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback = pCallback; 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID : 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback = pCallback; 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID : 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback = pCallback; 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID : 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback; 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID : 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback; 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = pCallback; 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = pCallback; 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default : 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */ 820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */ 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR; 824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET) 828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID) ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 16 830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = pCallback; 833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = pCallback; 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default : 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */ 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */ 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR; 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */ 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */ 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR; 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status; 858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Unregister an UART Callback 862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note The HAL_UART_UnRegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_ 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * HAL_LIN_Init(), HAL_MultiProcessor_Init() to un-register callbacks for HAL_UART_MSPINIT 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * and HAL_UART_MSPDEINIT_CB_ID 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart uart handle 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values: 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID 872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID 879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef 882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState) 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 17 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID) 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID : 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID : 894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID : 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID : 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID : 906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID : 910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID : 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak Abort 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID : 918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak Abort 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe 927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default : 930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */ 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */ 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR; 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState) 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID) 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 18 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default : 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */ 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */ 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR; 956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break; 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */ 962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */ 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR; 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status; 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Register a User UART Rx Event Callback 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * To be used instead of the weak predefined callback 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Uart handle 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pCallback Pointer to the Rx Event Callback function 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback(UART_HandleTypeDef *huart, pUART_RxEventCallback 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pCallback == NULL) 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process locked */ 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart); 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback = pCallback; 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 19 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Release Lock */ 1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart); 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status; 1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UnRegister the UART Rx Event Callback 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefine 1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Uart handle 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback(UART_HandleTypeDef *huart) 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process locked */ 1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart); 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak UART Rx Event Callback */ 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR; 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Release Lock */ 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart); 1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status; 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @} 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Transmit and Receive functions 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** =============================================================================== 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### IO operation functions ##### 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** =============================================================================== 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous 1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and Half duplex data transfers. 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) There are two modes of transfer: 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode. 1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL status of all data processing is returned by the same function 1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** after finishing transfer. 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 20 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** or DMA, these API's return the HAL status. 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The end of the data processing will be indicated through the 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** using DMA mode. 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks 1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will be executed respectively at the end of the transmit or receive process 1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Blocking mode API's are : 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Transmit() 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Receive() 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are : 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Transmit_IT() 1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Receive_IT() 1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_IRQHandler() 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are : 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA() 1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Receive_DMA() 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_DMAPause() 1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_DMAResume() 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_DMAStop() 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode: 1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback() 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback() 1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback() 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback() 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_ErrorCallback() 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's : 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Abort() 1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortTransmit() 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortReceive() 1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Abort_IT() 1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT() 1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT() 1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback() 1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback() 1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback() 1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) A Rx Event Reception Callback (Rx event notification) is available for Non_Blocking modes o 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UARTEx_RxEventCallback() 1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories. 1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Errors are handled as follows : 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er 1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error in Inte 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Received character is then retrieved and stored in Rx buffer, Error code is set to allow 1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_ErrorCallback() user callback is executed. Transfer is kept ongoing on UART 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user. 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte 1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode. 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback() use ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 21 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful. 1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{ 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in blocking mode. 1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 provided through pData. 1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent 1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint8_t *pdata8bits; 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint16_t *pdata16bits; 1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U; 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init tickstart for timeout management */ 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tickstart = HAL_GetTick(); 1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size; 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size; 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */ 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = NULL; 1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = pData; 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL; 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->TxXferCount > 0U) 1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 22 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK) 1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT; 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pdata8bits == NULL) 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*pdata16bits & 0x01FFU); 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint8_t)(*pdata8bits & 0xFFU); 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++; 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount--; 1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK) 1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT; 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */ 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY; 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in blocking mode. 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 available through pData. 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32 1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits; 1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits; 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U; 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 23 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init tickstart for timeout management */ 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tickstart = HAL_GetTick(); 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size; 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size; 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */ 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = NULL; 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = pData; 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL; 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the remain data to be received */ 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->RxXferCount > 0U) 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK) 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT; 1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pdata8bits == NULL) 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->DR & 0x01FF); 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) || ((huart->Init.WordLength == UART_WORD 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF); 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F); 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++; 1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount--; 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 24 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY; 1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in non blocking mode. 1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 provided through pData. 1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent 1306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Si 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr = pData; 1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size; 1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size; 1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Transmit data register empty Interrupt */ 1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_TXE); 1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY; 1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in non blocking mode. 1338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 available through pData. 1341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 25 1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set Reception type to Standard reception */ 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return (UART_Start_Receive_IT(huart, pData, Size)); 1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY; 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in DMA mode. 1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 provided through pData. 1373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent 1377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t S 1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint32_t *tmp; 1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr = pData; 1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size; 1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size; 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */ 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 26 1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */ 1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt; 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA error callback */ 1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError; 1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA abort callback */ 1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART transmit DMA stream */ 1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (const uint32_t *)&pData; 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmatx, *(const uint32_t *)tmp, (uint32_t)&huart->Instance->DR, Size); 1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear the TC flag in the SR register by writing 0 to it */ 1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_FLAG_TC); 1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit 1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */ 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY; 1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in DMA mode. 1431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 available through pData. 1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1) the received data contains the parity bit. 1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set Reception type to Standard reception */ 1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return (UART_Start_Receive_DMA(huart, pData, Size)); 1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 27 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY; 1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Pauses the DMA Transfer. 1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 1467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart) 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U; 1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT); 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest) 1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request */ 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR); 1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest) 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request */ 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Resumes the DMA Transfer. 1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart) 1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 1503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART DMA Tx request */ 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer*/ 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_OREFLAG(huart); 1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Re-enable PE and ERR (Frame error, noise error, overrun error) interrupts */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 28 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART DMA Rx request */ 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Stops the DMA Transfer. 1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart) 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U; 1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback() 1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** when calling HAL_DMA_Abort() API the DMA TX/RX Transfer complete interrupt is generated 1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and the correspond call back is executed HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback() 1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */ 1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT); 1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest) 1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream */ 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL) 1550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmatx); 1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart); 1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */ 1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR); 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest) 1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream */ 1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL) 1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmarx); 1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart); 1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 29 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode till either the expected number of data is re 1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note HAL_OK is returned if reception is completed (expected number of data has been received 1576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * or if reception is stopped after IDLE event (less than the expected number of data has 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * In this case, RxLen output parameter indicates number of data available in reception bu 1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M = 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of uint16_t. In this case, Size must indicate the 1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of uint16_t available through pData. 1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 1582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (uint8_t or uint16_t data elements). 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (uint8_t or uint16_t) to be received. 1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param RxLen Number of data elements finally received (could be lower than Size, in case rece 1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration expressed in ms (covers the whole reception sequence). 1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 1587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size 1589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t Timeout) 1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits; 1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits; 1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart; 1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE; 1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 1607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init tickstart for timeout management */ 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tickstart = HAL_GetTick(); 1610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size; 1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size; 1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */ 1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = NULL; 1618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = pData; 1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL; 1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize output number of received elements */ 1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *RxLen = 0U; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 30 1628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* as long as data have to be received */ 1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->RxXferCount > 0U) 1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if IDLE flag is set */ 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE)) 1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear IDLE flag in ISR */ 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart); 1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Set, but no data ever received, clear flag without exiting loop */ 1639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Set, and data has already been received, this means Idle Event is valid : End recepti 1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (*RxLen > 0U) 1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE; 1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 1646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if RXNE flag is set */ 1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RXNE)) 1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pdata8bits == NULL) 1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF); 1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 1656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) || ((huart->Init.WordLength == UART_WO 1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF); 1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F); 1666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++; 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Increment number of received elements */ 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *RxLen += 1U; 1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount--; 1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check for the Timeout */ 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY) 1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) 1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT; 1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 31 1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set number of received elements in output parameter : RxLen */ 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *RxLen = huart->RxXferSize - huart->RxXferCount; 1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY; 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode till either the expected number of data is r 1702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note Reception is initiated by this function call. Further progress of reception is achieved 1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * to UART interrupts raised by RXNE and IDLE events. Callback is called at end of recepti 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * number of received data elements. 1705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M = 1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of uint16_t. In this case, Size must indicate the 1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of uint16_t available through pData. 1708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (uint8_t or uint16_t data elements). 1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (uint8_t or uint16_t) to be received. 1711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 1712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t S 1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status; 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set Reception type to reception till IDLE Event*/ 1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE; 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = UART_Start_Receive_IT(huart, pData, Size); 1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check Rx process has been successfully started */ 1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (status == HAL_OK) 1733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart); 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of errors already pending when reception is started, ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 32 1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Interrupts may have already been raised and lead to reception abortion. 1743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (Overrun error for instance). 1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In such case Reception Type has been reset to HAL_UART_RECEPTION_STANDARD. */ 1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR; 1746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status; 1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY; 1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode till either the expected number of data is receive 1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note Reception is initiated by this function call. Further progress of reception is achieved 1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * to DMA services, transferring automatically received data elements in user reception bu 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * calling registered callbacks at half/end of reception. UART IDLE events are also used t 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * reception phase as ended. In all cases, callback execution will indicate number of rece 1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain 1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the parity bit (MSB position). 1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M = 1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of uint16_t. In this case, Size must indicate the 1767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of uint16_t available through pData. 1768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (uint8_t or uint16_t data elements). 1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (uint8_t or uint16_t) to be received. 1771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 1772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status; 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set Reception type to reception till IDLE Event*/ 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE; 1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = UART_Start_Receive_DMA(huart, pData, Size); 1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check Rx process has been successfully started */ 1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (status == HAL_OK) 1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart); 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 33 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of errors already pending when reception is started, 1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Interrupts may have already been raised and lead to reception abortion. 1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (Overrun error for instance). 1804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In such case Reception Type has been reset to HAL_UART_RECEPTION_STANDARD. */ 1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR; 1806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status; 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY; 1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Provide Rx Event type that has lead to RxEvent callback execution. 1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When HAL_UARTEx_ReceiveToIdle_IT() or HAL_UARTEx_ReceiveToIdle_DMA() API are called, pro 1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of reception process is provided to application through calls of Rx Event callback (eith 1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * HAL_UARTEx_RxEventCallback() or user registered one). As several types of events could o 1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * Half Transfer, or Transfer Complete), this function allows to retrieve the Rx Event type 1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * to Rx Event callback execution. 1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This function is expected to be called within the user implementation of Rx Event Callba 1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * in order to provide the accurate value : 1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * In Interrupt Mode : 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - HAL_UART_RXEVENT_TC : when Reception has been completed (expected nb of data has be 1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - HAL_UART_RXEVENT_IDLE : when Idle event occurred prior reception has been completed 1829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * received data is lower than expected one) 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * In DMA Mode : 1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - HAL_UART_RXEVENT_TC : when Reception has been completed (expected nb of data has be 1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - HAL_UART_RXEVENT_HT : when half of expected nb of data has been received 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - HAL_UART_RXEVENT_IDLE : when Idle event occurred prior reception has been completed 1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * received data is lower than expected one). 1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * In DMA mode, RxEvent callback could be called several times; 1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * When DMA is configured in Normal Mode, HT event does not stop Reception process; 1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * When DMA is configured in Circular Mode, HT, TC or IDLE events don't stop Reception proc 1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval Rx Event Type (returned value will be a value of @ref UART_RxEvent_Type_Values) 1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxEventTypeTypeDef HAL_UARTEx_GetRxEventType(UART_HandleTypeDef *huart) 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return Rx Event type value, as stored in UART handle */ 1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return(huart->RxEventType); 1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode). 1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or 1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations : 1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx) 1853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 34 1856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart) 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream: use blocking DMA Abort API (no callback) */ 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL) 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */ 1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT; 1891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream: use blocking DMA Abort API (no callback) */ 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL) 1903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 35 1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT; 1916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */ 1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U; 1923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 1924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */ 1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState and huart->gState to Ready */ 1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode). 1938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations : 1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx) 1942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY 1945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart) 1949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); 1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream : use blocking DMA Abort API (no callback) */ 1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL) 1960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 36 1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT; 1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx transfer counter */ 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U; 1980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */ 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode). 1989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 1991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations : 1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Rx) 1993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY 1996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 1998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart) 2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream : use blocking DMA Abort API (no callback) */ 2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL) 2018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 37 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */ 2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT; 2031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Rx transfer counter */ 2037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 2038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode). 2048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or 2050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations : 2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx) 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 2053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) 2054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY 2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - At abort completion, call user abort complete callback 2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 2058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 2059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart) 2061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t AbortCplt = 0x01U; 2063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 2069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh 2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** before any call to DMA Abort functions */ 2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Tx Handle is valid */ 2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL) 2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled. 2080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, set it to NULL */ 2081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 38 2084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Rx Handle is valid */ 2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL) 2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled. 2094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, set it to NULL */ 2095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback; 2098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 2102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 2107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable DMA Tx at UART level */ 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 2110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream : use non blocking DMA Abort API (callback) */ 2112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL) 2113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised : 2115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA TX */ 2118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 2119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 2121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 2123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x00U; 2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream : use non blocking DMA Abort API (callback) */ 2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL) 2136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised : 2138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA RX */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 39 2141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 2144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U; 2145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 2147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x00U; 2149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback * 2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (AbortCplt == 0x01U) 2155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */ 2157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U; 2158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */ 2161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 2164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort complete callback */ 2171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback(huart); 2172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 2173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 2174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 2175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode). 2183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 2184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 2185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations : 2186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx) 2187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 2188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) 2189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY 2190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - At abort completion, call user abort complete callback 2191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 2192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 2193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 2194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart) 2196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 40 2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); 2199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 2202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 2204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream : use blocking DMA Abort API (no callback) */ 2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL) 2207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback; 2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA TX */ 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 2214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */ 2216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx); 2217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 2220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx transfer counter */ 2222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U; 2223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */ 2225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 2230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 2231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 2232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 2233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 2234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 2238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx transfer counter */ 2240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U; 2241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */ 2243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 2248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 2249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 2250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 2251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 2252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 41 2255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode). 2260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 2261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 2262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations : 2263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Rx) 2264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 2265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) 2266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY 2267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - At abort completion, call user abort complete callback 2268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 2269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 2270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 2271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart) 2273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 2279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 2282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream : use blocking DMA Abort API (no callback) */ 2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL) 2291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback; 2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA RX */ 2297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ 2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx); 2301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 2304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Rx transfer counter */ 2306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 2307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 42 2312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 2316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 2317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 2318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 2319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 2323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Rx transfer counter */ 2325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 2326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 2334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 2335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 2336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 2337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 2338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief This function handles UART interrupt request. 2346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 2348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 2349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart) 2351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->SR); 2353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 2354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 2355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t errorflags = 0x00U; 2356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U; 2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If no error occurs */ 2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** errorflags = (isrflags & (uint32_t)(USART_SR_PE | USART_SR_FE | USART_SR_ORE | USART_SR_NE)); 2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (errorflags == RESET) 2361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Receiver -------------------------------------------------*/ 2363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET)) 2364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_Receive_IT(huart); 2366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return; 2367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 43 2369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If some errors occur */ 2371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((errorflags != RESET) && (((cr3its & USART_CR3_EIE) != RESET) 2372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET))) 2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART parity error interrupt occurred ----------------------------------*/ 2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET)) 2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE; 2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART noise error interrupt occurred -----------------------------------*/ 2381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET)) 2382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE; 2384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART frame error interrupt occurred -----------------------------------*/ 2387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET)) 2388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE; 2390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART Over-Run interrupt occurred --------------------------------------*/ 2393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_ORE) != RESET) && (((cr1its & USART_CR1_RXNEIE) != RESET) 2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr3its & USART_CR3_EIE) != RESET))) 2395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE; 2397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call UART Error Call back function if need be --------------------------*/ 2400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE) 2401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Receiver -----------------------------------------------*/ 2403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET)) 2404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_Receive_IT(huart); 2406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Overrun error occurs, or if any error occurs in DMA mode reception, 2409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** consider error as blocking */ 2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR); 2411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest) 2412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Blocking error : transfer is aborted 2414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 2415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */ 2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart); 2417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream */ 2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL) 2425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 44 2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */ 2428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError; 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call Directly XferAbortCallback function in case of error */ 2432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx); 2433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 2436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user error callback */ 2438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/ 2440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart); 2441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 2442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/ 2443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 2448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user error callback */ 2450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/ 2452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart); 2453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 2454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/ 2455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 2460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Non Blocking error : transfer could go on. 2462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Error is notified to user through user error callback */ 2463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/ 2465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart); 2466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 2467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/ 2468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 2472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return; 2475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } /* End if some error occurs */ 2476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check current reception Mode : 2478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 2479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 2480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((isrflags & USART_SR_IDLE) != 0U) 2481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((cr1its & USART_SR_IDLE) != 0U)) 2482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 45 2483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart); 2484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if DMA mode is enabled in UART */ 2486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA mode enabled */ 2489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing, 2490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (DMA cplt callback will be called). 2491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to 2492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx); 2493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 2494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 2495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reception is not complete */ 2497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = nb_remaining_rx_data; 2498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In Normal mode, end DMA xfer and HAL UART Rx process*/ 2500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx->Init.Mode != DMA_CIRCULAR) 2501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 2503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 2504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit 2507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */ 2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 2511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 2515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Last bytes received, so no need as the abort is immediate */ 2517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (void)HAL_DMA_Abort(huart->hdmarx); 2518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 2521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In this case, Rx Event type is Idle Event */ 2522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE; 2523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 2526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount)); 2527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 2528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 2529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount)); 2530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return; 2533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 2535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA mode not enabled */ 2537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing. 2538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to 2539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 46 2540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 2541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_rx_data > 0U)) 2542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */ 2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 2545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 2550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 2554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 2556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In this case, Rx Event type is Idle Event */ 2557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE; 2558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx complete callback*/ 2561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, nb_rx_data); 2562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 2563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 2564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, nb_rx_data); 2565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return; 2568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/ 2572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_TXE) != RESET) && ((cr1its & USART_CR1_TXEIE) != RESET)) 2573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_Transmit_IT(huart); 2575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return; 2576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Transmitter end --------------------------------------------*/ 2579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_TC) != RESET) && ((cr1its & USART_CR1_TCIE) != RESET)) 2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTransmit_IT(huart); 2582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return; 2583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Tx Transfer completed callbacks. 2588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 2590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 2591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) 2593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart); 2596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 47 2597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_TxCpltCallback could be implemented in the user file 2598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Tx Half Transfer completed callbacks. 2603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 2605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 2606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart) 2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart); 2611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback could be implemented in the user file 2613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Rx Transfer completed callbacks. 2618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 2620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 2621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) 2623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart); 2626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_RxCpltCallback could be implemented in the user file 2628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Rx Half Transfer completed callbacks. 2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 2635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 2636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart) 2638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart); 2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback could be implemented in the user file 2643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART error callbacks. 2648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 2650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 2651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart) 2653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 48 2654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart); 2656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_ErrorCallback could be implemented in the user file 2658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Abort Complete callback. 2663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 2664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 2665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart) 2667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart); 2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file. 2673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Abort Complete callback. 2678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 2679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 2680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart) 2682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart); 2685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file. 2688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Abort Receive Complete callback. 2693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 2694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 2695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart) 2697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart); 2700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file. 2703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Reception Event Callback (Rx event notification called after use of advanced reception 2708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle 2709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Number of data available in application reception buffer (indicates a position in 2710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * reception buffer until which, data are available) ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 49 2711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 2712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) 2714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart); 2717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(Size); 2718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UARTEx_RxEventCallback can be implemented in the user file. 2721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @} 2726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions 2729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART control functions 2730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * 2731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim 2732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ============================================================================== 2733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Peripheral Control functions ##### 2734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ============================================================================== 2735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 2736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART: 2737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API can be helpful to transmit the break character. 2738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API can be helpful to enter the UART in mute mode. 2739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_MultiProcessor_ExitMuteMode() API can be helpful to exit the UART mute mode by software 2740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API to enable the UART transmitter and disables the UART 2741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API to enable the UART receiver and disables the UART trans 2742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim 2744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{ 2745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Transmits break characters. 2749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 2751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 2752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart) 2754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */ 2756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance)); 2757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */ 2759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart); 2760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Send break characters */ 2764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_SBK); 2765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 50 2768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */ 2769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart); 2770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 2772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Enters the UART in mute mode. 2776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 2778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 2779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart) 2781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */ 2783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance)); 2784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */ 2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart); 2787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the USART mute mode by setting the RWU bit in the CR1 register */ 2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RWU); 2792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 2795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */ 2797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart); 2798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 2800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Exits the UART mute mode: wake up software. 2804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 2806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 2807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_ExitMuteMode(UART_HandleTypeDef *huart) 2809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */ 2811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance)); 2812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */ 2814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart); 2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the USART mute mode by clearing the RWU bit in the CR1 register */ 2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RWU); 2820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 2823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 51 2825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart); 2826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 2828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Enables the UART transmitter and disables the UART receiver. 2832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 2834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 2835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart) 2837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U; 2839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */ 2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart); 2842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/ 2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg = huart->Instance->CR1; 2847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear TE and RE bits */ 2849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE)); 2850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */ 2852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg |= (uint32_t)USART_CR1_TE; 2853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Write to USART CR1 */ 2855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** WRITE_REG(huart->Instance->CR1, (uint32_t)tmpreg); 2856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */ 2860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart); 2861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 2863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Enables the UART receiver and disables the UART transmitter. 2867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 2869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 2870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart) 2872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U; 2874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */ 2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart); 2877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/ 2881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg = huart->Instance->CR1; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 52 2882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear TE and RE bits */ 2884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE)); 2885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */ 2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg |= (uint32_t)USART_CR1_RE; 2888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Write to USART CR1 */ 2890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** WRITE_REG(huart->Instance->CR1, (uint32_t)tmpreg); 2891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */ 2895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart); 2896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 2898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @} 2902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Errors functions 2905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART State and Errors functions 2906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * 2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim 2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ============================================================================== 2909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Peripheral State and Errors functions ##### 2910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ============================================================================== 2911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] 2912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to return the State of 2913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART communication process, return Peripheral Errors occurred during communication 2914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** process 2915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_GetState() API can be helpful to check in run-time the state of the UART peripheral 2916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_GetError() check in run-time errors that could be occurred during communication. 2917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim 2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{ 2920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Returns the UART state. 2924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 2926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL state 2927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(const UART_HandleTypeDef *huart) 2929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t temp1 = 0x00U, temp2 = 0x00U; 2931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp1 = huart->gState; 2932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp2 = huart->RxState; 2933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2); 2935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Return the UART error code ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 53 2939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART. 2941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval UART Error Code 2942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t HAL_UART_GetError(const UART_HandleTypeDef *huart) 2944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return huart->ErrorCode; 2946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @} 2950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @} 2954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions 2957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{ 2958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initialize the callbacks to their default values. 2962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 2963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval none 2964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart) 2967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the UART Callback settings */ 2969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC 2970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb 2971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC 2972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb 2973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba 2974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa 2975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm 2976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv 2977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak RxEventCall 2978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 2983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART transmit process complete callback. 2984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains 2985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module. 2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 2987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 2988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma) 2989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 2991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/ 2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) == 0U) 2993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U; 2995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 54 2996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by setting the DMAT bit 2997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */ 2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 2999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Circular mode */ 3005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 3006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Tx complete callback*/ 3009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback(huart); 3010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 3011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ 3012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart); 3013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback 3019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains 3020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module. 3021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 3022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma) 3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 3026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Tx complete callback*/ 3029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback(huart); 3030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 3031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ 3032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart); 3033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART receive process complete callback. 3038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains 3039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module. 3040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 3041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma) 3043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 3045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/ 3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) == 0U) 3048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0U; 3050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 55 3053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by setting the DMAR bit 3056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */ 3057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 3058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event has been selected, Disable IDLE Interrupt */ 3063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 3066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 3070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In this case, Rx Event type is Transfer Complete */ 3071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 3072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check current reception Mode : 3074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */ 3075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 3081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 3083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 3086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In other cases : use Rx Complete callback */ 3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx complete callback*/ 3090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback(huart); 3091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART receive process half complete callback 3100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains 3101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module. 3102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 3103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma) 3105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 3107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 3109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In this case, Rx Event type is Half Transfer */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 56 3110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_HT; 3111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check current reception Mode : 3113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */ 3114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize / 2U); 3119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 3120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize / 2U); 3122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 3125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In other cases : use Rx Half Complete callback */ 3127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Half complete callback*/ 3129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback(huart); 3130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 3131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/ 3132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart); 3133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART communication error callback. 3139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains 3140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module. 3141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 3142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma) 3144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U; 3146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 3147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */ 3149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT); 3150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest) 3151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U; 3153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart); 3154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */ 3157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR); 3158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest) 3159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 3161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart); 3162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA; 3165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 57 3167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart); 3168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 3169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/ 3170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 3171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief This function handles UART Communication Timeout. It waits 3176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * until a flag is no longer in the specified status. 3177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 3178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 3179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Flag specifies the UART flag to check. 3180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Status The actual Flag status (SET or RESET). 3181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Tickstart Tick start value 3182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration 3183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 3184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, Flag 3186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout) 3187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Wait until flag is set */ 3189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status) 3190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check for the Timeout */ 3192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY) 3193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 3195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT; 3198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((READ_BIT(huart->Instance->CR1, USART_CR1_RE) != 0U) && (Flag != UART_FLAG_TXE) && (Flag 3201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_ORE) == SET) 3203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear Overrun Error flag*/ 3205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_OREFLAG(huart); 3206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Blocking error : transfer is aborted 3208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 3209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Disable Rx Interrupts if ongoing */ 3210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart); 3211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_ORE; 3213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */ 3215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart); 3216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR; 3218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 3223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 58 3224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Start Receive operation in interrupt mode. 3227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in Interrupt mode 3228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked, 3229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * i.e. Rx State, buffer address, ... 3230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART Handle is assumed as Locked. 3231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 3233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 3234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 3235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 3237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr = pData; 3239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size; 3240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size; 3241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 3244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 3246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */ 3248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_PE); 3249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_ERR); 3253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Data Register not empty Interrupt */ 3255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_RXNE); 3256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 3258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Start Receive operation in DMA mode. 3262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in DMA mode. 3263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked, 3264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * i.e. Rx State, buffer address, ... 3265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART Handle is assumed as Locked. 3266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 3267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 3268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 3269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 3270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 3272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp; 3274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr = pData; 3276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size; 3277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 3280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 59 3281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */ 3282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt; 3283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */ 3285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt; 3286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA error callback */ 3288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError; 3289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA abort callback */ 3291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 3292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the DMA stream */ 3294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (uint32_t *)&pData; 3295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->DR, *(uint32_t *)tmp, Size); 3296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear the Overrun flag just before enabling the DMA Rx request: can be mandatory for the secon 3298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_OREFLAG(huart); 3299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 3301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */ 3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 3308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit 3310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */ 3311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); 3312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 3314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl 3318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 3319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 3320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart) 3322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 28 .loc 1 3322 1 view -0 29 .cfi_startproc 30 @ args = 0, pretend = 0, frame = 0 31 @ frame_needed = 0, uses_anonymous_args = 0 32 @ link register save eliminated. 33 .LVL0: 34 .L2: 3323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 3324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); 35 .loc 1 3324 3 discriminator 1 view .LVU1 36 .LBB310: 37 .loc 1 3324 3 discriminator 1 view .LVU2 38 .loc 1 3324 3 discriminator 1 view .LVU3 39 .loc 1 3324 3 discriminator 1 view .LVU4 40 0000 0268 ldr r2, [r0] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 60 41 .LVL1: 42 .LBB311: 43 .LBI311: 44 .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.4.1 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 27. May 2021 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/ 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /* 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2021 Arm Limited. All rights reserved. 9:Drivers/CMSIS/Include/cmsis_gcc.h **** * 10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0 11:Drivers/CMSIS/Include/cmsis_gcc.h **** * 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License. 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at 15:Drivers/CMSIS/Include/cmsis_gcc.h **** * 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0 17:Drivers/CMSIS/Include/cmsis_gcc.h **** * 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License. 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 24:Drivers/CMSIS/Include/cmsis_gcc.h **** 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H 27:Drivers/CMSIS/Include/cmsis_gcc.h **** 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */ 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion" 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion" 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter" 33:Drivers/CMSIS/Include/cmsis_gcc.h **** 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */ 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0) 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 38:Drivers/CMSIS/Include/cmsis_gcc.h **** 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */ 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm 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__)) ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 61 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used)) 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak)) 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1))) 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1))) 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1))) 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */ 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; }; 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))- 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; }; 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; 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 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 62 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 **** #ifndef __COMPILER_BARRIER 117:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __COMPILER_BARRIER() __ASM volatile("":::"memory") 118:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 119:Drivers/CMSIS/Include/cmsis_gcc.h **** 120:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ######################### Startup and Lowlevel Init ######################## */ 121:Drivers/CMSIS/Include/cmsis_gcc.h **** 122:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PROGRAM_START 123:Drivers/CMSIS/Include/cmsis_gcc.h **** 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Initializes data and bss sections 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details This default implementations initialized all data and additional bss 127:Drivers/CMSIS/Include/cmsis_gcc.h **** sections relying on .copy.table and .zero.table specified properly 128:Drivers/CMSIS/Include/cmsis_gcc.h **** in the used linker script. 129:Drivers/CMSIS/Include/cmsis_gcc.h **** 130:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE __NO_RETURN void __cmsis_start(void) 132:Drivers/CMSIS/Include/cmsis_gcc.h **** { 133:Drivers/CMSIS/Include/cmsis_gcc.h **** extern void _start(void) __NO_RETURN; 134:Drivers/CMSIS/Include/cmsis_gcc.h **** 135:Drivers/CMSIS/Include/cmsis_gcc.h **** typedef struct { 136:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t const* src; 137:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t* dest; 138:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t wlen; 139:Drivers/CMSIS/Include/cmsis_gcc.h **** } __copy_table_t; 140:Drivers/CMSIS/Include/cmsis_gcc.h **** 141:Drivers/CMSIS/Include/cmsis_gcc.h **** typedef struct { 142:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t* dest; 143:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t wlen; 144:Drivers/CMSIS/Include/cmsis_gcc.h **** } __zero_table_t; 145:Drivers/CMSIS/Include/cmsis_gcc.h **** 146:Drivers/CMSIS/Include/cmsis_gcc.h **** extern const __copy_table_t __copy_table_start__; 147:Drivers/CMSIS/Include/cmsis_gcc.h **** extern const __copy_table_t __copy_table_end__; 148:Drivers/CMSIS/Include/cmsis_gcc.h **** extern const __zero_table_t __zero_table_start__; 149:Drivers/CMSIS/Include/cmsis_gcc.h **** extern const __zero_table_t __zero_table_end__; 150:Drivers/CMSIS/Include/cmsis_gcc.h **** 151:Drivers/CMSIS/Include/cmsis_gcc.h **** for (__copy_table_t const* pTable = &__copy_table_start__; pTable < &__copy_table_end__; ++pTable 152:Drivers/CMSIS/Include/cmsis_gcc.h **** for(uint32_t i=0u; i<pTable->wlen; ++i) { 153:Drivers/CMSIS/Include/cmsis_gcc.h **** pTable->dest[i] = pTable->src[i]; 154:Drivers/CMSIS/Include/cmsis_gcc.h **** } 155:Drivers/CMSIS/Include/cmsis_gcc.h **** } 156:Drivers/CMSIS/Include/cmsis_gcc.h **** 157:Drivers/CMSIS/Include/cmsis_gcc.h **** for (__zero_table_t const* pTable = &__zero_table_start__; pTable < &__zero_table_end__; ++pTable 158:Drivers/CMSIS/Include/cmsis_gcc.h **** for(uint32_t i=0u; i<pTable->wlen; ++i) { 159:Drivers/CMSIS/Include/cmsis_gcc.h **** pTable->dest[i] = 0u; 160:Drivers/CMSIS/Include/cmsis_gcc.h **** } 161:Drivers/CMSIS/Include/cmsis_gcc.h **** } 162:Drivers/CMSIS/Include/cmsis_gcc.h **** 163:Drivers/CMSIS/Include/cmsis_gcc.h **** _start(); 164:Drivers/CMSIS/Include/cmsis_gcc.h **** } 165:Drivers/CMSIS/Include/cmsis_gcc.h **** 166:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PROGRAM_START __cmsis_start 167:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 63 168:Drivers/CMSIS/Include/cmsis_gcc.h **** 169:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INITIAL_SP 170:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INITIAL_SP __StackTop 171:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 172:Drivers/CMSIS/Include/cmsis_gcc.h **** 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STACK_LIMIT 174:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STACK_LIMIT __StackLimit 175:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 176:Drivers/CMSIS/Include/cmsis_gcc.h **** 177:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __VECTOR_TABLE 178:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __VECTOR_TABLE __Vectors 179:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 180:Drivers/CMSIS/Include/cmsis_gcc.h **** 181:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __VECTOR_TABLE_ATTRIBUTE 182:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __VECTOR_TABLE_ATTRIBUTE __attribute__((used, section(".vectors"))) 183:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 184:Drivers/CMSIS/Include/cmsis_gcc.h **** 185:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) 186:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STACK_SEAL 187:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STACK_SEAL __StackSeal 188:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 189:Drivers/CMSIS/Include/cmsis_gcc.h **** 190:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __TZ_STACK_SEAL_SIZE 191:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __TZ_STACK_SEAL_SIZE 8U 192:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 193:Drivers/CMSIS/Include/cmsis_gcc.h **** 194:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __TZ_STACK_SEAL_VALUE 195:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __TZ_STACK_SEAL_VALUE 0xFEF5EDA5FEF5EDA5ULL 196:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 197:Drivers/CMSIS/Include/cmsis_gcc.h **** 198:Drivers/CMSIS/Include/cmsis_gcc.h **** 199:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_STACKSEAL_S (uint32_t* stackTop) { 200:Drivers/CMSIS/Include/cmsis_gcc.h **** *((uint64_t *)stackTop) = __TZ_STACK_SEAL_VALUE; 201:Drivers/CMSIS/Include/cmsis_gcc.h **** } 202:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 203:Drivers/CMSIS/Include/cmsis_gcc.h **** 204:Drivers/CMSIS/Include/cmsis_gcc.h **** 205:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */ 206:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface 207:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions 208:Drivers/CMSIS/Include/cmsis_gcc.h **** @{ 209:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 210:Drivers/CMSIS/Include/cmsis_gcc.h **** 211:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2. 212:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l" 213:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */ 214:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__) 215:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r) 216:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r) 217:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r) 218:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 219:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r) 220:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r) 221:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r) 222:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 223:Drivers/CMSIS/Include/cmsis_gcc.h **** 224:Drivers/CMSIS/Include/cmsis_gcc.h **** /** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 64 225:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation 226:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes. 227:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 228:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop") 229:Drivers/CMSIS/Include/cmsis_gcc.h **** 230:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 231:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt 232:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o 233:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 234:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi":::"memory") 235:Drivers/CMSIS/Include/cmsis_gcc.h **** 236:Drivers/CMSIS/Include/cmsis_gcc.h **** 237:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 238:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event 239:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter 240:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs. 241:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 242:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe":::"memory") 243:Drivers/CMSIS/Include/cmsis_gcc.h **** 244:Drivers/CMSIS/Include/cmsis_gcc.h **** 245:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 246:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event 247:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU. 248:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 249:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev") 250:Drivers/CMSIS/Include/cmsis_gcc.h **** 251:Drivers/CMSIS/Include/cmsis_gcc.h **** 252:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 253:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier 254:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor, 255:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory, 256:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed. 257:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 258:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void) 259:Drivers/CMSIS/Include/cmsis_gcc.h **** { 260:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory"); 261:Drivers/CMSIS/Include/cmsis_gcc.h **** } 262:Drivers/CMSIS/Include/cmsis_gcc.h **** 263:Drivers/CMSIS/Include/cmsis_gcc.h **** 264:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 265:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier 266:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier. 267:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete. 268:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 269:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void) 270:Drivers/CMSIS/Include/cmsis_gcc.h **** { 271:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory"); 272:Drivers/CMSIS/Include/cmsis_gcc.h **** } 273:Drivers/CMSIS/Include/cmsis_gcc.h **** 274:Drivers/CMSIS/Include/cmsis_gcc.h **** 275:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 276:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier 277:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before 278:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion. 279:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 280:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void) 281:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 65 282:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dmb 0xF":::"memory"); 283:Drivers/CMSIS/Include/cmsis_gcc.h **** } 284:Drivers/CMSIS/Include/cmsis_gcc.h **** 285:Drivers/CMSIS/Include/cmsis_gcc.h **** 286:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 287:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (32 bit) 288:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785 289:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 290:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 291:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 292:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value) 293:Drivers/CMSIS/Include/cmsis_gcc.h **** { 294:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) 295:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_bswap32(value); 296:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 297:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 298:Drivers/CMSIS/Include/cmsis_gcc.h **** 299:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); 300:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 301:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 302:Drivers/CMSIS/Include/cmsis_gcc.h **** } 303:Drivers/CMSIS/Include/cmsis_gcc.h **** 304:Drivers/CMSIS/Include/cmsis_gcc.h **** 305:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 306:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit) 307:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 308:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 309:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 310:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 311:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value) 312:Drivers/CMSIS/Include/cmsis_gcc.h **** { 313:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 314:Drivers/CMSIS/Include/cmsis_gcc.h **** 315:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); 316:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 317:Drivers/CMSIS/Include/cmsis_gcc.h **** } 318:Drivers/CMSIS/Include/cmsis_gcc.h **** 319:Drivers/CMSIS/Include/cmsis_gcc.h **** 320:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 321:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit) 322:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For exam 323:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 324:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 325:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 326:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value) 327:Drivers/CMSIS/Include/cmsis_gcc.h **** { 328:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) 329:Drivers/CMSIS/Include/cmsis_gcc.h **** return (int16_t)__builtin_bswap16(value); 330:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 331:Drivers/CMSIS/Include/cmsis_gcc.h **** int16_t result; 332:Drivers/CMSIS/Include/cmsis_gcc.h **** 333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); 334:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 335:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 336:Drivers/CMSIS/Include/cmsis_gcc.h **** } 337:Drivers/CMSIS/Include/cmsis_gcc.h **** 338:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 66 339:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 340:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Rotate Right in unsigned value (32 bit) 341:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v 342:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op1 Value to rotate 343:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op2 Number of Bits to rotate 344:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Rotated value 345:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 346:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2) 347:Drivers/CMSIS/Include/cmsis_gcc.h **** { 348:Drivers/CMSIS/Include/cmsis_gcc.h **** op2 %= 32U; 349:Drivers/CMSIS/Include/cmsis_gcc.h **** if (op2 == 0U) 350:Drivers/CMSIS/Include/cmsis_gcc.h **** { 351:Drivers/CMSIS/Include/cmsis_gcc.h **** return op1; 352:Drivers/CMSIS/Include/cmsis_gcc.h **** } 353:Drivers/CMSIS/Include/cmsis_gcc.h **** return (op1 >> op2) | (op1 << (32U - op2)); 354:Drivers/CMSIS/Include/cmsis_gcc.h **** } 355:Drivers/CMSIS/Include/cmsis_gcc.h **** 356:Drivers/CMSIS/Include/cmsis_gcc.h **** 357:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 358:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Breakpoint 359:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Causes the processor to enter Debug state. 360:Drivers/CMSIS/Include/cmsis_gcc.h **** Debug tools can use this to investigate system state when the instruction at a particula 361:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value is ignored by the processor. 362:Drivers/CMSIS/Include/cmsis_gcc.h **** If required, a debugger can use it to store additional information about the break 363:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 364:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __BKPT(value) __ASM volatile ("bkpt "#value) 365:Drivers/CMSIS/Include/cmsis_gcc.h **** 366:Drivers/CMSIS/Include/cmsis_gcc.h **** 367:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 368:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse bit order of value 369:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the bit order of the given value. 370:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 371:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 372:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 373:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value) 374:Drivers/CMSIS/Include/cmsis_gcc.h **** { 375:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 376:Drivers/CMSIS/Include/cmsis_gcc.h **** 377:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 378:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ 379:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) 380:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM ("rbit %0, %1" : "=r" (result) : "r" (value) ); 381:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 382:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */ 383:Drivers/CMSIS/Include/cmsis_gcc.h **** 384:Drivers/CMSIS/Include/cmsis_gcc.h **** result = value; /* r will be reversed bits of v; first get LSB of v */ 385:Drivers/CMSIS/Include/cmsis_gcc.h **** for (value >>= 1U; value != 0U; value >>= 1U) 386:Drivers/CMSIS/Include/cmsis_gcc.h **** { 387:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= 1U; 388:Drivers/CMSIS/Include/cmsis_gcc.h **** result |= value & 1U; 389:Drivers/CMSIS/Include/cmsis_gcc.h **** s--; 390:Drivers/CMSIS/Include/cmsis_gcc.h **** } 391:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= s; /* shift when v's highest bits are zero */ 392:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 393:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 394:Drivers/CMSIS/Include/cmsis_gcc.h **** } 395:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 67 396:Drivers/CMSIS/Include/cmsis_gcc.h **** 397:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 398:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Count leading zeros 399:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Counts the number of leading zeros of a data value. 400:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to count the leading zeros 401:Drivers/CMSIS/Include/cmsis_gcc.h **** \return number of leading zeros in value 402:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 403:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __CLZ(uint32_t value) 404:Drivers/CMSIS/Include/cmsis_gcc.h **** { 405:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Even though __builtin_clz produces a CLZ instruction on ARM, formally 406:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_clz(0) is undefined behaviour, so handle this case specially. 407:Drivers/CMSIS/Include/cmsis_gcc.h **** This guarantees ARM-compatible results if happening to compile on a non-ARM 408:Drivers/CMSIS/Include/cmsis_gcc.h **** target, and ensures the compiler doesn't decide to activate any 409:Drivers/CMSIS/Include/cmsis_gcc.h **** optimisations using the logic "value was passed to __builtin_clz, so it 410:Drivers/CMSIS/Include/cmsis_gcc.h **** is non-zero". 411:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GCC 7.3 and possibly earlier will optimise this test away, leaving a 412:Drivers/CMSIS/Include/cmsis_gcc.h **** single CLZ instruction. 413:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 414:Drivers/CMSIS/Include/cmsis_gcc.h **** if (value == 0U) 415:Drivers/CMSIS/Include/cmsis_gcc.h **** { 416:Drivers/CMSIS/Include/cmsis_gcc.h **** return 32U; 417:Drivers/CMSIS/Include/cmsis_gcc.h **** } 418:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_clz(value); 419:Drivers/CMSIS/Include/cmsis_gcc.h **** } 420:Drivers/CMSIS/Include/cmsis_gcc.h **** 421:Drivers/CMSIS/Include/cmsis_gcc.h **** 422:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 423:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ 424:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ 425:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) 426:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 427:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (8 bit) 428:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 8 bit value. 429:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data 430:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint8_t at (*ptr) 431:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 432:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __LDREXB(volatile uint8_t *addr) 433:Drivers/CMSIS/Include/cmsis_gcc.h **** { 434:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 435:Drivers/CMSIS/Include/cmsis_gcc.h **** 436:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) 437:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexb %0, %1" : "=r" (result) : "Q" (*addr) ); 438:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 439:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not 440:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern. 441:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 442:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); 443:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 444:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint8_t) result); /* Add explicit type cast here */ 445:Drivers/CMSIS/Include/cmsis_gcc.h **** } 446:Drivers/CMSIS/Include/cmsis_gcc.h **** 447:Drivers/CMSIS/Include/cmsis_gcc.h **** 448:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 449:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (16 bit) 450:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 16 bit values. 451:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data 452:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint16_t at (*ptr) ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 68 453:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 454:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint16_t __LDREXH(volatile uint16_t *addr) 455:Drivers/CMSIS/Include/cmsis_gcc.h **** { 456:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 457:Drivers/CMSIS/Include/cmsis_gcc.h **** 458:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) 459:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, %1" : "=r" (result) : "Q" (*addr) ); 460:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 461:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not 462:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern. 463:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 464:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); 465:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 466:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint16_t) result); /* Add explicit type cast here */ 467:Drivers/CMSIS/Include/cmsis_gcc.h **** } 468:Drivers/CMSIS/Include/cmsis_gcc.h **** 469:Drivers/CMSIS/Include/cmsis_gcc.h **** 470:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 471:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (32 bit) 472:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 32 bit values. 473:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data 474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint32_t at (*ptr) 475:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr) 45 .loc 2 476 31 discriminator 1 view .LVU5 46 .LBB312: 477:Drivers/CMSIS/Include/cmsis_gcc.h **** { 478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 47 .loc 2 478 5 discriminator 1 view .LVU6 479:Drivers/CMSIS/Include/cmsis_gcc.h **** 480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 48 .loc 2 480 4 discriminator 1 view .LVU7 49 0002 02F10C03 add r3, r2, #12 50 .LVL2: 51 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU8 52 .syntax unified 53 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 54 0006 53E8003F ldrex r3, [r3] 55 @ 0 "" 2 56 .LVL3: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 57 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU9 58 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU10 59 .thumb 60 .syntax unified 61 .LBE312: 62 .LBE311: 63 .loc 1 3324 3 discriminator 1 view .LVU11 64 000a 23F0C003 bic r3, r3, #192 65 .LVL4: 66 .loc 1 3324 3 is_stmt 1 discriminator 1 view .LVU12 67 .LBB313: 68 .LBI313: 482:Drivers/CMSIS/Include/cmsis_gcc.h **** } 483:Drivers/CMSIS/Include/cmsis_gcc.h **** 484:Drivers/CMSIS/Include/cmsis_gcc.h **** 485:Drivers/CMSIS/Include/cmsis_gcc.h **** /** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 69 486:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (8 bit) 487:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 8 bit values. 488:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store 489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location 490:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded 491:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed 492:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 493:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *addr) 494:Drivers/CMSIS/Include/cmsis_gcc.h **** { 495:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 496:Drivers/CMSIS/Include/cmsis_gcc.h **** 497:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexb %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) ); 498:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 499:Drivers/CMSIS/Include/cmsis_gcc.h **** } 500:Drivers/CMSIS/Include/cmsis_gcc.h **** 501:Drivers/CMSIS/Include/cmsis_gcc.h **** 502:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 503:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (16 bit) 504:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 16 bit values. 505:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store 506:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location 507:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded 508:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed 509:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 510:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXH(uint16_t value, volatile uint16_t *addr) 511:Drivers/CMSIS/Include/cmsis_gcc.h **** { 512:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 513:Drivers/CMSIS/Include/cmsis_gcc.h **** 514:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexh %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) ); 515:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 516:Drivers/CMSIS/Include/cmsis_gcc.h **** } 517:Drivers/CMSIS/Include/cmsis_gcc.h **** 518:Drivers/CMSIS/Include/cmsis_gcc.h **** 519:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 520:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (32 bit) 521:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 32 bit values. 522:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store 523:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location 524:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded 525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed 526:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr) 69 .loc 2 527 31 discriminator 1 view .LVU13 70 .LBB314: 528:Drivers/CMSIS/Include/cmsis_gcc.h **** { 529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 71 .loc 2 529 4 discriminator 1 view .LVU14 530:Drivers/CMSIS/Include/cmsis_gcc.h **** 531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 72 .loc 2 531 4 discriminator 1 view .LVU15 73 000e 0C32 adds r2, r2, #12 74 .LVL5: 75 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU16 76 .syntax unified 77 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 78 0010 42E80031 strex r1, r3, [r2] 79 @ 0 "" 2 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 70 80 .LVL6: 532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 81 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU17 82 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU18 83 .thumb 84 .syntax unified 85 .LBE314: 86 .LBE313: 87 .loc 1 3324 3 discriminator 1 view .LVU19 88 0014 0029 cmp r1, #0 89 0016 F3D1 bne .L2 90 .LBE310: 91 .loc 1 3324 3 is_stmt 1 discriminator 2 view .LVU20 3325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */ 3327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 92 .loc 1 3327 3 discriminator 2 view .LVU21 93 .loc 1 3327 17 is_stmt 0 discriminator 2 view .LVU22 94 0018 2023 movs r3, #32 95 .LVL7: 96 .loc 1 3327 17 discriminator 2 view .LVU23 97 001a 80F84130 strb r3, [r0, #65] 3328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 98 .loc 1 3328 1 discriminator 2 view .LVU24 99 001e 7047 bx lr 100 .cfi_endproc 101 .LFE290: 103 .section .text.UART_EndRxTransfer,"ax",%progbits 104 .align 1 105 .syntax unified 106 .thumb 107 .thumb_func 109 UART_EndRxTransfer: 110 .LFB291: 3329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp 3332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle. 3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 3334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart) 3336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 111 .loc 1 3336 1 is_stmt 1 view -0 112 .cfi_startproc 113 @ args = 0, pretend = 0, frame = 0 114 @ frame_needed = 0, uses_anonymous_args = 0 115 @ link register save eliminated. 116 .LVL8: 117 .L4: 3337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 118 .loc 1 3338 3 discriminator 1 view .LVU26 119 .LBB315: 120 .loc 1 3338 3 discriminator 1 view .LVU27 121 .loc 1 3338 3 discriminator 1 view .LVU28 122 .loc 1 3338 3 discriminator 1 view .LVU29 123 0000 0268 ldr r2, [r0] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 71 124 .LVL9: 125 .LBB316: 126 .LBI316: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 127 .loc 2 476 31 discriminator 1 view .LVU30 128 .LBB317: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 129 .loc 2 478 5 discriminator 1 view .LVU31 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 130 .loc 2 480 4 discriminator 1 view .LVU32 131 0002 02F10C03 add r3, r2, #12 132 .LVL10: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 133 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU33 134 .syntax unified 135 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 136 0006 53E8003F ldrex r3, [r3] 137 @ 0 "" 2 138 .LVL11: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 139 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU34 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 140 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU35 141 .thumb 142 .syntax unified 143 .LBE317: 144 .LBE316: 145 .loc 1 3338 3 discriminator 1 view .LVU36 146 000a 23F49073 bic r3, r3, #288 147 .LVL12: 148 .loc 1 3338 3 is_stmt 1 discriminator 1 view .LVU37 149 .LBB318: 150 .LBI318: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 151 .loc 2 527 31 discriminator 1 view .LVU38 152 .LBB319: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 153 .loc 2 529 4 discriminator 1 view .LVU39 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 154 .loc 2 531 4 discriminator 1 view .LVU40 155 000e 0C32 adds r2, r2, #12 156 .LVL13: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 157 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU41 158 .syntax unified 159 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 160 0010 42E80031 strex r1, r3, [r2] 161 @ 0 "" 2 162 .LVL14: 163 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU42 164 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU43 165 .thumb 166 .syntax unified 167 .LBE319: 168 .LBE318: 169 .loc 1 3338 3 discriminator 1 view .LVU44 170 0014 0029 cmp r1, #0 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 72 171 0016 F3D1 bne .L4 172 .LVL15: 173 .L5: 174 .loc 1 3338 3 discriminator 1 view .LVU45 175 .LBE315: 176 .loc 1 3338 3 is_stmt 1 discriminator 1 view .LVU46 3339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 177 .loc 1 3339 3 discriminator 1 view .LVU47 178 .LBB320: 179 .loc 1 3339 3 discriminator 1 view .LVU48 180 .loc 1 3339 3 discriminator 1 view .LVU49 181 .loc 1 3339 3 discriminator 1 view .LVU50 182 0018 0268 ldr r2, [r0] 183 .LVL16: 184 .LBB321: 185 .LBI321: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 186 .loc 2 476 31 discriminator 1 view .LVU51 187 .LBB322: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 188 .loc 2 478 5 discriminator 1 view .LVU52 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 189 .loc 2 480 4 discriminator 1 view .LVU53 190 001a 02F11403 add r3, r2, #20 191 .LVL17: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 192 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU54 193 .syntax unified 194 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 195 001e 53E8003F ldrex r3, [r3] 196 @ 0 "" 2 197 .LVL18: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 198 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU55 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 199 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU56 200 .thumb 201 .syntax unified 202 .LBE322: 203 .LBE321: 204 .loc 1 3339 3 discriminator 1 view .LVU57 205 0022 23F00103 bic r3, r3, #1 206 .LVL19: 207 .loc 1 3339 3 is_stmt 1 discriminator 1 view .LVU58 208 .LBB323: 209 .LBI323: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 210 .loc 2 527 31 discriminator 1 view .LVU59 211 .LBB324: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 212 .loc 2 529 4 discriminator 1 view .LVU60 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 213 .loc 2 531 4 discriminator 1 view .LVU61 214 0026 1432 adds r2, r2, #20 215 .LVL20: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 216 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU62 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 73 217 .syntax unified 218 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 219 0028 42E80031 strex r1, r3, [r2] 220 @ 0 "" 2 221 .LVL21: 222 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU63 223 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU64 224 .thumb 225 .syntax unified 226 .LBE324: 227 .LBE323: 228 .loc 1 3339 3 discriminator 1 view .LVU65 229 002c 0029 cmp r1, #0 230 002e F3D1 bne .L5 231 .LBE320: 232 .loc 1 3339 3 is_stmt 1 discriminator 2 view .LVU66 3340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */ 3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 233 .loc 1 3342 3 discriminator 2 view .LVU67 234 .loc 1 3342 12 is_stmt 0 discriminator 2 view .LVU68 235 0030 036B ldr r3, [r0, #48] 236 .LVL22: 237 .loc 1 3342 6 discriminator 2 view .LVU69 238 0032 012B cmp r3, #1 239 0034 05D0 beq .L7 240 .L6: 3343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 241 .loc 1 3344 5 is_stmt 1 discriminator 2 view .LVU70 3345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 242 .loc 1 3348 3 discriminator 2 view .LVU71 243 .loc 1 3348 18 is_stmt 0 discriminator 2 view .LVU72 244 0036 2023 movs r3, #32 245 0038 80F84230 strb r3, [r0, #66] 3349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 246 .loc 1 3349 3 is_stmt 1 discriminator 2 view .LVU73 247 .loc 1 3349 24 is_stmt 0 discriminator 2 view .LVU74 248 003c 0023 movs r3, #0 249 003e 0363 str r3, [r0, #48] 3350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 250 .loc 1 3350 1 discriminator 2 view .LVU75 251 0040 7047 bx lr 252 .L7: 3344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 253 .loc 1 3344 5 is_stmt 1 discriminator 1 view .LVU76 254 .LBB325: 3344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 255 .loc 1 3344 5 discriminator 1 view .LVU77 3344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 256 .loc 1 3344 5 discriminator 1 view .LVU78 3344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 257 .loc 1 3344 5 discriminator 1 view .LVU79 258 0042 0268 ldr r2, [r0] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 74 259 .LVL23: 260 .LBB326: 261 .LBI326: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 262 .loc 2 476 31 discriminator 1 view .LVU80 263 .LBB327: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 264 .loc 2 478 5 discriminator 1 view .LVU81 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 265 .loc 2 480 4 discriminator 1 view .LVU82 266 0044 02F10C03 add r3, r2, #12 267 .LVL24: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 268 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU83 269 .syntax unified 270 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 271 0048 53E8003F ldrex r3, [r3] 272 @ 0 "" 2 273 .LVL25: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 274 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU84 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 275 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU85 276 .thumb 277 .syntax unified 278 .LBE327: 279 .LBE326: 3344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 280 .loc 1 3344 5 discriminator 1 view .LVU86 281 004c 23F01003 bic r3, r3, #16 282 .LVL26: 3344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 283 .loc 1 3344 5 is_stmt 1 discriminator 1 view .LVU87 284 .LBB328: 285 .LBI328: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 286 .loc 2 527 31 discriminator 1 view .LVU88 287 .LBB329: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 288 .loc 2 529 4 discriminator 1 view .LVU89 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 289 .loc 2 531 4 discriminator 1 view .LVU90 290 0050 0C32 adds r2, r2, #12 291 .LVL27: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 292 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU91 293 .syntax unified 294 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 295 0052 42E80031 strex r1, r3, [r2] 296 @ 0 "" 2 297 .LVL28: 298 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU92 299 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU93 300 .thumb 301 .syntax unified 302 .LBE329: 303 .LBE328: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 75 3344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 304 .loc 1 3344 5 discriminator 1 view .LVU94 305 0056 0029 cmp r1, #0 306 0058 F3D1 bne .L7 307 005a ECE7 b .L6 308 .LBE325: 309 .cfi_endproc 310 .LFE291: 312 .section .text.UART_Transmit_IT,"ax",%progbits 313 .align 1 314 .syntax unified 315 .thumb 316 .thumb_func 318 UART_Transmit_IT: 319 .LVL29: 320 .LFB297: 3351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error 3354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence). 3355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains 3356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module. 3357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 3358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma) 3360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 3362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 3363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U; 3364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/ 3367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart); 3368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 3369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/ 3370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 3371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user 3376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request). 3377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no 3378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle. 3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains 3380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module. 3381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 3382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma) 3384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 3386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 3388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if an Abort process is still ongoing */ 3390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL) 3391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 76 3392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL) 3393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return; 3395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba 3399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U; 3400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 3401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */ 3403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 3406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */ 3411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort complete callback */ 3413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback(huart); 3414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 3415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 3416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 3417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user 3422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request). 3423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no 3424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle. 3425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains 3426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module. 3427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 3428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma) 3430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 3432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 3434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if an Abort process is still ongoing */ 3436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL) 3437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL) 3439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return; 3441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba 3445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U; 3446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 3447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 77 3449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 3452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */ 3457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort complete callback */ 3459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback(huart); 3460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 3461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 3462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 3463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to 3468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer) 3469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques 3470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution). 3471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains 3472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module. 3473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 3474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma) 3476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 3478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U; 3480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */ 3482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */ 3485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 3487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 3488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 3489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 3490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 3491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to 3496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer) 3497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques 3498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution). 3499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains 3500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module. 3501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 3502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma) 3504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 78 3506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 3508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 3510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */ 3514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 3516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 3517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 3518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 3519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 3520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in non blocking mode. 3525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 3526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 3527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 3528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart) 3530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 321 .loc 1 3530 1 is_stmt 1 view -0 322 .cfi_startproc 323 @ args = 0, pretend = 0, frame = 0 324 @ frame_needed = 0, uses_anonymous_args = 0 325 @ link register save eliminated. 3531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint16_t *tmp; 326 .loc 1 3531 3 view .LVU96 3532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 3534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 327 .loc 1 3534 3 view .LVU97 328 .loc 1 3534 12 is_stmt 0 view .LVU98 329 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 330 0004 DBB2 uxtb r3, r3 331 .loc 1 3534 6 view .LVU99 332 0006 212B cmp r3, #33 333 0008 01D0 beq .L14 3535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 3537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (const uint16_t *) huart->pTxBuffPtr; 3539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF); 3540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 3541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 3543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint8_t)(*huart->pTxBuffPtr++ & (uint8_t)0x00FF); 3545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (--huart->TxXferCount == 0U) 3548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 79 3550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_TXE); 3551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_TC); 3554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 3556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 3558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY; 334 .loc 1 3559 12 view .LVU100 335 000a 0220 movs r0, #2 336 .LVL30: 3560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 337 .loc 1 3561 1 view .LVU101 338 000c 7047 bx lr 339 .LVL31: 340 .L14: 3536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 341 .loc 1 3536 5 is_stmt 1 view .LVU102 3536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 342 .loc 1 3536 21 is_stmt 0 view .LVU103 343 000e 8368 ldr r3, [r0, #8] 3536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 344 .loc 1 3536 8 view .LVU104 345 0010 B3F5805F cmp r3, #4096 346 0014 17D0 beq .L15 347 .L10: 3544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 348 .loc 1 3544 7 is_stmt 1 view .LVU105 3544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 349 .loc 1 3544 45 is_stmt 0 view .LVU106 350 0016 036A ldr r3, [r0, #32] 3544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 351 .loc 1 3544 57 view .LVU107 352 0018 5A1C adds r2, r3, #1 353 001a 0262 str r2, [r0, #32] 3544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 354 .loc 1 3544 39 view .LVU108 355 001c 1A78 ldrb r2, [r3] @ zero_extendqisi2 3544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 356 .loc 1 3544 12 view .LVU109 357 001e 0368 ldr r3, [r0] 3544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 358 .loc 1 3544 27 view .LVU110 359 0020 5A60 str r2, [r3, #4] 360 .L11: 3547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 361 .loc 1 3547 5 is_stmt 1 view .LVU111 3547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 362 .loc 1 3547 16 is_stmt 0 view .LVU112 363 0022 C38C ldrh r3, [r0, #38] 364 0024 9BB2 uxth r3, r3 3547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 365 .loc 1 3547 9 view .LVU113 366 0026 013B subs r3, r3, #1 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 80 367 0028 9BB2 uxth r3, r3 3547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 368 .loc 1 3547 8 view .LVU114 369 002a C384 strh r3, [r0, #38] @ movhi 370 002c 4BB9 cbnz r3, .L12 3550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 371 .loc 1 3550 7 is_stmt 1 view .LVU115 372 002e 0268 ldr r2, [r0] 373 0030 D368 ldr r3, [r2, #12] 374 0032 23F08003 bic r3, r3, #128 375 0036 D360 str r3, [r2, #12] 3553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 376 .loc 1 3553 7 view .LVU116 377 0038 0268 ldr r2, [r0] 378 003a D368 ldr r3, [r2, #12] 379 003c 43F04003 orr r3, r3, #64 380 0040 D360 str r3, [r2, #12] 381 .L12: 3555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 382 .loc 1 3555 5 view .LVU117 3555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 383 .loc 1 3555 12 is_stmt 0 view .LVU118 384 0042 0020 movs r0, #0 385 .LVL32: 3555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 386 .loc 1 3555 12 view .LVU119 387 0044 7047 bx lr 388 .LVL33: 389 .L15: 3536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 390 .loc 1 3536 71 discriminator 1 view .LVU120 391 0046 0369 ldr r3, [r0, #16] 3536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 392 .loc 1 3536 56 discriminator 1 view .LVU121 393 0048 002B cmp r3, #0 394 004a E4D1 bne .L10 3538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF); 395 .loc 1 3538 7 is_stmt 1 view .LVU122 3538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF); 396 .loc 1 3538 11 is_stmt 0 view .LVU123 397 004c 036A ldr r3, [r0, #32] 398 .LVL34: 3539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 399 .loc 1 3539 7 is_stmt 1 view .LVU124 3539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 400 .loc 1 3539 40 is_stmt 0 view .LVU125 401 004e 1B88 ldrh r3, [r3] 402 .LVL35: 3539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 403 .loc 1 3539 12 view .LVU126 404 0050 0268 ldr r2, [r0] 3539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 405 .loc 1 3539 29 view .LVU127 406 0052 C3F30803 ubfx r3, r3, #0, #9 3539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 407 .loc 1 3539 27 view .LVU128 408 0056 5360 str r3, [r2, #4] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 81 409 .LVL36: 3540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 410 .loc 1 3540 7 is_stmt 1 view .LVU129 3540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 411 .loc 1 3540 25 is_stmt 0 view .LVU130 412 0058 036A ldr r3, [r0, #32] 413 005a 0233 adds r3, r3, #2 414 005c 0362 str r3, [r0, #32] 415 005e E0E7 b .L11 416 .cfi_endproc 417 .LFE297: 419 .global __aeabi_uldivmod 420 .section .text.UART_SetConfig,"ax",%progbits 421 .align 1 422 .syntax unified 423 .thumb 424 .thumb_func 426 UART_SetConfig: 427 .LVL37: 428 .LFB300: 3562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Wraps up transmission in non blocking mode. 3565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 3566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 3567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 3568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart) 3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */ 3572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_TC); 3573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */ 3575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Tx complete callback*/ 3579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback(huart); 3580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 3581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ 3582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart); 3583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 3586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in non blocking mode 3590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 3591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 3592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status 3593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart) 3595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits; 3597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits; 3598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 82 3599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 3600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 3601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 3603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = NULL; 3605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) huart->pRxBuffPtr; 3606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF); 3607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 3608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 3610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = (uint8_t *) huart->pRxBuffPtr; 3612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL; 3613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) || ((huart->Init.WordLength == UART_WORDLE 3615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF); 3617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 3619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F); 3621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 1U; 3623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (--huart->RxXferCount == 0U) 3626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Data Register not empty Interrupt */ 3628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_RXNE); 3629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt */ 3631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_PE); 3632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_ERR); 3635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 3637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */ 3640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 3641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check current reception Mode : 3643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 3644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set reception type to Standard */ 3647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable IDLE interrupt */ 3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 3651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if IDLE flag is set */ 3653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE)) 3654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear IDLE flag in ISR */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 83 3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart); 3657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 3662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 3663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 3665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 3668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Standard reception API called */ 3670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx complete callback*/ 3672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback(huart); 3673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 3674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 3680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK; 3682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 3684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY; 3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** 3690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Configures the UART peripheral. 3691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module. 3693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None 3694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */ 3695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_SetConfig(UART_HandleTypeDef *huart) 3696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 429 .loc 1 3696 1 is_stmt 1 view -0 430 .cfi_startproc 431 @ args = 0, pretend = 0, frame = 0 432 @ frame_needed = 0, uses_anonymous_args = 0 433 .loc 1 3696 1 is_stmt 0 view .LVU132 434 0000 38B5 push {r3, r4, r5, lr} 435 .LCFI0: 436 .cfi_def_cfa_offset 16 437 .cfi_offset 3, -16 438 .cfi_offset 4, -12 439 .cfi_offset 5, -8 440 .cfi_offset 14, -4 441 0002 0446 mov r4, r0 3697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg; 442 .loc 1 3697 3 is_stmt 1 view .LVU133 3698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t pclk; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 84 443 .loc 1 3698 3 view .LVU134 3699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */ 3701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate)); 444 .loc 1 3701 3 view .LVU135 3702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits)); 445 .loc 1 3702 3 view .LVU136 3703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity)); 446 .loc 1 3703 3 view .LVU137 3704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 447 .loc 1 3704 3 view .LVU138 3705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/ 3707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits 3708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** according to huart->Init.StopBits value */ 3709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits); 448 .loc 1 3709 3 view .LVU139 449 0004 0268 ldr r2, [r0] 450 0006 1369 ldr r3, [r2, #16] 451 0008 23F44053 bic r3, r3, #12288 452 000c C168 ldr r1, [r0, #12] 453 000e 0B43 orrs r3, r3, r1 454 0010 1361 str r3, [r2, #16] 3710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/ 3712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Configure the UART Word Length, Parity and mode: 3713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set the M bits according to huart->Init.WordLength value 3714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set PCE and PS bits according to huart->Init.Parity value 3715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set TE and RE bits according to huart->Init.Mode value 3716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set OVER8 bit according to huart->Init.OverSampling value */ 3717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O 455 .loc 1 3718 3 view .LVU140 456 .loc 1 3718 33 is_stmt 0 view .LVU141 457 0012 8368 ldr r3, [r0, #8] 458 .loc 1 3718 58 view .LVU142 459 0014 0269 ldr r2, [r0, #16] 460 .loc 1 3718 45 view .LVU143 461 0016 1343 orrs r3, r3, r2 462 .loc 1 3718 79 view .LVU144 463 0018 4269 ldr r2, [r0, #20] 464 .loc 1 3718 66 view .LVU145 465 001a 1343 orrs r3, r3, r2 466 .loc 1 3718 98 view .LVU146 467 001c C269 ldr r2, [r0, #28] 468 .loc 1 3718 10 view .LVU147 469 001e 1A43 orrs r2, r2, r3 470 .LVL38: 3719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, 471 .loc 1 3719 3 is_stmt 1 view .LVU148 472 0020 0168 ldr r1, [r0] 473 0022 CB68 ldr r3, [r1, #12] 474 0024 23F41643 bic r3, r3, #38400 475 0028 23F00C03 bic r3, r3, #12 476 002c 1343 orrs r3, r3, r2 477 002e CB60 str r3, [r1, #12] 3720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | USART_CR1_RE | ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 85 3721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg); 3722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/ 3724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Configure the UART HFC: Set CTSE and RTSE bits according to huart->Init.HwFlowCtl value */ 3725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, (USART_CR3_RTSE | USART_CR3_CTSE), huart->Init.HwFlowCtl); 478 .loc 1 3725 3 view .LVU149 479 0030 0268 ldr r2, [r0] 480 .LVL39: 481 .loc 1 3725 3 is_stmt 0 view .LVU150 482 0032 5369 ldr r3, [r2, #20] 483 0034 23F44073 bic r3, r3, #768 484 0038 8169 ldr r1, [r0, #24] 485 003a 0B43 orrs r3, r3, r1 486 003c 5361 str r3, [r2, #20] 3726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if defined(USART6) && defined(UART9) && defined(UART10) 3729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Instance == USART1) || (huart->Instance == USART6) || (huart->Instance == UART9) || 3730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq(); 3732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #elif defined(USART6) 3734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Instance == USART1) || (huart->Instance == USART6)) 487 .loc 1 3734 5 is_stmt 1 view .LVU151 488 .loc 1 3734 15 is_stmt 0 view .LVU152 489 003e 0368 ldr r3, [r0] 490 .loc 1 3734 8 view .LVU153 491 0040 314A ldr r2, .L24 492 0042 9342 cmp r3, r2 493 0044 06D0 beq .L17 494 .loc 1 3734 37 discriminator 1 view .LVU154 495 0046 02F58062 add r2, r2, #1024 496 004a 9342 cmp r3, r2 497 004c 02D0 beq .L17 3735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq(); 3737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else 3739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Instance == USART1) 3740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq(); 3742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USART6 */ 3744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 3745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 498 .loc 1 3746 7 is_stmt 1 view .LVU155 499 .loc 1 3746 14 is_stmt 0 view .LVU156 500 004e FFF7FEFF bl HAL_RCC_GetPCLK1Freq 501 .LVL40: 502 .loc 1 3746 14 view .LVU157 503 0052 01E0 b .L19 504 .LVL41: 505 .L17: 3736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 506 .loc 1 3736 7 is_stmt 1 view .LVU158 3736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 86 507 .loc 1 3736 14 is_stmt 0 view .LVU159 508 0054 FFF7FEFF bl HAL_RCC_GetPCLK2Freq 509 .LVL42: 510 .L19: 3747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART BRR Configuration ---------------------*/ 3749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8) 511 .loc 1 3749 3 is_stmt 1 view .LVU160 512 .loc 1 3749 18 is_stmt 0 view .LVU161 513 0058 E369 ldr r3, [r4, #28] 514 .loc 1 3749 6 view .LVU162 515 005a B3F5004F cmp r3, #32768 516 005e 29D0 beq .L23 3750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING8(pclk, huart->Init.BaudRate); 3752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else 3754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING16(pclk, huart->Init.BaudRate); 517 .loc 1 3755 5 is_stmt 1 view .LVU163 518 .loc 1 3755 28 is_stmt 0 view .LVU164 519 0060 0021 movs r1, #0 520 0062 0318 adds r3, r0, r0 521 0064 4941 adcs r1, r1, r1 522 0066 1B18 adds r3, r3, r0 523 0068 41F10001 adc r1, r1, #0 524 006c C900 lsls r1, r1, #3 525 006e 41EA5371 orr r1, r1, r3, lsr #29 526 0072 DB00 lsls r3, r3, #3 527 0074 1818 adds r0, r3, r0 528 .LVL43: 529 .loc 1 3755 28 view .LVU165 530 0076 6368 ldr r3, [r4, #4] 531 0078 4FEA8302 lsl r2, r3, #2 532 007c 4FEA9373 lsr r3, r3, #30 533 0080 41F10001 adc r1, r1, #0 534 0084 FFF7FEFF bl __aeabi_uldivmod 535 .LVL44: 536 0088 204D ldr r5, .L24+4 537 008a A5FB0032 umull r3, r2, r5, r0 538 008e 5109 lsrs r1, r2, #5 539 0090 6423 movs r3, #100 540 0092 03FB1103 mls r3, r3, r1, r0 541 0096 1B01 lsls r3, r3, #4 542 0098 3233 adds r3, r3, #50 543 009a A5FB0323 umull r2, r3, r5, r3 544 009e 5B09 lsrs r3, r3, #5 545 00a0 03F0F002 and r2, r3, #240 546 00a4 02EB0112 add r2, r2, r1, lsl #4 547 00a8 03F00F03 and r3, r3, #15 548 .loc 1 3755 10 view .LVU166 549 00ac 2168 ldr r1, [r4] 550 .loc 1 3755 28 view .LVU167 551 00ae 1344 add r3, r3, r2 552 .loc 1 3755 26 view .LVU168 553 00b0 8B60 str r3, [r1, #8] 554 .L16: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 87 3756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 555 .loc 1 3757 1 view .LVU169 556 00b2 38BD pop {r3, r4, r5, pc} 557 .LVL45: 558 .L23: 3751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 559 .loc 1 3751 5 is_stmt 1 view .LVU170 3751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 560 .loc 1 3751 28 is_stmt 0 view .LVU171 561 00b4 0023 movs r3, #0 562 00b6 0218 adds r2, r0, r0 563 00b8 43EB0301 adc r1, r3, r3 564 00bc 1218 adds r2, r2, r0 565 00be 41F10001 adc r1, r1, #0 566 00c2 C900 lsls r1, r1, #3 567 00c4 41EA5271 orr r1, r1, r2, lsr #29 568 00c8 D200 lsls r2, r2, #3 569 00ca 1018 adds r0, r2, r0 570 .LVL46: 3751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 571 .loc 1 3751 28 view .LVU172 572 00cc 41F10001 adc r1, r1, #0 573 00d0 6268 ldr r2, [r4, #4] 574 00d2 9218 adds r2, r2, r2 575 00d4 5B41 adcs r3, r3, r3 576 00d6 FFF7FEFF bl __aeabi_uldivmod 577 .LVL47: 578 00da 0C4D ldr r5, .L24+4 579 00dc A5FB0032 umull r3, r2, r5, r0 580 00e0 5109 lsrs r1, r2, #5 581 00e2 6423 movs r3, #100 582 00e4 03FB1103 mls r3, r3, r1, r0 583 00e8 DB00 lsls r3, r3, #3 584 00ea 3233 adds r3, r3, #50 585 00ec A5FB0323 umull r2, r3, r5, r3 586 00f0 5B09 lsrs r3, r3, #5 587 00f2 5A00 lsls r2, r3, #1 588 00f4 02F4F872 and r2, r2, #496 589 00f8 02EB0112 add r2, r2, r1, lsl #4 590 00fc 03F00703 and r3, r3, #7 3751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 591 .loc 1 3751 10 view .LVU173 592 0100 2168 ldr r1, [r4] 3751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 593 .loc 1 3751 28 view .LVU174 594 0102 1344 add r3, r3, r2 3751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 595 .loc 1 3751 26 view .LVU175 596 0104 8B60 str r3, [r1, #8] 597 0106 D4E7 b .L16 598 .L25: 599 .align 2 600 .L24: 601 0108 00100140 .word 1073811456 602 010c 1F85EB51 .word 1374389535 603 .cfi_endproc ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 88 604 .LFE300: 606 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits 607 .align 1 608 .syntax unified 609 .thumb 610 .thumb_func 612 UART_WaitOnFlagUntilTimeout: 613 .LVL48: 614 .LFB287: 3187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Wait until flag is set */ 615 .loc 1 3187 1 is_stmt 1 view -0 616 .cfi_startproc 617 @ args = 4, pretend = 0, frame = 8 618 @ frame_needed = 0, uses_anonymous_args = 0 3187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Wait until flag is set */ 619 .loc 1 3187 1 is_stmt 0 view .LVU177 620 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 621 .LCFI1: 622 .cfi_def_cfa_offset 28 623 .cfi_offset 4, -28 624 .cfi_offset 5, -24 625 .cfi_offset 6, -20 626 .cfi_offset 7, -16 627 .cfi_offset 8, -12 628 .cfi_offset 9, -8 629 .cfi_offset 14, -4 630 0004 83B0 sub sp, sp, #12 631 .LCFI2: 632 .cfi_def_cfa_offset 40 633 0006 0546 mov r5, r0 634 0008 0E46 mov r6, r1 635 000a 1746 mov r7, r2 636 000c 9946 mov r9, r3 637 000e DDF82880 ldr r8, [sp, #40] 3189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 638 .loc 1 3189 3 is_stmt 1 view .LVU178 639 .LVL49: 640 .L28: 3189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 641 .loc 1 3189 9 view .LVU179 3189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 642 .loc 1 3189 11 is_stmt 0 view .LVU180 643 0012 2C68 ldr r4, [r5] 644 0014 2468 ldr r4, [r4] 3189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 645 .loc 1 3189 50 view .LVU181 646 0016 36EA0403 bics r3, r6, r4 647 001a 0CBF ite eq 648 001c 4FF0010C moveq ip, #1 649 0020 4FF0000C movne ip, #0 3189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 650 .loc 1 3189 9 view .LVU182 651 0024 BC45 cmp ip, r7 652 0026 28D1 bne .L34 3192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 653 .loc 1 3192 5 is_stmt 1 view .LVU183 3192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 89 654 .loc 1 3192 8 is_stmt 0 view .LVU184 655 0028 B8F1FF3F cmp r8, #-1 656 002c F1D0 beq .L28 3194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 657 .loc 1 3194 7 is_stmt 1 view .LVU185 3194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 658 .loc 1 3194 13 is_stmt 0 view .LVU186 659 002e FFF7FEFF bl HAL_GetTick 660 .LVL50: 3194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 661 .loc 1 3194 27 view .LVU187 662 0032 A0EB0900 sub r0, r0, r9 3194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 663 .loc 1 3194 10 view .LVU188 664 0036 4045 cmp r0, r8 665 0038 23D8 bhi .L31 3194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 666 .loc 1 3194 51 discriminator 1 view .LVU189 667 003a B8F1000F cmp r8, #0 668 003e 22D0 beq .L32 3200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 669 .loc 1 3200 7 is_stmt 1 view .LVU190 3200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 670 .loc 1 3200 12 is_stmt 0 view .LVU191 671 0040 2B68 ldr r3, [r5] 672 0042 DA68 ldr r2, [r3, #12] 3200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 673 .loc 1 3200 10 view .LVU192 674 0044 12F0040F tst r2, #4 675 0048 E3D0 beq .L28 3200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 676 .loc 1 3200 64 discriminator 1 view .LVU193 677 004a 802E cmp r6, #128 678 004c E1D0 beq .L28 3200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 679 .loc 1 3200 91 discriminator 2 view .LVU194 680 004e 402E cmp r6, #64 681 0050 DFD0 beq .L28 3202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 682 .loc 1 3202 9 is_stmt 1 view .LVU195 3202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 683 .loc 1 3202 13 is_stmt 0 view .LVU196 684 0052 1A68 ldr r2, [r3] 3202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 685 .loc 1 3202 12 view .LVU197 686 0054 12F0080F tst r2, #8 687 0058 DBD0 beq .L28 3205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 688 .loc 1 3205 11 is_stmt 1 view .LVU198 689 .LBB330: 3205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 690 .loc 1 3205 11 view .LVU199 691 005a 0024 movs r4, #0 692 005c 0194 str r4, [sp, #4] 3205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 693 .loc 1 3205 11 view .LVU200 694 005e 1A68 ldr r2, [r3] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 90 695 0060 0192 str r2, [sp, #4] 3205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 696 .loc 1 3205 11 view .LVU201 697 0062 5B68 ldr r3, [r3, #4] 698 0064 0193 str r3, [sp, #4] 3205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 699 .loc 1 3205 11 view .LVU202 700 0066 019B ldr r3, [sp, #4] 701 .LBE330: 3205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 702 .loc 1 3205 11 view .LVU203 3210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 703 .loc 1 3210 11 view .LVU204 704 0068 2846 mov r0, r5 705 006a FFF7FEFF bl UART_EndRxTransfer 706 .LVL51: 3212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 707 .loc 1 3212 11 view .LVU205 3212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 708 .loc 1 3212 28 is_stmt 0 view .LVU206 709 006e 0823 movs r3, #8 710 0070 6B64 str r3, [r5, #68] 3215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 711 .loc 1 3215 11 is_stmt 1 view .LVU207 3215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 712 .loc 1 3215 11 view .LVU208 713 0072 85F84040 strb r4, [r5, #64] 3215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 714 .loc 1 3215 11 view .LVU209 3217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 715 .loc 1 3217 11 view .LVU210 3217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 716 .loc 1 3217 18 is_stmt 0 view .LVU211 717 0076 0120 movs r0, #1 718 0078 00E0 b .L29 719 .L34: 3222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 720 .loc 1 3222 10 view .LVU212 721 007a 0020 movs r0, #0 722 .L29: 3223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 723 .loc 1 3223 1 view .LVU213 724 007c 03B0 add sp, sp, #12 725 .LCFI3: 726 .cfi_remember_state 727 .cfi_def_cfa_offset 28 728 @ sp needed 729 007e BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 730 .LVL52: 731 .L31: 732 .LCFI4: 733 .cfi_restore_state 3197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 734 .loc 1 3197 16 view .LVU214 735 0082 0320 movs r0, #3 736 0084 FAE7 b .L29 737 .L32: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 91 738 0086 0320 movs r0, #3 739 0088 F8E7 b .L29 740 .cfi_endproc 741 .LFE287: 743 .section .text.HAL_UART_MspInit,"ax",%progbits 744 .align 1 745 .weak HAL_UART_MspInit 746 .syntax unified 747 .thumb 748 .thumb_func 750 HAL_UART_MspInit: 751 .LVL53: 752 .LFB244: 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 753 .loc 1 716 1 is_stmt 1 view -0 754 .cfi_startproc 755 @ args = 0, pretend = 0, frame = 0 756 @ frame_needed = 0, uses_anonymous_args = 0 757 @ link register save eliminated. 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 758 .loc 1 718 3 view .LVU216 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 759 .loc 1 722 1 is_stmt 0 view .LVU217 760 0000 7047 bx lr 761 .cfi_endproc 762 .LFE244: 764 .section .text.HAL_UART_Init,"ax",%progbits 765 .align 1 766 .global HAL_UART_Init 767 .syntax unified 768 .thumb 769 .thumb_func 771 HAL_UART_Init: 772 .LVL54: 773 .LFB239: 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */ 774 .loc 1 358 1 is_stmt 1 view -0 775 .cfi_startproc 776 @ args = 0, pretend = 0, frame = 0 777 @ frame_needed = 0, uses_anonymous_args = 0 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 778 .loc 1 360 3 view .LVU219 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 779 .loc 1 360 6 is_stmt 0 view .LVU220 780 0000 60B3 cbz r0, .L39 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */ 781 .loc 1 358 1 view .LVU221 782 0002 10B5 push {r4, lr} 783 .LCFI5: 784 .cfi_def_cfa_offset 8 785 .cfi_offset 4, -8 786 .cfi_offset 14, -4 787 0004 0446 mov r4, r0 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 788 .loc 1 366 3 is_stmt 1 view .LVU222 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 789 .loc 1 376 5 view .LVU223 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 92 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 790 .loc 1 378 3 view .LVU224 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 791 .loc 1 379 3 view .LVU225 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 792 .loc 1 381 3 view .LVU226 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 793 .loc 1 381 12 is_stmt 0 view .LVU227 794 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 795 .loc 1 381 6 view .LVU228 796 000a 13B3 cbz r3, .L44 797 .LVL55: 798 .L38: 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 799 .loc 1 402 3 is_stmt 1 view .LVU229 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 800 .loc 1 402 17 is_stmt 0 view .LVU230 801 000c 2423 movs r3, #36 802 000e 84F84130 strb r3, [r4, #65] 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 803 .loc 1 405 3 is_stmt 1 view .LVU231 804 0012 2268 ldr r2, [r4] 805 0014 D368 ldr r3, [r2, #12] 806 0016 23F40053 bic r3, r3, #8192 807 001a D360 str r3, [r2, #12] 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 808 .loc 1 408 3 view .LVU232 809 001c 2046 mov r0, r4 810 001e FFF7FEFF bl UART_SetConfig 811 .LVL56: 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 812 .loc 1 413 3 view .LVU233 813 0022 2268 ldr r2, [r4] 814 0024 1369 ldr r3, [r2, #16] 815 0026 23F49043 bic r3, r3, #18432 816 002a 1361 str r3, [r2, #16] 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 817 .loc 1 414 3 view .LVU234 818 002c 2268 ldr r2, [r4] 819 002e 5369 ldr r3, [r2, #20] 820 0030 23F02A03 bic r3, r3, #42 821 0034 5361 str r3, [r2, #20] 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 822 .loc 1 417 3 view .LVU235 823 0036 2268 ldr r2, [r4] 824 0038 D368 ldr r3, [r2, #12] 825 003a 43F40053 orr r3, r3, #8192 826 003e D360 str r3, [r2, #12] 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 827 .loc 1 420 3 view .LVU236 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 828 .loc 1 420 20 is_stmt 0 view .LVU237 829 0040 0020 movs r0, #0 830 0042 6064 str r0, [r4, #68] 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 831 .loc 1 421 3 is_stmt 1 view .LVU238 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 93 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 832 .loc 1 421 17 is_stmt 0 view .LVU239 833 0044 2023 movs r3, #32 834 0046 84F84130 strb r3, [r4, #65] 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 835 .loc 1 422 3 is_stmt 1 view .LVU240 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 836 .loc 1 422 18 is_stmt 0 view .LVU241 837 004a 84F84230 strb r3, [r4, #66] 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 838 .loc 1 423 3 is_stmt 1 view .LVU242 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 839 .loc 1 423 22 is_stmt 0 view .LVU243 840 004e 6063 str r0, [r4, #52] 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 841 .loc 1 425 3 is_stmt 1 view .LVU244 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 842 .loc 1 426 1 is_stmt 0 view .LVU245 843 0050 10BD pop {r4, pc} 844 .LVL57: 845 .L44: 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 846 .loc 1 384 5 is_stmt 1 view .LVU246 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 847 .loc 1 384 17 is_stmt 0 view .LVU247 848 0052 80F84030 strb r3, [r0, #64] 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 849 .loc 1 398 5 is_stmt 1 view .LVU248 850 0056 FFF7FEFF bl HAL_UART_MspInit 851 .LVL58: 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 852 .loc 1 398 5 is_stmt 0 view .LVU249 853 005a D7E7 b .L38 854 .LVL59: 855 .L39: 856 .LCFI6: 857 .cfi_def_cfa_offset 0 858 .cfi_restore 4 859 .cfi_restore 14 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 860 .loc 1 362 12 view .LVU250 861 005c 0120 movs r0, #1 862 .LVL60: 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 863 .loc 1 426 1 view .LVU251 864 005e 7047 bx lr 865 .cfi_endproc 866 .LFE239: 868 .section .text.HAL_HalfDuplex_Init,"ax",%progbits 869 .align 1 870 .global HAL_HalfDuplex_Init 871 .syntax unified 872 .thumb 873 .thumb_func 875 HAL_HalfDuplex_Init: 876 .LVL61: 877 .LFB240: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 94 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */ 878 .loc 1 436 1 is_stmt 1 view -0 879 .cfi_startproc 880 @ args = 0, pretend = 0, frame = 0 881 @ frame_needed = 0, uses_anonymous_args = 0 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 882 .loc 1 438 3 view .LVU253 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 883 .loc 1 438 6 is_stmt 0 view .LVU254 884 0000 0028 cmp r0, #0 885 0002 31D0 beq .L48 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */ 886 .loc 1 436 1 view .LVU255 887 0004 10B5 push {r4, lr} 888 .LCFI7: 889 .cfi_def_cfa_offset 8 890 .cfi_offset 4, -8 891 .cfi_offset 14, -4 892 0006 0446 mov r4, r0 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 893 .loc 1 444 3 is_stmt 1 view .LVU256 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 894 .loc 1 445 3 view .LVU257 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 895 .loc 1 446 3 view .LVU258 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 896 .loc 1 448 3 view .LVU259 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 897 .loc 1 448 12 is_stmt 0 view .LVU260 898 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 899 .loc 1 448 6 view .LVU261 900 000c 3BB3 cbz r3, .L53 901 .LVL62: 902 .L47: 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 903 .loc 1 469 3 is_stmt 1 view .LVU262 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 904 .loc 1 469 17 is_stmt 0 view .LVU263 905 000e 2423 movs r3, #36 906 0010 84F84130 strb r3, [r4, #65] 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 907 .loc 1 472 3 is_stmt 1 view .LVU264 908 0014 2268 ldr r2, [r4] 909 0016 D368 ldr r3, [r2, #12] 910 0018 23F40053 bic r3, r3, #8192 911 001c D360 str r3, [r2, #12] 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 912 .loc 1 475 3 view .LVU265 913 001e 2046 mov r0, r4 914 0020 FFF7FEFF bl UART_SetConfig 915 .LVL63: 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN)); 916 .loc 1 480 3 view .LVU266 917 0024 2268 ldr r2, [r4] 918 0026 1369 ldr r3, [r2, #16] 919 0028 23F49043 bic r3, r3, #18432 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 95 920 002c 1361 str r3, [r2, #16] 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 921 .loc 1 481 3 view .LVU267 922 002e 2268 ldr r2, [r4] 923 0030 5369 ldr r3, [r2, #20] 924 0032 23F02203 bic r3, r3, #34 925 0036 5361 str r3, [r2, #20] 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 926 .loc 1 484 3 view .LVU268 927 0038 2268 ldr r2, [r4] 928 003a 5369 ldr r3, [r2, #20] 929 003c 43F00803 orr r3, r3, #8 930 0040 5361 str r3, [r2, #20] 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 931 .loc 1 487 3 view .LVU269 932 0042 2268 ldr r2, [r4] 933 0044 D368 ldr r3, [r2, #12] 934 0046 43F40053 orr r3, r3, #8192 935 004a D360 str r3, [r2, #12] 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 936 .loc 1 490 3 view .LVU270 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 937 .loc 1 490 20 is_stmt 0 view .LVU271 938 004c 0020 movs r0, #0 939 004e 6064 str r0, [r4, #68] 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 940 .loc 1 491 3 is_stmt 1 view .LVU272 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 941 .loc 1 491 17 is_stmt 0 view .LVU273 942 0050 2023 movs r3, #32 943 0052 84F84130 strb r3, [r4, #65] 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 944 .loc 1 492 3 is_stmt 1 view .LVU274 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 945 .loc 1 492 18 is_stmt 0 view .LVU275 946 0056 84F84230 strb r3, [r4, #66] 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 947 .loc 1 493 3 is_stmt 1 view .LVU276 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 948 .loc 1 493 22 is_stmt 0 view .LVU277 949 005a 6063 str r0, [r4, #52] 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 950 .loc 1 495 3 is_stmt 1 view .LVU278 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 951 .loc 1 496 1 is_stmt 0 view .LVU279 952 005c 10BD pop {r4, pc} 953 .LVL64: 954 .L53: 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 955 .loc 1 451 5 is_stmt 1 view .LVU280 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 956 .loc 1 451 17 is_stmt 0 view .LVU281 957 005e 80F84030 strb r3, [r0, #64] 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 958 .loc 1 465 5 is_stmt 1 view .LVU282 959 0062 FFF7FEFF bl HAL_UART_MspInit 960 .LVL65: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 96 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 961 .loc 1 465 5 is_stmt 0 view .LVU283 962 0066 D2E7 b .L47 963 .LVL66: 964 .L48: 965 .LCFI8: 966 .cfi_def_cfa_offset 0 967 .cfi_restore 4 968 .cfi_restore 14 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 969 .loc 1 440 12 view .LVU284 970 0068 0120 movs r0, #1 971 .LVL67: 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 972 .loc 1 496 1 view .LVU285 973 006a 7047 bx lr 974 .cfi_endproc 975 .LFE240: 977 .section .text.HAL_LIN_Init,"ax",%progbits 978 .align 1 979 .global HAL_LIN_Init 980 .syntax unified 981 .thumb 982 .thumb_func 984 HAL_LIN_Init: 985 .LVL68: 986 .LFB241: 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */ 987 .loc 1 510 1 is_stmt 1 view -0 988 .cfi_startproc 989 @ args = 0, pretend = 0, frame = 0 990 @ frame_needed = 0, uses_anonymous_args = 0 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 991 .loc 1 512 3 view .LVU287 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 992 .loc 1 512 6 is_stmt 0 view .LVU288 993 0000 0028 cmp r0, #0 994 0002 3CD0 beq .L57 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */ 995 .loc 1 510 1 view .LVU289 996 0004 38B5 push {r3, r4, r5, lr} 997 .LCFI9: 998 .cfi_def_cfa_offset 16 999 .cfi_offset 3, -16 1000 .cfi_offset 4, -12 1001 .cfi_offset 5, -8 1002 .cfi_offset 14, -4 1003 0006 0D46 mov r5, r1 1004 0008 0446 mov r4, r0 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1005 .loc 1 518 3 is_stmt 1 view .LVU290 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_WORD_LENGTH(huart->Init.WordLength)); 1006 .loc 1 521 3 view .LVU291 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_OVERSAMPLING(huart->Init.OverSampling)); 1007 .loc 1 522 3 view .LVU292 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1008 .loc 1 523 3 view .LVU293 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 97 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1009 .loc 1 525 3 view .LVU294 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1010 .loc 1 525 12 is_stmt 0 view .LVU295 1011 000a 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1012 .loc 1 525 6 view .LVU296 1013 000e 002B cmp r3, #0 1014 0010 30D0 beq .L62 1015 .LVL69: 1016 .L56: 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1017 .loc 1 546 3 is_stmt 1 view .LVU297 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1018 .loc 1 546 17 is_stmt 0 view .LVU298 1019 0012 2423 movs r3, #36 1020 0014 84F84130 strb r3, [r4, #65] 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1021 .loc 1 549 3 is_stmt 1 view .LVU299 1022 0018 2268 ldr r2, [r4] 1023 001a D368 ldr r3, [r2, #12] 1024 001c 23F40053 bic r3, r3, #8192 1025 0020 D360 str r3, [r2, #12] 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1026 .loc 1 552 3 view .LVU300 1027 0022 2046 mov r0, r4 1028 0024 FFF7FEFF bl UART_SetConfig 1029 .LVL70: 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN)); 1030 .loc 1 557 3 view .LVU301 1031 0028 2268 ldr r2, [r4] 1032 002a 1369 ldr r3, [r2, #16] 1033 002c 23F40063 bic r3, r3, #2048 1034 0030 1361 str r3, [r2, #16] 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1035 .loc 1 558 3 view .LVU302 1036 0032 2268 ldr r2, [r4] 1037 0034 5369 ldr r3, [r2, #20] 1038 0036 23F02A03 bic r3, r3, #42 1039 003a 5361 str r3, [r2, #20] 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1040 .loc 1 561 3 view .LVU303 1041 003c 2268 ldr r2, [r4] 1042 003e 1369 ldr r3, [r2, #16] 1043 0040 43F48043 orr r3, r3, #16384 1044 0044 1361 str r3, [r2, #16] 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, BreakDetectLength); 1045 .loc 1 564 3 view .LVU304 1046 0046 2268 ldr r2, [r4] 1047 0048 1369 ldr r3, [r2, #16] 1048 004a 23F02003 bic r3, r3, #32 1049 004e 1361 str r3, [r2, #16] 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1050 .loc 1 565 3 view .LVU305 1051 0050 2368 ldr r3, [r4] 1052 0052 1969 ldr r1, [r3, #16] 1053 0054 0D43 orrs r5, r5, r1 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 98 1054 .LVL71: 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1055 .loc 1 565 3 is_stmt 0 view .LVU306 1056 0056 1D61 str r5, [r3, #16] 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1057 .loc 1 568 3 is_stmt 1 view .LVU307 1058 0058 2268 ldr r2, [r4] 1059 005a D368 ldr r3, [r2, #12] 1060 005c 43F40053 orr r3, r3, #8192 1061 0060 D360 str r3, [r2, #12] 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1062 .loc 1 571 3 view .LVU308 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1063 .loc 1 571 20 is_stmt 0 view .LVU309 1064 0062 0020 movs r0, #0 1065 0064 6064 str r0, [r4, #68] 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1066 .loc 1 572 3 is_stmt 1 view .LVU310 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1067 .loc 1 572 17 is_stmt 0 view .LVU311 1068 0066 2023 movs r3, #32 1069 0068 84F84130 strb r3, [r4, #65] 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 1070 .loc 1 573 3 is_stmt 1 view .LVU312 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 1071 .loc 1 573 18 is_stmt 0 view .LVU313 1072 006c 84F84230 strb r3, [r4, #66] 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1073 .loc 1 574 3 is_stmt 1 view .LVU314 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1074 .loc 1 574 22 is_stmt 0 view .LVU315 1075 0070 6063 str r0, [r4, #52] 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1076 .loc 1 576 3 is_stmt 1 view .LVU316 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1077 .loc 1 577 1 is_stmt 0 view .LVU317 1078 0072 38BD pop {r3, r4, r5, pc} 1079 .LVL72: 1080 .L62: 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1081 .loc 1 528 5 is_stmt 1 view .LVU318 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1082 .loc 1 528 17 is_stmt 0 view .LVU319 1083 0074 80F84030 strb r3, [r0, #64] 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 1084 .loc 1 542 5 is_stmt 1 view .LVU320 1085 0078 FFF7FEFF bl HAL_UART_MspInit 1086 .LVL73: 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 1087 .loc 1 542 5 is_stmt 0 view .LVU321 1088 007c C9E7 b .L56 1089 .LVL74: 1090 .L57: 1091 .LCFI10: 1092 .cfi_def_cfa_offset 0 1093 .cfi_restore 3 1094 .cfi_restore 4 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 99 1095 .cfi_restore 5 1096 .cfi_restore 14 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1097 .loc 1 514 12 view .LVU322 1098 007e 0120 movs r0, #1 1099 .LVL75: 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1100 .loc 1 577 1 view .LVU323 1101 0080 7047 bx lr 1102 .cfi_endproc 1103 .LFE241: 1105 .section .text.HAL_MultiProcessor_Init,"ax",%progbits 1106 .align 1 1107 .global HAL_MultiProcessor_Init 1108 .syntax unified 1109 .thumb 1110 .thumb_func 1112 HAL_MultiProcessor_Init: 1113 .LVL76: 1114 .LFB242: 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */ 1115 .loc 1 592 1 is_stmt 1 view -0 1116 .cfi_startproc 1117 @ args = 0, pretend = 0, frame = 0 1118 @ frame_needed = 0, uses_anonymous_args = 0 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1119 .loc 1 594 3 view .LVU325 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1120 .loc 1 594 6 is_stmt 0 view .LVU326 1121 0000 0028 cmp r0, #0 1122 0002 41D0 beq .L66 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */ 1123 .loc 1 592 1 view .LVU327 1124 0004 70B5 push {r4, r5, r6, lr} 1125 .LCFI11: 1126 .cfi_def_cfa_offset 16 1127 .cfi_offset 4, -16 1128 .cfi_offset 5, -12 1129 .cfi_offset 6, -8 1130 .cfi_offset 14, -4 1131 0006 0D46 mov r5, r1 1132 0008 1646 mov r6, r2 1133 000a 0446 mov r4, r0 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1134 .loc 1 600 3 is_stmt 1 view .LVU328 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_ADDRESS(Address)); 1135 .loc 1 603 3 view .LVU329 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 1136 .loc 1 604 3 view .LVU330 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 1137 .loc 1 605 3 view .LVU331 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1138 .loc 1 606 3 view .LVU332 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1139 .loc 1 608 3 view .LVU333 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1140 .loc 1 608 12 is_stmt 0 view .LVU334 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 100 1141 000c 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1142 .loc 1 608 6 view .LVU335 1143 0010 002B cmp r3, #0 1144 0012 34D0 beq .L71 1145 .LVL77: 1146 .L65: 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1147 .loc 1 629 3 is_stmt 1 view .LVU336 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1148 .loc 1 629 17 is_stmt 0 view .LVU337 1149 0014 2423 movs r3, #36 1150 0016 84F84130 strb r3, [r4, #65] 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1151 .loc 1 632 3 is_stmt 1 view .LVU338 1152 001a 2268 ldr r2, [r4] 1153 001c D368 ldr r3, [r2, #12] 1154 001e 23F40053 bic r3, r3, #8192 1155 0022 D360 str r3, [r2, #12] 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1156 .loc 1 635 3 view .LVU339 1157 0024 2046 mov r0, r4 1158 0026 FFF7FEFF bl UART_SetConfig 1159 .LVL78: 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 1160 .loc 1 640 3 view .LVU340 1161 002a 2268 ldr r2, [r4] 1162 002c 1369 ldr r3, [r2, #16] 1163 002e 23F49043 bic r3, r3, #18432 1164 0032 1361 str r3, [r2, #16] 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1165 .loc 1 641 3 view .LVU341 1166 0034 2268 ldr r2, [r4] 1167 0036 5369 ldr r3, [r2, #20] 1168 0038 23F02A03 bic r3, r3, #42 1169 003c 5361 str r3, [r2, #20] 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, Address); 1170 .loc 1 644 3 view .LVU342 1171 003e 2268 ldr r2, [r4] 1172 0040 1369 ldr r3, [r2, #16] 1173 0042 23F00F03 bic r3, r3, #15 1174 0046 1361 str r3, [r2, #16] 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1175 .loc 1 645 3 view .LVU343 1176 0048 2368 ldr r3, [r4] 1177 004a 1969 ldr r1, [r3, #16] 1178 004c 0D43 orrs r5, r5, r1 1179 004e 1D61 str r5, [r3, #16] 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, WakeUpMethod); 1180 .loc 1 648 3 view .LVU344 1181 0050 2268 ldr r2, [r4] 1182 0052 D368 ldr r3, [r2, #12] 1183 0054 23F40063 bic r3, r3, #2048 1184 0058 D360 str r3, [r2, #12] 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1185 .loc 1 649 3 view .LVU345 1186 005a 2368 ldr r3, [r4] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 101 1187 005c DA68 ldr r2, [r3, #12] 1188 005e 1643 orrs r6, r6, r2 1189 .LVL79: 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1190 .loc 1 649 3 is_stmt 0 view .LVU346 1191 0060 DE60 str r6, [r3, #12] 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1192 .loc 1 652 3 is_stmt 1 view .LVU347 1193 0062 2268 ldr r2, [r4] 1194 0064 D368 ldr r3, [r2, #12] 1195 0066 43F40053 orr r3, r3, #8192 1196 006a D360 str r3, [r2, #12] 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1197 .loc 1 655 3 view .LVU348 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1198 .loc 1 655 20 is_stmt 0 view .LVU349 1199 006c 0020 movs r0, #0 1200 006e 6064 str r0, [r4, #68] 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1201 .loc 1 656 3 is_stmt 1 view .LVU350 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1202 .loc 1 656 17 is_stmt 0 view .LVU351 1203 0070 2023 movs r3, #32 1204 0072 84F84130 strb r3, [r4, #65] 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 1205 .loc 1 657 3 is_stmt 1 view .LVU352 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 1206 .loc 1 657 18 is_stmt 0 view .LVU353 1207 0076 84F84230 strb r3, [r4, #66] 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1208 .loc 1 658 3 is_stmt 1 view .LVU354 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1209 .loc 1 658 22 is_stmt 0 view .LVU355 1210 007a 6063 str r0, [r4, #52] 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1211 .loc 1 660 3 is_stmt 1 view .LVU356 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1212 .loc 1 661 1 is_stmt 0 view .LVU357 1213 007c 70BD pop {r4, r5, r6, pc} 1214 .LVL80: 1215 .L71: 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1216 .loc 1 611 5 is_stmt 1 view .LVU358 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1217 .loc 1 611 17 is_stmt 0 view .LVU359 1218 007e 80F84030 strb r3, [r0, #64] 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 1219 .loc 1 625 5 is_stmt 1 view .LVU360 1220 0082 FFF7FEFF bl HAL_UART_MspInit 1221 .LVL81: 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 1222 .loc 1 625 5 is_stmt 0 view .LVU361 1223 0086 C5E7 b .L65 1224 .LVL82: 1225 .L66: 1226 .LCFI12: 1227 .cfi_def_cfa_offset 0 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 102 1228 .cfi_restore 4 1229 .cfi_restore 5 1230 .cfi_restore 6 1231 .cfi_restore 14 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1232 .loc 1 596 12 view .LVU362 1233 0088 0120 movs r0, #1 1234 .LVL83: 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1235 .loc 1 661 1 view .LVU363 1236 008a 7047 bx lr 1237 .cfi_endproc 1238 .LFE242: 1240 .section .text.HAL_UART_MspDeInit,"ax",%progbits 1241 .align 1 1242 .weak HAL_UART_MspDeInit 1243 .syntax unified 1244 .thumb 1245 .thumb_func 1247 HAL_UART_MspDeInit: 1248 .LVL84: 1249 .LFB245: 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 1250 .loc 1 731 1 is_stmt 1 view -0 1251 .cfi_startproc 1252 @ args = 0, pretend = 0, frame = 0 1253 @ frame_needed = 0, uses_anonymous_args = 0 1254 @ link register save eliminated. 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 1255 .loc 1 733 3 view .LVU365 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1256 .loc 1 737 1 is_stmt 0 view .LVU366 1257 0000 7047 bx lr 1258 .cfi_endproc 1259 .LFE245: 1261 .section .text.HAL_UART_DeInit,"ax",%progbits 1262 .align 1 1263 .global HAL_UART_DeInit 1264 .syntax unified 1265 .thumb 1266 .thumb_func 1268 HAL_UART_DeInit: 1269 .LVL85: 1270 .LFB243: 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */ 1271 .loc 1 670 1 is_stmt 1 view -0 1272 .cfi_startproc 1273 @ args = 0, pretend = 0, frame = 0 1274 @ frame_needed = 0, uses_anonymous_args = 0 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1275 .loc 1 672 3 view .LVU368 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1276 .loc 1 672 6 is_stmt 0 view .LVU369 1277 0000 B0B1 cbz r0, .L75 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */ 1278 .loc 1 670 1 view .LVU370 1279 0002 10B5 push {r4, lr} ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 103 1280 .LCFI13: 1281 .cfi_def_cfa_offset 8 1282 .cfi_offset 4, -8 1283 .cfi_offset 14, -4 1284 0004 0446 mov r4, r0 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1285 .loc 1 678 3 is_stmt 1 view .LVU371 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1286 .loc 1 680 3 view .LVU372 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1287 .loc 1 680 17 is_stmt 0 view .LVU373 1288 0006 2423 movs r3, #36 1289 0008 80F84130 strb r3, [r0, #65] 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1290 .loc 1 683 3 is_stmt 1 view .LVU374 1291 000c 0268 ldr r2, [r0] 1292 000e D368 ldr r3, [r2, #12] 1293 0010 23F40053 bic r3, r3, #8192 1294 0014 D360 str r3, [r2, #12] 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 1295 .loc 1 694 3 view .LVU375 1296 0016 FFF7FEFF bl HAL_UART_MspDeInit 1297 .LVL86: 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 1298 .loc 1 697 3 view .LVU376 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 1299 .loc 1 697 20 is_stmt 0 view .LVU377 1300 001a 0020 movs r0, #0 1301 001c 6064 str r0, [r4, #68] 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 1302 .loc 1 698 3 is_stmt 1 view .LVU378 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 1303 .loc 1 698 17 is_stmt 0 view .LVU379 1304 001e 84F84100 strb r0, [r4, #65] 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1305 .loc 1 699 3 is_stmt 1 view .LVU380 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1306 .loc 1 699 18 is_stmt 0 view .LVU381 1307 0022 84F84200 strb r0, [r4, #66] 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 1308 .loc 1 700 3 is_stmt 1 view .LVU382 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 1309 .loc 1 700 24 is_stmt 0 view .LVU383 1310 0026 2063 str r0, [r4, #48] 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1311 .loc 1 701 3 is_stmt 1 view .LVU384 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1312 .loc 1 701 22 is_stmt 0 view .LVU385 1313 0028 6063 str r0, [r4, #52] 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1314 .loc 1 704 3 is_stmt 1 view .LVU386 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1315 .loc 1 704 3 view .LVU387 1316 002a 84F84000 strb r0, [r4, #64] 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1317 .loc 1 704 3 view .LVU388 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 104 1318 .loc 1 706 3 view .LVU389 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1319 .loc 1 707 1 is_stmt 0 view .LVU390 1320 002e 10BD pop {r4, pc} 1321 .LVL87: 1322 .L75: 1323 .LCFI14: 1324 .cfi_def_cfa_offset 0 1325 .cfi_restore 4 1326 .cfi_restore 14 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1327 .loc 1 674 12 view .LVU391 1328 0030 0120 movs r0, #1 1329 .LVL88: 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1330 .loc 1 707 1 view .LVU392 1331 0032 7047 bx lr 1332 .cfi_endproc 1333 .LFE243: 1335 .section .text.HAL_UART_Transmit,"ax",%progbits 1336 .align 1 1337 .global HAL_UART_Transmit 1338 .syntax unified 1339 .thumb 1340 .thumb_func 1342 HAL_UART_Transmit: 1343 .LVL89: 1344 .LFB246: 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint8_t *pdata8bits; 1345 .loc 1 1136 1 is_stmt 1 view -0 1346 .cfi_startproc 1347 @ args = 0, pretend = 0, frame = 0 1348 @ frame_needed = 0, uses_anonymous_args = 0 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint8_t *pdata8bits; 1349 .loc 1 1136 1 is_stmt 0 view .LVU394 1350 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 1351 .LCFI15: 1352 .cfi_def_cfa_offset 24 1353 .cfi_offset 4, -24 1354 .cfi_offset 5, -20 1355 .cfi_offset 6, -16 1356 .cfi_offset 7, -12 1357 .cfi_offset 8, -8 1358 .cfi_offset 14, -4 1359 0004 82B0 sub sp, sp, #8 1360 .LCFI16: 1361 .cfi_def_cfa_offset 32 1362 0006 1E46 mov r6, r3 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint16_t *pdata16bits; 1363 .loc 1 1137 3 is_stmt 1 view .LVU395 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U; 1364 .loc 1 1138 3 view .LVU396 1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1365 .loc 1 1139 3 view .LVU397 1366 .LVL90: 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1367 .loc 1 1142 3 view .LVU398 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 105 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1368 .loc 1 1142 12 is_stmt 0 view .LVU399 1369 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 1370 .LVL91: 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1371 .loc 1 1142 12 view .LVU400 1372 000c DBB2 uxtb r3, r3 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1373 .loc 1 1142 6 view .LVU401 1374 000e 202B cmp r3, #32 1375 0010 56D1 bne .L89 1376 0012 0446 mov r4, r0 1377 0014 0D46 mov r5, r1 1378 0016 9046 mov r8, r2 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1379 .loc 1 1144 5 is_stmt 1 view .LVU402 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1380 .loc 1 1144 8 is_stmt 0 view .LVU403 1381 0018 0029 cmp r1, #0 1382 001a 55D0 beq .L90 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1383 .loc 1 1144 25 discriminator 1 view .LVU404 1384 001c 0AB9 cbnz r2, .L95 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1385 .loc 1 1146 15 view .LVU405 1386 001e 0120 movs r0, #1 1387 .LVL92: 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1388 .loc 1 1146 15 view .LVU406 1389 0020 4FE0 b .L81 1390 .LVL93: 1391 .L95: 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1392 .loc 1 1149 5 is_stmt 1 view .LVU407 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1393 .loc 1 1149 22 is_stmt 0 view .LVU408 1394 0022 0023 movs r3, #0 1395 0024 4364 str r3, [r0, #68] 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1396 .loc 1 1150 5 is_stmt 1 view .LVU409 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1397 .loc 1 1150 19 is_stmt 0 view .LVU410 1398 0026 2123 movs r3, #33 1399 0028 80F84130 strb r3, [r0, #65] 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1400 .loc 1 1153 5 is_stmt 1 view .LVU411 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1401 .loc 1 1153 17 is_stmt 0 view .LVU412 1402 002c FFF7FEFF bl HAL_GetTick 1403 .LVL94: 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1404 .loc 1 1153 17 view .LVU413 1405 0030 0746 mov r7, r0 1406 .LVL95: 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size; 1407 .loc 1 1155 5 is_stmt 1 view .LVU414 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 106 1408 .loc 1 1155 23 is_stmt 0 view .LVU415 1409 0032 A4F82480 strh r8, [r4, #36] @ movhi 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1410 .loc 1 1156 5 is_stmt 1 view .LVU416 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1411 .loc 1 1156 24 is_stmt 0 view .LVU417 1412 0036 A4F82680 strh r8, [r4, #38] @ movhi 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1413 .loc 1 1159 5 is_stmt 1 view .LVU418 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1414 .loc 1 1159 21 is_stmt 0 view .LVU419 1415 003a A368 ldr r3, [r4, #8] 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1416 .loc 1 1159 8 view .LVU420 1417 003c B3F5805F cmp r3, #4096 1418 0040 02D0 beq .L96 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1419 .loc 1 1167 19 view .LVU421 1420 0042 4FF00008 mov r8, #0 1421 0046 14E0 b .L86 1422 .L96: 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1423 .loc 1 1159 71 discriminator 1 view .LVU422 1424 0048 2369 ldr r3, [r4, #16] 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1425 .loc 1 1159 56 discriminator 1 view .LVU423 1426 004a 2BB3 cbz r3, .L93 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1427 .loc 1 1167 19 view .LVU424 1428 004c 4FF00008 mov r8, #0 1429 0050 0FE0 b .L86 1430 .LVL96: 1431 .L98: 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1432 .loc 1 1174 9 is_stmt 1 view .LVU425 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1433 .loc 1 1174 23 is_stmt 0 view .LVU426 1434 0052 2023 movs r3, #32 1435 0054 84F84130 strb r3, [r4, #65] 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1436 .loc 1 1176 9 is_stmt 1 view .LVU427 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1437 .loc 1 1176 16 is_stmt 0 view .LVU428 1438 0058 0320 movs r0, #3 1439 005a 32E0 b .L81 1440 .L99: 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 1441 .loc 1 1180 9 is_stmt 1 view .LVU429 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 1442 .loc 1 1180 42 is_stmt 0 view .LVU430 1443 005c 38F8023B ldrh r3, [r8], #2 1444 .LVL97: 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 1445 .loc 1 1180 14 view .LVU431 1446 0060 2268 ldr r2, [r4] 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 1447 .loc 1 1180 31 view .LVU432 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 107 1448 0062 C3F30803 ubfx r3, r3, #0, #9 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 1449 .loc 1 1180 29 view .LVU433 1450 0066 5360 str r3, [r2, #4] 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1451 .loc 1 1181 9 is_stmt 1 view .LVU434 1452 .LVL98: 1453 .L85: 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1454 .loc 1 1188 7 view .LVU435 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1455 .loc 1 1188 12 is_stmt 0 view .LVU436 1456 0068 E28C ldrh r2, [r4, #38] 1457 006a 92B2 uxth r2, r2 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1458 .loc 1 1188 25 view .LVU437 1459 006c 013A subs r2, r2, #1 1460 006e 92B2 uxth r2, r2 1461 0070 E284 strh r2, [r4, #38] @ movhi 1462 .LVL99: 1463 .L86: 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1464 .loc 1 1170 11 is_stmt 1 view .LVU438 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1465 .loc 1 1170 17 is_stmt 0 view .LVU439 1466 0072 E38C ldrh r3, [r4, #38] 1467 0074 9BB2 uxth r3, r3 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1468 .loc 1 1170 11 view .LVU440 1469 0076 93B1 cbz r3, .L97 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1470 .loc 1 1172 7 is_stmt 1 view .LVU441 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1471 .loc 1 1172 11 is_stmt 0 view .LVU442 1472 0078 0096 str r6, [sp] 1473 007a 3B46 mov r3, r7 1474 007c 0022 movs r2, #0 1475 007e 8021 movs r1, #128 1476 0080 2046 mov r0, r4 1477 0082 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 1478 .LVL100: 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1479 .loc 1 1172 10 view .LVU443 1480 0086 0028 cmp r0, #0 1481 0088 E3D1 bne .L98 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1482 .loc 1 1178 7 is_stmt 1 view .LVU444 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1483 .loc 1 1178 10 is_stmt 0 view .LVU445 1484 008a 002D cmp r5, #0 1485 008c E6D0 beq .L99 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++; 1486 .loc 1 1185 9 is_stmt 1 view .LVU446 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++; 1487 .loc 1 1185 41 is_stmt 0 view .LVU447 1488 008e 15F8012B ldrb r2, [r5], #1 @ zero_extendqisi2 1489 .LVL101: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 108 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++; 1490 .loc 1 1185 14 view .LVU448 1491 0092 2368 ldr r3, [r4] 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++; 1492 .loc 1 1185 29 view .LVU449 1493 0094 5A60 str r2, [r3, #4] 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1494 .loc 1 1186 9 is_stmt 1 view .LVU450 1495 .LVL102: 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1496 .loc 1 1186 9 is_stmt 0 view .LVU451 1497 0096 E7E7 b .L85 1498 .LVL103: 1499 .L93: 1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1500 .loc 1 1162 19 view .LVU452 1501 0098 A846 mov r8, r5 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 1502 .loc 1 1161 19 view .LVU453 1503 009a 0025 movs r5, #0 1504 .LVL104: 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 1505 .loc 1 1161 19 view .LVU454 1506 009c E9E7 b .L86 1507 .LVL105: 1508 .L97: 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1509 .loc 1 1191 5 is_stmt 1 view .LVU455 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1510 .loc 1 1191 9 is_stmt 0 view .LVU456 1511 009e 0096 str r6, [sp] 1512 00a0 3B46 mov r3, r7 1513 00a2 0022 movs r2, #0 1514 00a4 4021 movs r1, #64 1515 00a6 2046 mov r0, r4 1516 00a8 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 1517 .LVL106: 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1518 .loc 1 1191 8 view .LVU457 1519 00ac 18B9 cbnz r0, .L100 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1520 .loc 1 1199 5 is_stmt 1 view .LVU458 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1521 .loc 1 1199 19 is_stmt 0 view .LVU459 1522 00ae 2023 movs r3, #32 1523 00b0 84F84130 strb r3, [r4, #65] 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1524 .loc 1 1201 5 is_stmt 1 view .LVU460 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1525 .loc 1 1201 12 is_stmt 0 view .LVU461 1526 00b4 05E0 b .L81 1527 .L100: 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1528 .loc 1 1193 7 is_stmt 1 view .LVU462 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1529 .loc 1 1193 21 is_stmt 0 view .LVU463 1530 00b6 2023 movs r3, #32 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 109 1531 00b8 84F84130 strb r3, [r4, #65] 1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1532 .loc 1 1195 7 is_stmt 1 view .LVU464 1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1533 .loc 1 1195 14 is_stmt 0 view .LVU465 1534 00bc 0320 movs r0, #3 1535 00be 00E0 b .L81 1536 .LVL107: 1537 .L89: 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1538 .loc 1 1205 12 view .LVU466 1539 00c0 0220 movs r0, #2 1540 .LVL108: 1541 .L81: 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1542 .loc 1 1207 1 view .LVU467 1543 00c2 02B0 add sp, sp, #8 1544 .LCFI17: 1545 .cfi_remember_state 1546 .cfi_def_cfa_offset 24 1547 @ sp needed 1548 00c4 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 1549 .LVL109: 1550 .L90: 1551 .LCFI18: 1552 .cfi_restore_state 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1553 .loc 1 1146 15 view .LVU468 1554 00c8 0120 movs r0, #1 1555 .LVL110: 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1556 .loc 1 1146 15 view .LVU469 1557 00ca FAE7 b .L81 1558 .cfi_endproc 1559 .LFE246: 1561 .section .text.HAL_UART_Receive,"ax",%progbits 1562 .align 1 1563 .global HAL_UART_Receive 1564 .syntax unified 1565 .thumb 1566 .thumb_func 1568 HAL_UART_Receive: 1569 .LVL111: 1570 .LFB247: 1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits; 1571 .loc 1 1222 1 is_stmt 1 view -0 1572 .cfi_startproc 1573 @ args = 0, pretend = 0, frame = 0 1574 @ frame_needed = 0, uses_anonymous_args = 0 1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits; 1575 .loc 1 1222 1 is_stmt 0 view .LVU471 1576 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 1577 .LCFI19: 1578 .cfi_def_cfa_offset 24 1579 .cfi_offset 4, -24 1580 .cfi_offset 5, -20 1581 .cfi_offset 6, -16 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 110 1582 .cfi_offset 7, -12 1583 .cfi_offset 8, -8 1584 .cfi_offset 14, -4 1585 0004 82B0 sub sp, sp, #8 1586 .LCFI20: 1587 .cfi_def_cfa_offset 32 1588 0006 1E46 mov r6, r3 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits; 1589 .loc 1 1223 3 is_stmt 1 view .LVU472 1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U; 1590 .loc 1 1224 3 view .LVU473 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1591 .loc 1 1225 3 view .LVU474 1592 .LVL112: 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1593 .loc 1 1228 3 view .LVU475 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1594 .loc 1 1228 12 is_stmt 0 view .LVU476 1595 0008 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2 1596 .LVL113: 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1597 .loc 1 1228 12 view .LVU477 1598 000c DBB2 uxtb r3, r3 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1599 .loc 1 1228 6 view .LVU478 1600 000e 202B cmp r3, #32 1601 0010 59D1 bne .L112 1602 0012 0446 mov r4, r0 1603 0014 0D46 mov r5, r1 1604 0016 9046 mov r8, r2 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1605 .loc 1 1230 5 is_stmt 1 view .LVU479 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1606 .loc 1 1230 8 is_stmt 0 view .LVU480 1607 0018 0029 cmp r1, #0 1608 001a 58D0 beq .L113 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1609 .loc 1 1230 25 discriminator 1 view .LVU481 1610 001c 0AB9 cbnz r2, .L118 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1611 .loc 1 1232 15 view .LVU482 1612 001e 0120 movs r0, #1 1613 .LVL114: 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1614 .loc 1 1232 15 view .LVU483 1615 0020 52E0 b .L102 1616 .LVL115: 1617 .L118: 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 1618 .loc 1 1235 5 is_stmt 1 view .LVU484 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 1619 .loc 1 1235 22 is_stmt 0 view .LVU485 1620 0022 0023 movs r3, #0 1621 0024 4364 str r3, [r0, #68] 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1622 .loc 1 1236 5 is_stmt 1 view .LVU486 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 111 1623 .loc 1 1236 20 is_stmt 0 view .LVU487 1624 0026 2222 movs r2, #34 1625 .LVL116: 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1626 .loc 1 1236 20 view .LVU488 1627 0028 80F84220 strb r2, [r0, #66] 1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1628 .loc 1 1237 5 is_stmt 1 view .LVU489 1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1629 .loc 1 1237 26 is_stmt 0 view .LVU490 1630 002c 0363 str r3, [r0, #48] 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1631 .loc 1 1240 5 is_stmt 1 view .LVU491 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1632 .loc 1 1240 17 is_stmt 0 view .LVU492 1633 002e FFF7FEFF bl HAL_GetTick 1634 .LVL117: 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1635 .loc 1 1240 17 view .LVU493 1636 0032 0746 mov r7, r0 1637 .LVL118: 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size; 1638 .loc 1 1242 5 is_stmt 1 view .LVU494 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size; 1639 .loc 1 1242 23 is_stmt 0 view .LVU495 1640 0034 A4F82C80 strh r8, [r4, #44] @ movhi 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1641 .loc 1 1243 5 is_stmt 1 view .LVU496 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1642 .loc 1 1243 24 is_stmt 0 view .LVU497 1643 0038 A4F82E80 strh r8, [r4, #46] @ movhi 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1644 .loc 1 1246 5 is_stmt 1 view .LVU498 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1645 .loc 1 1246 21 is_stmt 0 view .LVU499 1646 003c A368 ldr r3, [r4, #8] 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1647 .loc 1 1246 8 view .LVU500 1648 003e B3F5805F cmp r3, #4096 1649 0042 02D0 beq .L119 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1650 .loc 1 1254 19 view .LVU501 1651 0044 4FF00008 mov r8, #0 1652 0048 1CE0 b .L104 1653 .L119: 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1654 .loc 1 1246 71 discriminator 1 view .LVU502 1655 004a 2369 ldr r3, [r4, #16] 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1656 .loc 1 1246 56 discriminator 1 view .LVU503 1657 004c 13B1 cbz r3, .L116 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1658 .loc 1 1254 19 view .LVU504 1659 004e 4FF00008 mov r8, #0 1660 0052 17E0 b .L104 1661 .L116: 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 112 1662 .loc 1 1249 19 view .LVU505 1663 0054 A846 mov r8, r5 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 1664 .loc 1 1248 19 view .LVU506 1665 0056 0025 movs r5, #0 1666 .LVL119: 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 1667 .loc 1 1248 19 view .LVU507 1668 0058 14E0 b .L104 1669 .LVL120: 1670 .L121: 1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1671 .loc 1 1262 9 is_stmt 1 view .LVU508 1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1672 .loc 1 1262 24 is_stmt 0 view .LVU509 1673 005a 2023 movs r3, #32 1674 005c 84F84230 strb r3, [r4, #66] 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1675 .loc 1 1264 9 is_stmt 1 view .LVU510 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1676 .loc 1 1264 16 is_stmt 0 view .LVU511 1677 0060 0320 movs r0, #3 1678 0062 31E0 b .L102 1679 .L122: 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 1680 .loc 1 1268 9 is_stmt 1 view .LVU512 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 1681 .loc 1 1268 40 is_stmt 0 view .LVU513 1682 0064 2368 ldr r3, [r4] 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 1683 .loc 1 1268 50 view .LVU514 1684 0066 5B68 ldr r3, [r3, #4] 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 1685 .loc 1 1268 24 view .LVU515 1686 0068 C3F30803 ubfx r3, r3, #0, #9 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 1687 .loc 1 1268 22 view .LVU516 1688 006c 28F8023B strh r3, [r8], #2 @ movhi 1689 .LVL121: 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1690 .loc 1 1269 9 is_stmt 1 view .LVU517 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1691 .loc 1 1269 9 is_stmt 0 view .LVU518 1692 0070 03E0 b .L107 1693 .L108: 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1694 .loc 1 1275 11 is_stmt 1 view .LVU519 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1695 .loc 1 1275 40 is_stmt 0 view .LVU520 1696 0072 2368 ldr r3, [r4] 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1697 .loc 1 1275 50 view .LVU521 1698 0074 5B68 ldr r3, [r3, #4] 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1699 .loc 1 1275 23 view .LVU522 1700 0076 2B70 strb r3, [r5] 1701 .L110: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 113 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1702 .loc 1 1281 9 is_stmt 1 view .LVU523 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1703 .loc 1 1281 19 is_stmt 0 view .LVU524 1704 0078 0135 adds r5, r5, #1 1705 .LVL122: 1706 .L107: 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1707 .loc 1 1283 7 is_stmt 1 view .LVU525 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1708 .loc 1 1283 12 is_stmt 0 view .LVU526 1709 007a E28D ldrh r2, [r4, #46] 1710 007c 92B2 uxth r2, r2 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1711 .loc 1 1283 25 view .LVU527 1712 007e 013A subs r2, r2, #1 1713 0080 92B2 uxth r2, r2 1714 0082 E285 strh r2, [r4, #46] @ movhi 1715 .LVL123: 1716 .L104: 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1717 .loc 1 1258 11 is_stmt 1 view .LVU528 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1718 .loc 1 1258 17 is_stmt 0 view .LVU529 1719 0084 E38D ldrh r3, [r4, #46] 1720 0086 9BB2 uxth r3, r3 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1721 .loc 1 1258 11 view .LVU530 1722 0088 C3B1 cbz r3, .L120 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1723 .loc 1 1260 7 is_stmt 1 view .LVU531 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1724 .loc 1 1260 11 is_stmt 0 view .LVU532 1725 008a 0096 str r6, [sp] 1726 008c 3B46 mov r3, r7 1727 008e 0022 movs r2, #0 1728 0090 2021 movs r1, #32 1729 0092 2046 mov r0, r4 1730 0094 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 1731 .LVL124: 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1732 .loc 1 1260 10 view .LVU533 1733 0098 0028 cmp r0, #0 1734 009a DED1 bne .L121 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1735 .loc 1 1266 7 is_stmt 1 view .LVU534 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1736 .loc 1 1266 10 is_stmt 0 view .LVU535 1737 009c 002D cmp r5, #0 1738 009e E1D0 beq .L122 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1739 .loc 1 1273 9 is_stmt 1 view .LVU536 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1740 .loc 1 1273 25 is_stmt 0 view .LVU537 1741 00a0 A368 ldr r3, [r4, #8] 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1742 .loc 1 1273 12 view .LVU538 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 114 1743 00a2 B3F5805F cmp r3, #4096 1744 00a6 E4D0 beq .L108 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1745 .loc 1 1273 60 discriminator 1 view .LVU539 1746 00a8 13B9 cbnz r3, .L109 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1747 .loc 1 1273 126 discriminator 2 view .LVU540 1748 00aa 2369 ldr r3, [r4, #16] 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1749 .loc 1 1273 111 discriminator 2 view .LVU541 1750 00ac 002B cmp r3, #0 1751 00ae E0D0 beq .L108 1752 .L109: 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1753 .loc 1 1279 11 is_stmt 1 view .LVU542 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1754 .loc 1 1279 40 is_stmt 0 view .LVU543 1755 00b0 2368 ldr r3, [r4] 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1756 .loc 1 1279 50 view .LVU544 1757 00b2 5B68 ldr r3, [r3, #4] 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1758 .loc 1 1279 25 view .LVU545 1759 00b4 03F07F03 and r3, r3, #127 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1760 .loc 1 1279 23 view .LVU546 1761 00b8 2B70 strb r3, [r5] 1762 00ba DDE7 b .L110 1763 .L120: 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1764 .loc 1 1287 5 is_stmt 1 view .LVU547 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1765 .loc 1 1287 20 is_stmt 0 view .LVU548 1766 00bc 2023 movs r3, #32 1767 00be 84F84230 strb r3, [r4, #66] 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1768 .loc 1 1289 5 is_stmt 1 view .LVU549 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1769 .loc 1 1289 12 is_stmt 0 view .LVU550 1770 00c2 0020 movs r0, #0 1771 00c4 00E0 b .L102 1772 .LVL125: 1773 .L112: 1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1774 .loc 1 1293 12 view .LVU551 1775 00c6 0220 movs r0, #2 1776 .LVL126: 1777 .L102: 1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1778 .loc 1 1295 1 view .LVU552 1779 00c8 02B0 add sp, sp, #8 1780 .LCFI21: 1781 .cfi_remember_state 1782 .cfi_def_cfa_offset 24 1783 @ sp needed 1784 00ca BDE8F081 pop {r4, r5, r6, r7, r8, pc} 1785 .LVL127: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 115 1786 .L113: 1787 .LCFI22: 1788 .cfi_restore_state 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1789 .loc 1 1232 15 view .LVU553 1790 00ce 0120 movs r0, #1 1791 .LVL128: 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1792 .loc 1 1232 15 view .LVU554 1793 00d0 FAE7 b .L102 1794 .cfi_endproc 1795 .LFE247: 1797 .section .text.HAL_UART_Transmit_IT,"ax",%progbits 1798 .align 1 1799 .global HAL_UART_Transmit_IT 1800 .syntax unified 1801 .thumb 1802 .thumb_func 1804 HAL_UART_Transmit_IT: 1805 .LVL129: 1806 .LFB248: 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1807 .loc 1 1309 1 is_stmt 1 view -0 1808 .cfi_startproc 1809 @ args = 0, pretend = 0, frame = 0 1810 @ frame_needed = 0, uses_anonymous_args = 0 1811 @ link register save eliminated. 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1812 .loc 1 1311 3 view .LVU556 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1813 .loc 1 1311 12 is_stmt 0 view .LVU557 1814 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 1815 0004 DBB2 uxtb r3, r3 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1816 .loc 1 1311 6 view .LVU558 1817 0006 202B cmp r3, #32 1818 0008 10D1 bne .L125 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1819 .loc 1 1313 5 is_stmt 1 view .LVU559 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1820 .loc 1 1313 8 is_stmt 0 view .LVU560 1821 000a 89B1 cbz r1, .L126 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1822 .loc 1 1313 25 discriminator 1 view .LVU561 1823 000c 92B1 cbz r2, .L127 1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size; 1824 .loc 1 1318 5 is_stmt 1 view .LVU562 1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size; 1825 .loc 1 1318 23 is_stmt 0 view .LVU563 1826 000e 0162 str r1, [r0, #32] 1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size; 1827 .loc 1 1319 5 is_stmt 1 view .LVU564 1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size; 1828 .loc 1 1319 23 is_stmt 0 view .LVU565 1829 0010 8284 strh r2, [r0, #36] @ movhi 1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1830 .loc 1 1320 5 is_stmt 1 view .LVU566 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 116 1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1831 .loc 1 1320 24 is_stmt 0 view .LVU567 1832 0012 C284 strh r2, [r0, #38] @ movhi 1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1833 .loc 1 1322 5 is_stmt 1 view .LVU568 1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1834 .loc 1 1322 22 is_stmt 0 view .LVU569 1835 0014 0023 movs r3, #0 1836 0016 4364 str r3, [r0, #68] 1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1837 .loc 1 1323 5 is_stmt 1 view .LVU570 1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1838 .loc 1 1323 19 is_stmt 0 view .LVU571 1839 0018 2122 movs r2, #33 1840 .LVL130: 1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1841 .loc 1 1323 19 view .LVU572 1842 001a 80F84120 strb r2, [r0, #65] 1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1843 .loc 1 1326 5 is_stmt 1 view .LVU573 1844 001e 0168 ldr r1, [r0] 1845 .LVL131: 1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1846 .loc 1 1326 5 is_stmt 0 view .LVU574 1847 0020 CA68 ldr r2, [r1, #12] 1848 0022 42F08002 orr r2, r2, #128 1849 0026 CA60 str r2, [r1, #12] 1850 .LVL132: 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1851 .loc 1 1328 5 is_stmt 1 view .LVU575 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1852 .loc 1 1328 12 is_stmt 0 view .LVU576 1853 0028 1846 mov r0, r3 1854 .LVL133: 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1855 .loc 1 1328 12 view .LVU577 1856 002a 7047 bx lr 1857 .LVL134: 1858 .L125: 1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1859 .loc 1 1332 12 view .LVU578 1860 002c 0220 movs r0, #2 1861 .LVL135: 1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1862 .loc 1 1332 12 view .LVU579 1863 002e 7047 bx lr 1864 .LVL136: 1865 .L126: 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1866 .loc 1 1315 14 view .LVU580 1867 0030 0120 movs r0, #1 1868 .LVL137: 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1869 .loc 1 1315 14 view .LVU581 1870 0032 7047 bx lr 1871 .LVL138: 1872 .L127: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 117 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1873 .loc 1 1315 14 view .LVU582 1874 0034 0120 movs r0, #1 1875 .LVL139: 1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1876 .loc 1 1334 1 view .LVU583 1877 0036 7047 bx lr 1878 .cfi_endproc 1879 .LFE248: 1881 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits 1882 .align 1 1883 .global HAL_UART_Transmit_DMA 1884 .syntax unified 1885 .thumb 1886 .thumb_func 1888 HAL_UART_Transmit_DMA: 1889 .LVL140: 1890 .LFB250: 1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint32_t *tmp; 1891 .loc 1 1380 1 is_stmt 1 view -0 1892 .cfi_startproc 1893 @ args = 0, pretend = 0, frame = 0 1894 @ frame_needed = 0, uses_anonymous_args = 0 1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint32_t *tmp; 1895 .loc 1 1380 1 is_stmt 0 view .LVU585 1896 0000 38B5 push {r3, r4, r5, lr} 1897 .LCFI23: 1898 .cfi_def_cfa_offset 16 1899 .cfi_offset 3, -16 1900 .cfi_offset 4, -12 1901 .cfi_offset 5, -8 1902 .cfi_offset 14, -4 1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1903 .loc 1 1381 3 is_stmt 1 view .LVU586 1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1904 .loc 1 1384 3 view .LVU587 1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1905 .loc 1 1384 12 is_stmt 0 view .LVU588 1906 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 1907 0006 DBB2 uxtb r3, r3 1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1908 .loc 1 1384 6 view .LVU589 1909 0008 202B cmp r3, #32 1910 000a 30D1 bne .L131 1911 000c 0446 mov r4, r0 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1912 .loc 1 1386 5 is_stmt 1 view .LVU590 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1913 .loc 1 1386 8 is_stmt 0 view .LVU591 1914 000e 0029 cmp r1, #0 1915 0010 2FD0 beq .L132 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 1916 .loc 1 1386 25 discriminator 1 view .LVU592 1917 0012 0AB9 cbnz r2, .L135 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 1918 .loc 1 1388 14 view .LVU593 1919 0014 0120 movs r0, #1 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 118 1920 .LVL141: 1921 .L129: 1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1922 .loc 1 1427 1 view .LVU594 1923 0016 38BD pop {r3, r4, r5, pc} 1924 .LVL142: 1925 .L135: 1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size; 1926 .loc 1 1391 5 is_stmt 1 view .LVU595 1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size; 1927 .loc 1 1391 23 is_stmt 0 view .LVU596 1928 0018 0162 str r1, [r0, #32] 1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size; 1929 .loc 1 1392 5 is_stmt 1 view .LVU597 1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size; 1930 .loc 1 1392 23 is_stmt 0 view .LVU598 1931 001a 8284 strh r2, [r0, #36] @ movhi 1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1932 .loc 1 1393 5 is_stmt 1 view .LVU599 1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1933 .loc 1 1393 24 is_stmt 0 view .LVU600 1934 001c C284 strh r2, [r0, #38] @ movhi 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1935 .loc 1 1395 5 is_stmt 1 view .LVU601 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1936 .loc 1 1395 22 is_stmt 0 view .LVU602 1937 001e 0023 movs r3, #0 1938 0020 4364 str r3, [r0, #68] 1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1939 .loc 1 1396 5 is_stmt 1 view .LVU603 1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1940 .loc 1 1396 19 is_stmt 0 view .LVU604 1941 0022 2120 movs r0, #33 1942 .LVL143: 1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1943 .loc 1 1396 19 view .LVU605 1944 0024 84F84100 strb r0, [r4, #65] 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1945 .loc 1 1399 5 is_stmt 1 view .LVU606 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1946 .loc 1 1399 10 is_stmt 0 view .LVU607 1947 0028 A06B ldr r0, [r4, #56] 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1948 .loc 1 1399 37 view .LVU608 1949 002a 134D ldr r5, .L136 1950 002c C563 str r5, [r0, #60] 1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1951 .loc 1 1402 5 is_stmt 1 view .LVU609 1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1952 .loc 1 1402 10 is_stmt 0 view .LVU610 1953 002e A06B ldr r0, [r4, #56] 1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1954 .loc 1 1402 41 view .LVU611 1955 0030 124D ldr r5, .L136+4 1956 0032 0564 str r5, [r0, #64] 1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1957 .loc 1 1405 5 is_stmt 1 view .LVU612 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 119 1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1958 .loc 1 1405 10 is_stmt 0 view .LVU613 1959 0034 A06B ldr r0, [r4, #56] 1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1960 .loc 1 1405 38 view .LVU614 1961 0036 124D ldr r5, .L136+8 1962 0038 C564 str r5, [r0, #76] 1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1963 .loc 1 1408 5 is_stmt 1 view .LVU615 1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1964 .loc 1 1408 10 is_stmt 0 view .LVU616 1965 003a A06B ldr r0, [r4, #56] 1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1966 .loc 1 1408 38 view .LVU617 1967 003c 0365 str r3, [r0, #80] 1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmatx, *(const uint32_t *)tmp, (uint32_t)&huart->Instance->DR, Size); 1968 .loc 1 1411 5 is_stmt 1 view .LVU618 1969 .LVL144: 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1970 .loc 1 1412 5 view .LVU619 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1971 .loc 1 1412 77 is_stmt 0 view .LVU620 1972 003e 2068 ldr r0, [r4] 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1973 .loc 1 1412 5 view .LVU621 1974 0040 1346 mov r3, r2 1975 0042 021D adds r2, r0, #4 1976 .LVL145: 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1977 .loc 1 1412 5 view .LVU622 1978 0044 A06B ldr r0, [r4, #56] 1979 0046 FFF7FEFF bl HAL_DMA_Start_IT 1980 .LVL146: 1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1981 .loc 1 1415 5 is_stmt 1 view .LVU623 1982 004a 2368 ldr r3, [r4] 1983 004c 6FF04002 mvn r2, #64 1984 0050 1A60 str r2, [r3] 1985 .L130: 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1986 .loc 1 1419 5 discriminator 1 view .LVU624 1987 .LBB331: 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1988 .loc 1 1419 5 discriminator 1 view .LVU625 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1989 .loc 1 1419 5 discriminator 1 view .LVU626 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 1990 .loc 1 1419 5 discriminator 1 view .LVU627 1991 0052 2268 ldr r2, [r4] 1992 .LVL147: 1993 .LBB332: 1994 .LBI332: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1995 .loc 2 476 31 discriminator 1 view .LVU628 1996 .LBB333: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 1997 .loc 2 478 5 discriminator 1 view .LVU629 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 120 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1998 .loc 2 480 4 discriminator 1 view .LVU630 1999 0054 02F11403 add r3, r2, #20 2000 .LVL148: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2001 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU631 2002 .syntax unified 2003 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2004 0058 53E8003F ldrex r3, [r3] 2005 @ 0 "" 2 2006 .LVL149: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2007 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU632 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2008 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU633 2009 .thumb 2010 .syntax unified 2011 .LBE333: 2012 .LBE332: 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2013 .loc 1 1419 5 discriminator 1 view .LVU634 2014 005c 43F08003 orr r3, r3, #128 2015 .LVL150: 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2016 .loc 1 1419 5 is_stmt 1 discriminator 1 view .LVU635 2017 .LBB334: 2018 .LBI334: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2019 .loc 2 527 31 discriminator 1 view .LVU636 2020 .LBB335: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 2021 .loc 2 529 4 discriminator 1 view .LVU637 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2022 .loc 2 531 4 discriminator 1 view .LVU638 2023 0060 1432 adds r2, r2, #20 2024 .LVL151: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2025 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU639 2026 .syntax unified 2027 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2028 0062 42E80031 strex r1, r3, [r2] 2029 @ 0 "" 2 2030 .LVL152: 2031 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU640 2032 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU641 2033 .thumb 2034 .syntax unified 2035 .LBE335: 2036 .LBE334: 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2037 .loc 1 1419 5 discriminator 1 view .LVU642 2038 0066 0029 cmp r1, #0 2039 0068 F3D1 bne .L130 2040 .LBE331: 1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2041 .loc 1 1421 12 view .LVU643 2042 006a 0020 movs r0, #0 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 121 2043 .LBB336: 2044 006c D3E7 b .L129 2045 .LVL153: 2046 .L131: 1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2047 .loc 1 1421 12 view .LVU644 2048 .LBE336: 1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2049 .loc 1 1425 12 view .LVU645 2050 006e 0220 movs r0, #2 2051 .LVL154: 1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2052 .loc 1 1425 12 view .LVU646 2053 0070 D1E7 b .L129 2054 .LVL155: 2055 .L132: 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2056 .loc 1 1388 14 view .LVU647 2057 0072 0120 movs r0, #1 2058 .LVL156: 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2059 .loc 1 1388 14 view .LVU648 2060 0074 CFE7 b .L129 2061 .L137: 2062 0076 00BF .align 2 2063 .L136: 2064 0078 00000000 .word UART_DMATransmitCplt 2065 007c 00000000 .word UART_DMATxHalfCplt 2066 0080 00000000 .word UART_DMAError 2067 .cfi_endproc 2068 .LFE250: 2070 .section .text.HAL_UART_DMAPause,"ax",%progbits 2071 .align 1 2072 .global HAL_UART_DMAPause 2073 .syntax unified 2074 .thumb 2075 .thumb_func 2077 HAL_UART_DMAPause: 2078 .LVL157: 2079 .LFB252: 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U; 2080 .loc 1 1469 1 is_stmt 1 view -0 2081 .cfi_startproc 2082 @ args = 0, pretend = 0, frame = 0 2083 @ frame_needed = 0, uses_anonymous_args = 0 2084 @ link register save eliminated. 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2085 .loc 1 1470 3 view .LVU650 1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest) 2086 .loc 1 1472 3 view .LVU651 1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest) 2087 .loc 1 1472 16 is_stmt 0 view .LVU652 2088 0000 0368 ldr r3, [r0] 2089 0002 5A69 ldr r2, [r3, #20] 2090 0004 02F08002 and r2, r2, #128 2091 .LVL158: 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 122 2092 .loc 1 1473 3 is_stmt 1 view .LVU653 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2093 .loc 1 1473 13 is_stmt 0 view .LVU654 2094 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 2095 000c DBB2 uxtb r3, r3 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2096 .loc 1 1473 6 view .LVU655 2097 000e 212B cmp r3, #33 2098 0010 0AD0 beq .L145 2099 .LVL159: 2100 .L139: 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2101 .loc 1 1476 5 is_stmt 1 discriminator 2 view .LVU656 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest) 2102 .loc 1 1479 3 discriminator 2 view .LVU657 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest) 2103 .loc 1 1479 16 is_stmt 0 discriminator 2 view .LVU658 2104 0012 0368 ldr r3, [r0] 2105 0014 5A69 ldr r2, [r3, #20] 2106 0016 02F04002 and r2, r2, #64 2107 .LVL160: 1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2108 .loc 1 1480 3 is_stmt 1 discriminator 2 view .LVU659 1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2109 .loc 1 1480 13 is_stmt 0 discriminator 2 view .LVU660 2110 001a 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2 2111 001e DBB2 uxtb r3, r3 1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2112 .loc 1 1480 6 discriminator 2 view .LVU661 2113 0020 222B cmp r3, #34 2114 0022 10D0 beq .L146 2115 .LVL161: 2116 .L141: 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2117 .loc 1 1487 5 is_stmt 1 discriminator 2 view .LVU662 1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2118 .loc 1 1490 3 discriminator 2 view .LVU663 1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2119 .loc 1 1491 1 is_stmt 0 discriminator 2 view .LVU664 2120 0024 0020 movs r0, #0 2121 .LVL162: 1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2122 .loc 1 1491 1 discriminator 2 view .LVU665 2123 0026 7047 bx lr 2124 .LVL163: 2125 .L145: 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2126 .loc 1 1473 49 discriminator 1 view .LVU666 2127 0028 002A cmp r2, #0 2128 002a F2D0 beq .L139 2129 .LVL164: 2130 .L140: 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2131 .loc 1 1476 5 is_stmt 1 discriminator 1 view .LVU667 2132 .LBB337: 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2133 .loc 1 1476 5 discriminator 1 view .LVU668 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 123 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2134 .loc 1 1476 5 discriminator 1 view .LVU669 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2135 .loc 1 1476 5 discriminator 1 view .LVU670 2136 002c 0268 ldr r2, [r0] 2137 .LVL165: 2138 .LBB338: 2139 .LBI338: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2140 .loc 2 476 31 discriminator 1 view .LVU671 2141 .LBB339: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 2142 .loc 2 478 5 discriminator 1 view .LVU672 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2143 .loc 2 480 4 discriminator 1 view .LVU673 2144 002e 02F11403 add r3, r2, #20 2145 .LVL166: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2146 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU674 2147 .syntax unified 2148 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2149 0032 53E8003F ldrex r3, [r3] 2150 @ 0 "" 2 2151 .LVL167: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2152 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU675 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2153 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU676 2154 .thumb 2155 .syntax unified 2156 .LBE339: 2157 .LBE338: 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2158 .loc 1 1476 5 discriminator 1 view .LVU677 2159 0036 23F08003 bic r3, r3, #128 2160 .LVL168: 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2161 .loc 1 1476 5 is_stmt 1 discriminator 1 view .LVU678 2162 .LBB340: 2163 .LBI340: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2164 .loc 2 527 31 discriminator 1 view .LVU679 2165 .LBB341: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 2166 .loc 2 529 4 discriminator 1 view .LVU680 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2167 .loc 2 531 4 discriminator 1 view .LVU681 2168 003a 1432 adds r2, r2, #20 2169 .LVL169: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2170 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU682 2171 .syntax unified 2172 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2173 003c 42E80031 strex r1, r3, [r2] 2174 @ 0 "" 2 2175 .LVL170: 2176 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU683 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 124 2177 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU684 2178 .thumb 2179 .syntax unified 2180 .LBE341: 2181 .LBE340: 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2182 .loc 1 1476 5 discriminator 1 view .LVU685 2183 0040 0029 cmp r1, #0 2184 0042 F3D1 bne .L140 2185 0044 E5E7 b .L139 2186 .LVL171: 2187 .L146: 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2188 .loc 1 1476 5 discriminator 1 view .LVU686 2189 .LBE337: 1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2190 .loc 1 1480 50 discriminator 1 view .LVU687 2191 0046 002A cmp r2, #0 2192 0048 ECD0 beq .L141 2193 .LVL172: 2194 .L142: 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2195 .loc 1 1483 5 is_stmt 1 discriminator 1 view .LVU688 2196 .LBB342: 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2197 .loc 1 1483 5 discriminator 1 view .LVU689 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2198 .loc 1 1483 5 discriminator 1 view .LVU690 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2199 .loc 1 1483 5 discriminator 1 view .LVU691 2200 004a 0268 ldr r2, [r0] 2201 .LVL173: 2202 .LBB343: 2203 .LBI343: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2204 .loc 2 476 31 discriminator 1 view .LVU692 2205 .LBB344: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 2206 .loc 2 478 5 discriminator 1 view .LVU693 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2207 .loc 2 480 4 discriminator 1 view .LVU694 2208 004c 02F10C03 add r3, r2, #12 2209 .LVL174: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2210 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU695 2211 .syntax unified 2212 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2213 0050 53E8003F ldrex r3, [r3] 2214 @ 0 "" 2 2215 .LVL175: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2216 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU696 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2217 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU697 2218 .thumb 2219 .syntax unified 2220 .LBE344: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 125 2221 .LBE343: 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2222 .loc 1 1483 5 discriminator 1 view .LVU698 2223 0054 23F48073 bic r3, r3, #256 2224 .LVL176: 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2225 .loc 1 1483 5 is_stmt 1 discriminator 1 view .LVU699 2226 .LBB345: 2227 .LBI345: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2228 .loc 2 527 31 discriminator 1 view .LVU700 2229 .LBB346: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 2230 .loc 2 529 4 discriminator 1 view .LVU701 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2231 .loc 2 531 4 discriminator 1 view .LVU702 2232 0058 0C32 adds r2, r2, #12 2233 .LVL177: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2234 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU703 2235 .syntax unified 2236 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2237 005a 42E80031 strex r1, r3, [r2] 2238 @ 0 "" 2 2239 .LVL178: 2240 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU704 2241 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU705 2242 .thumb 2243 .syntax unified 2244 .LBE346: 2245 .LBE345: 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2246 .loc 1 1483 5 discriminator 1 view .LVU706 2247 005e 0029 cmp r1, #0 2248 0060 F3D1 bne .L142 2249 .LVL179: 2250 .L143: 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2251 .loc 1 1483 5 discriminator 1 view .LVU707 2252 .LBE342: 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2253 .loc 1 1483 5 is_stmt 1 discriminator 1 view .LVU708 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2254 .loc 1 1484 5 discriminator 1 view .LVU709 2255 .LBB347: 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2256 .loc 1 1484 5 discriminator 1 view .LVU710 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2257 .loc 1 1484 5 discriminator 1 view .LVU711 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2258 .loc 1 1484 5 discriminator 1 view .LVU712 2259 0062 0268 ldr r2, [r0] 2260 .LVL180: 2261 .LBB348: 2262 .LBI348: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2263 .loc 2 476 31 discriminator 1 view .LVU713 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 126 2264 .LBB349: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 2265 .loc 2 478 5 discriminator 1 view .LVU714 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2266 .loc 2 480 4 discriminator 1 view .LVU715 2267 0064 02F11403 add r3, r2, #20 2268 .LVL181: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2269 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU716 2270 .syntax unified 2271 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2272 0068 53E8003F ldrex r3, [r3] 2273 @ 0 "" 2 2274 .LVL182: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2275 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU717 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2276 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU718 2277 .thumb 2278 .syntax unified 2279 .LBE349: 2280 .LBE348: 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2281 .loc 1 1484 5 discriminator 1 view .LVU719 2282 006c 23F00103 bic r3, r3, #1 2283 .LVL183: 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2284 .loc 1 1484 5 is_stmt 1 discriminator 1 view .LVU720 2285 .LBB350: 2286 .LBI350: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2287 .loc 2 527 31 discriminator 1 view .LVU721 2288 .LBB351: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 2289 .loc 2 529 4 discriminator 1 view .LVU722 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2290 .loc 2 531 4 discriminator 1 view .LVU723 2291 0070 1432 adds r2, r2, #20 2292 .LVL184: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2293 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU724 2294 .syntax unified 2295 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2296 0072 42E80031 strex r1, r3, [r2] 2297 @ 0 "" 2 2298 .LVL185: 2299 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU725 2300 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU726 2301 .thumb 2302 .syntax unified 2303 .LBE351: 2304 .LBE350: 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2305 .loc 1 1484 5 discriminator 1 view .LVU727 2306 0076 0029 cmp r1, #0 2307 0078 F3D1 bne .L143 2308 .LVL186: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 127 2309 .L144: 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2310 .loc 1 1484 5 discriminator 1 view .LVU728 2311 .LBE347: 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2312 .loc 1 1484 5 is_stmt 1 discriminator 1 view .LVU729 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2313 .loc 1 1487 5 discriminator 1 view .LVU730 2314 .LBB352: 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2315 .loc 1 1487 5 discriminator 1 view .LVU731 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2316 .loc 1 1487 5 discriminator 1 view .LVU732 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2317 .loc 1 1487 5 discriminator 1 view .LVU733 2318 007a 0268 ldr r2, [r0] 2319 .LVL187: 2320 .LBB353: 2321 .LBI353: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2322 .loc 2 476 31 discriminator 1 view .LVU734 2323 .LBB354: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 2324 .loc 2 478 5 discriminator 1 view .LVU735 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2325 .loc 2 480 4 discriminator 1 view .LVU736 2326 007c 02F11403 add r3, r2, #20 2327 .LVL188: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2328 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU737 2329 .syntax unified 2330 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2331 0080 53E8003F ldrex r3, [r3] 2332 @ 0 "" 2 2333 .LVL189: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2334 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU738 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2335 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU739 2336 .thumb 2337 .syntax unified 2338 .LBE354: 2339 .LBE353: 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2340 .loc 1 1487 5 discriminator 1 view .LVU740 2341 0084 23F04003 bic r3, r3, #64 2342 .LVL190: 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2343 .loc 1 1487 5 is_stmt 1 discriminator 1 view .LVU741 2344 .LBB355: 2345 .LBI355: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2346 .loc 2 527 31 discriminator 1 view .LVU742 2347 .LBB356: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 2348 .loc 2 529 4 discriminator 1 view .LVU743 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 128 2349 .loc 2 531 4 discriminator 1 view .LVU744 2350 0088 1432 adds r2, r2, #20 2351 .LVL191: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2352 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU745 2353 .syntax unified 2354 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2355 008a 42E80031 strex r1, r3, [r2] 2356 @ 0 "" 2 2357 .LVL192: 2358 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU746 2359 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU747 2360 .thumb 2361 .syntax unified 2362 .LBE356: 2363 .LBE355: 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2364 .loc 1 1487 5 discriminator 1 view .LVU748 2365 008e 0029 cmp r1, #0 2366 0090 F3D1 bne .L144 2367 0092 C7E7 b .L141 2368 .LBE352: 2369 .cfi_endproc 2370 .LFE252: 2372 .section .text.HAL_UART_DMAResume,"ax",%progbits 2373 .align 1 2374 .global HAL_UART_DMAResume 2375 .syntax unified 2376 .thumb 2377 .thumb_func 2379 HAL_UART_DMAResume: 2380 .LVL193: 2381 .LFB253: 1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2382 .loc 1 1500 1 is_stmt 1 view -0 2383 .cfi_startproc 2384 @ args = 0, pretend = 0, frame = 8 2385 @ frame_needed = 0, uses_anonymous_args = 0 2386 @ link register save eliminated. 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2387 .loc 1 1502 3 view .LVU750 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2388 .loc 1 1502 12 is_stmt 0 view .LVU751 2389 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 2390 0004 DBB2 uxtb r3, r3 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2391 .loc 1 1502 6 view .LVU752 2392 0006 212B cmp r3, #33 2393 0008 06D0 beq .L149 2394 .L148: 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2395 .loc 1 1505 5 is_stmt 1 discriminator 2 view .LVU753 1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2396 .loc 1 1508 3 discriminator 2 view .LVU754 1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2397 .loc 1 1508 12 is_stmt 0 discriminator 2 view .LVU755 2398 000a 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 129 2399 000e DBB2 uxtb r3, r3 1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2400 .loc 1 1508 6 discriminator 2 view .LVU756 2401 0010 222B cmp r3, #34 2402 0012 0ED0 beq .L159 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2403 .loc 1 1521 5 is_stmt 1 view .LVU757 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2404 .loc 1 1524 3 view .LVU758 1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2405 .loc 1 1525 1 is_stmt 0 view .LVU759 2406 0014 0020 movs r0, #0 2407 .LVL194: 1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2408 .loc 1 1525 1 view .LVU760 2409 0016 7047 bx lr 2410 .LVL195: 2411 .L149: 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2412 .loc 1 1505 5 is_stmt 1 discriminator 1 view .LVU761 2413 .LBB357: 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2414 .loc 1 1505 5 discriminator 1 view .LVU762 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2415 .loc 1 1505 5 discriminator 1 view .LVU763 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2416 .loc 1 1505 5 discriminator 1 view .LVU764 2417 0018 0268 ldr r2, [r0] 2418 .LVL196: 2419 .LBB358: 2420 .LBI358: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2421 .loc 2 476 31 discriminator 1 view .LVU765 2422 .LBB359: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 2423 .loc 2 478 5 discriminator 1 view .LVU766 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2424 .loc 2 480 4 discriminator 1 view .LVU767 2425 001a 02F11403 add r3, r2, #20 2426 .LVL197: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2427 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU768 2428 .syntax unified 2429 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2430 001e 53E8003F ldrex r3, [r3] 2431 @ 0 "" 2 2432 .LVL198: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2433 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU769 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2434 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU770 2435 .thumb 2436 .syntax unified 2437 .LBE359: 2438 .LBE358: 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2439 .loc 1 1505 5 discriminator 1 view .LVU771 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 130 2440 0022 43F08003 orr r3, r3, #128 2441 .LVL199: 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2442 .loc 1 1505 5 is_stmt 1 discriminator 1 view .LVU772 2443 .LBB360: 2444 .LBI360: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2445 .loc 2 527 31 discriminator 1 view .LVU773 2446 .LBB361: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 2447 .loc 2 529 4 discriminator 1 view .LVU774 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2448 .loc 2 531 4 discriminator 1 view .LVU775 2449 0026 1432 adds r2, r2, #20 2450 .LVL200: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2451 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU776 2452 .syntax unified 2453 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2454 0028 42E80031 strex r1, r3, [r2] 2455 @ 0 "" 2 2456 .LVL201: 2457 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU777 2458 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU778 2459 .thumb 2460 .syntax unified 2461 .LBE361: 2462 .LBE360: 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2463 .loc 1 1505 5 discriminator 1 view .LVU779 2464 002c 0029 cmp r1, #0 2465 002e F3D1 bne .L149 2466 0030 EBE7 b .L148 2467 .LVL202: 2468 .L159: 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2469 .loc 1 1505 5 discriminator 1 view .LVU780 2470 .LBE357: 1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2471 .loc 1 1500 1 view .LVU781 2472 0032 82B0 sub sp, sp, #8 2473 .LCFI24: 2474 .cfi_def_cfa_offset 8 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2475 .loc 1 1511 5 is_stmt 1 view .LVU782 2476 .LBB362: 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2477 .loc 1 1511 5 view .LVU783 2478 0034 0023 movs r3, #0 2479 0036 0193 str r3, [sp, #4] 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2480 .loc 1 1511 5 view .LVU784 2481 0038 0368 ldr r3, [r0] 2482 003a 1A68 ldr r2, [r3] 2483 003c 0192 str r2, [sp, #4] 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2484 .loc 1 1511 5 view .LVU785 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 131 2485 003e 5B68 ldr r3, [r3, #4] 2486 0040 0193 str r3, [sp, #4] 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2487 .loc 1 1511 5 view .LVU786 2488 0042 019B ldr r3, [sp, #4] 2489 .LBE362: 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2490 .loc 1 1511 5 view .LVU787 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2491 .loc 1 1514 5 view .LVU788 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2492 .loc 1 1514 20 is_stmt 0 view .LVU789 2493 0044 0369 ldr r3, [r0, #16] 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2494 .loc 1 1514 8 view .LVU790 2495 0046 5BB1 cbz r3, .L153 2496 .L152: 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2497 .loc 1 1516 7 is_stmt 1 discriminator 1 view .LVU791 2498 .LBB363: 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2499 .loc 1 1516 7 discriminator 1 view .LVU792 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2500 .loc 1 1516 7 discriminator 1 view .LVU793 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2501 .loc 1 1516 7 discriminator 1 view .LVU794 2502 0048 0268 ldr r2, [r0] 2503 .LVL203: 2504 .LBB364: 2505 .LBI364: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2506 .loc 2 476 31 discriminator 1 view .LVU795 2507 .LBB365: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 2508 .loc 2 478 5 discriminator 1 view .LVU796 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2509 .loc 2 480 4 discriminator 1 view .LVU797 2510 004a 02F10C03 add r3, r2, #12 2511 .LVL204: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2512 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU798 2513 .syntax unified 2514 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2515 004e 53E8003F ldrex r3, [r3] 2516 @ 0 "" 2 2517 .LVL205: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2518 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU799 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2519 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU800 2520 .thumb 2521 .syntax unified 2522 .LBE365: 2523 .LBE364: 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2524 .loc 1 1516 7 discriminator 1 view .LVU801 2525 0052 43F48073 orr r3, r3, #256 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 132 2526 .LVL206: 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2527 .loc 1 1516 7 is_stmt 1 discriminator 1 view .LVU802 2528 .LBB366: 2529 .LBI366: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2530 .loc 2 527 31 discriminator 1 view .LVU803 2531 .LBB367: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 2532 .loc 2 529 4 discriminator 1 view .LVU804 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2533 .loc 2 531 4 discriminator 1 view .LVU805 2534 0056 0C32 adds r2, r2, #12 2535 .LVL207: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2536 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU806 2537 .syntax unified 2538 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2539 0058 42E80031 strex r1, r3, [r2] 2540 @ 0 "" 2 2541 .LVL208: 2542 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU807 2543 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU808 2544 .thumb 2545 .syntax unified 2546 .LBE367: 2547 .LBE366: 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2548 .loc 1 1516 7 discriminator 1 view .LVU809 2549 005c 0029 cmp r1, #0 2550 005e F3D1 bne .L152 2551 .LVL209: 2552 .L153: 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2553 .loc 1 1516 7 discriminator 1 view .LVU810 2554 .LBE363: 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2555 .loc 1 1516 7 is_stmt 1 discriminator 1 view .LVU811 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2556 .loc 1 1518 5 discriminator 1 view .LVU812 2557 .LBB368: 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2558 .loc 1 1518 5 discriminator 1 view .LVU813 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2559 .loc 1 1518 5 discriminator 1 view .LVU814 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2560 .loc 1 1518 5 discriminator 1 view .LVU815 2561 0060 0268 ldr r2, [r0] 2562 .LVL210: 2563 .LBB369: 2564 .LBI369: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2565 .loc 2 476 31 discriminator 1 view .LVU816 2566 .LBB370: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 2567 .loc 2 478 5 discriminator 1 view .LVU817 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 133 2568 .loc 2 480 4 discriminator 1 view .LVU818 2569 0062 02F11403 add r3, r2, #20 2570 .LVL211: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2571 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU819 2572 .syntax unified 2573 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2574 0066 53E8003F ldrex r3, [r3] 2575 @ 0 "" 2 2576 .LVL212: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2577 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU820 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2578 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU821 2579 .thumb 2580 .syntax unified 2581 .LBE370: 2582 .LBE369: 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2583 .loc 1 1518 5 discriminator 1 view .LVU822 2584 006a 43F00103 orr r3, r3, #1 2585 .LVL213: 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2586 .loc 1 1518 5 is_stmt 1 discriminator 1 view .LVU823 2587 .LBB371: 2588 .LBI371: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2589 .loc 2 527 31 discriminator 1 view .LVU824 2590 .LBB372: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 2591 .loc 2 529 4 discriminator 1 view .LVU825 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2592 .loc 2 531 4 discriminator 1 view .LVU826 2593 006e 1432 adds r2, r2, #20 2594 .LVL214: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2595 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU827 2596 .syntax unified 2597 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2598 0070 42E80031 strex r1, r3, [r2] 2599 @ 0 "" 2 2600 .LVL215: 2601 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU828 2602 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU829 2603 .thumb 2604 .syntax unified 2605 .LBE372: 2606 .LBE371: 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2607 .loc 1 1518 5 discriminator 1 view .LVU830 2608 0074 0029 cmp r1, #0 2609 0076 F3D1 bne .L153 2610 .LVL216: 2611 .L154: 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2612 .loc 1 1518 5 discriminator 1 view .LVU831 2613 .LBE368: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 134 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2614 .loc 1 1518 5 is_stmt 1 discriminator 1 view .LVU832 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2615 .loc 1 1521 5 discriminator 1 view .LVU833 2616 .LBB373: 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2617 .loc 1 1521 5 discriminator 1 view .LVU834 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2618 .loc 1 1521 5 discriminator 1 view .LVU835 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2619 .loc 1 1521 5 discriminator 1 view .LVU836 2620 0078 0268 ldr r2, [r0] 2621 .LVL217: 2622 .LBB374: 2623 .LBI374: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2624 .loc 2 476 31 discriminator 1 view .LVU837 2625 .LBB375: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 2626 .loc 2 478 5 discriminator 1 view .LVU838 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2627 .loc 2 480 4 discriminator 1 view .LVU839 2628 007a 02F11403 add r3, r2, #20 2629 .LVL218: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2630 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU840 2631 .syntax unified 2632 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2633 007e 53E8003F ldrex r3, [r3] 2634 @ 0 "" 2 2635 .LVL219: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2636 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU841 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2637 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU842 2638 .thumb 2639 .syntax unified 2640 .LBE375: 2641 .LBE374: 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2642 .loc 1 1521 5 discriminator 1 view .LVU843 2643 0082 43F04003 orr r3, r3, #64 2644 .LVL220: 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2645 .loc 1 1521 5 is_stmt 1 discriminator 1 view .LVU844 2646 .LBB376: 2647 .LBI376: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2648 .loc 2 527 31 discriminator 1 view .LVU845 2649 .LBB377: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 2650 .loc 2 529 4 discriminator 1 view .LVU846 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2651 .loc 2 531 4 discriminator 1 view .LVU847 2652 0086 1432 adds r2, r2, #20 2653 .LVL221: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 135 2654 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU848 2655 .syntax unified 2656 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2657 0088 42E80031 strex r1, r3, [r2] 2658 @ 0 "" 2 2659 .LVL222: 2660 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU849 2661 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU850 2662 .thumb 2663 .syntax unified 2664 .LBE377: 2665 .LBE376: 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2666 .loc 1 1521 5 discriminator 1 view .LVU851 2667 008c 0029 cmp r1, #0 2668 008e F3D1 bne .L154 2669 .LBE373: 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2670 .loc 1 1521 5 is_stmt 1 discriminator 2 view .LVU852 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2671 .loc 1 1524 3 discriminator 2 view .LVU853 1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2672 .loc 1 1525 1 is_stmt 0 discriminator 2 view .LVU854 2673 0090 0020 movs r0, #0 2674 .LVL223: 1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2675 .loc 1 1525 1 discriminator 2 view .LVU855 2676 0092 02B0 add sp, sp, #8 2677 .LCFI25: 2678 .cfi_def_cfa_offset 0 2679 @ sp needed 2680 0094 7047 bx lr 2681 .cfi_endproc 2682 .LFE253: 2684 .section .text.HAL_UART_DMAStop,"ax",%progbits 2685 .align 1 2686 .global HAL_UART_DMAStop 2687 .syntax unified 2688 .thumb 2689 .thumb_func 2691 HAL_UART_DMAStop: 2692 .LVL224: 2693 .LFB254: 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U; 2694 .loc 1 1534 1 is_stmt 1 view -0 2695 .cfi_startproc 2696 @ args = 0, pretend = 0, frame = 0 2697 @ frame_needed = 0, uses_anonymous_args = 0 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U; 2698 .loc 1 1534 1 is_stmt 0 view .LVU857 2699 0000 10B5 push {r4, lr} 2700 .LCFI26: 2701 .cfi_def_cfa_offset 8 2702 .cfi_offset 4, -8 2703 .cfi_offset 14, -4 2704 0002 0446 mov r4, r0 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 136 2705 .loc 1 1535 3 is_stmt 1 view .LVU858 2706 .LVL225: 1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest) 2707 .loc 1 1543 3 view .LVU859 1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest) 2708 .loc 1 1543 16 is_stmt 0 view .LVU860 2709 0004 0368 ldr r3, [r0] 2710 0006 5A69 ldr r2, [r3, #20] 2711 .LVL226: 1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2712 .loc 1 1544 3 is_stmt 1 view .LVU861 1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2713 .loc 1 1544 13 is_stmt 0 view .LVU862 2714 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 2715 000c DBB2 uxtb r3, r3 1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2716 .loc 1 1544 6 view .LVU863 2717 000e 212B cmp r3, #33 2718 0010 0AD0 beq .L168 2719 .LVL227: 2720 .L161: 1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest) 2721 .loc 1 1557 3 is_stmt 1 view .LVU864 1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest) 2722 .loc 1 1557 16 is_stmt 0 view .LVU865 2723 0012 2368 ldr r3, [r4] 2724 0014 5A69 ldr r2, [r3, #20] 2725 0016 02F04002 and r2, r2, #64 2726 .LVL228: 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2727 .loc 1 1558 3 is_stmt 1 view .LVU866 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2728 .loc 1 1558 13 is_stmt 0 view .LVU867 2729 001a 94F84230 ldrb r3, [r4, #66] @ zero_extendqisi2 2730 001e DBB2 uxtb r3, r3 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2731 .loc 1 1558 6 view .LVU868 2732 0020 222B cmp r3, #34 2733 0022 19D0 beq .L169 2734 .LVL229: 2735 .L164: 1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2736 .loc 1 1570 3 is_stmt 1 view .LVU869 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2737 .loc 1 1571 1 is_stmt 0 view .LVU870 2738 0024 0020 movs r0, #0 2739 0026 10BD pop {r4, pc} 2740 .LVL230: 2741 .L168: 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2742 .loc 1 1571 1 view .LVU871 2743 0028 02F08002 and r2, r2, #128 2744 .LVL231: 1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2745 .loc 1 1544 49 discriminator 1 view .LVU872 2746 002c 002A cmp r2, #0 2747 002e F0D0 beq .L161 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 137 2748 .L162: 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2749 .loc 1 1546 5 is_stmt 1 discriminator 1 view .LVU873 2750 .LBB378: 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2751 .loc 1 1546 5 discriminator 1 view .LVU874 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2752 .loc 1 1546 5 discriminator 1 view .LVU875 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2753 .loc 1 1546 5 discriminator 1 view .LVU876 2754 0030 2268 ldr r2, [r4] 2755 .LVL232: 2756 .LBB379: 2757 .LBI379: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2758 .loc 2 476 31 discriminator 1 view .LVU877 2759 .LBB380: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 2760 .loc 2 478 5 discriminator 1 view .LVU878 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2761 .loc 2 480 4 discriminator 1 view .LVU879 2762 0032 02F11403 add r3, r2, #20 2763 .LVL233: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2764 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU880 2765 .syntax unified 2766 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2767 0036 53E8003F ldrex r3, [r3] 2768 @ 0 "" 2 2769 .LVL234: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2770 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU881 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2771 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU882 2772 .thumb 2773 .syntax unified 2774 .LBE380: 2775 .LBE379: 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2776 .loc 1 1546 5 discriminator 1 view .LVU883 2777 003a 23F08003 bic r3, r3, #128 2778 .LVL235: 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2779 .loc 1 1546 5 is_stmt 1 discriminator 1 view .LVU884 2780 .LBB381: 2781 .LBI381: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2782 .loc 2 527 31 discriminator 1 view .LVU885 2783 .LBB382: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 2784 .loc 2 529 4 discriminator 1 view .LVU886 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2785 .loc 2 531 4 discriminator 1 view .LVU887 2786 003e 1432 adds r2, r2, #20 2787 .LVL236: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2788 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU888 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 138 2789 .syntax unified 2790 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2791 0040 42E80031 strex r1, r3, [r2] 2792 @ 0 "" 2 2793 .LVL237: 2794 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU889 2795 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU890 2796 .thumb 2797 .syntax unified 2798 .LBE382: 2799 .LBE381: 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2800 .loc 1 1546 5 discriminator 1 view .LVU891 2801 0044 0029 cmp r1, #0 2802 0046 F3D1 bne .L162 2803 .LBE378: 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2804 .loc 1 1546 5 is_stmt 1 discriminator 2 view .LVU892 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2805 .loc 1 1549 5 discriminator 2 view .LVU893 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2806 .loc 1 1549 14 is_stmt 0 discriminator 2 view .LVU894 2807 0048 A06B ldr r0, [r4, #56] 2808 .LVL238: 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2809 .loc 1 1549 8 discriminator 2 view .LVU895 2810 004a 08B1 cbz r0, .L163 1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2811 .loc 1 1551 7 is_stmt 1 view .LVU896 2812 004c FFF7FEFF bl HAL_DMA_Abort 2813 .LVL239: 2814 .L163: 1553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2815 .loc 1 1553 5 view .LVU897 2816 0050 2046 mov r0, r4 2817 0052 FFF7FEFF bl UART_EndTxTransfer 2818 .LVL240: 2819 0056 DCE7 b .L161 2820 .LVL241: 2821 .L169: 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2822 .loc 1 1558 50 is_stmt 0 discriminator 1 view .LVU898 2823 0058 002A cmp r2, #0 2824 005a E3D0 beq .L164 2825 .LVL242: 2826 .L165: 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2827 .loc 1 1560 5 is_stmt 1 discriminator 1 view .LVU899 2828 .LBB383: 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2829 .loc 1 1560 5 discriminator 1 view .LVU900 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2830 .loc 1 1560 5 discriminator 1 view .LVU901 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2831 .loc 1 1560 5 discriminator 1 view .LVU902 2832 005c 2268 ldr r2, [r4] 2833 .LVL243: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 139 2834 .LBB384: 2835 .LBI384: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2836 .loc 2 476 31 discriminator 1 view .LVU903 2837 .LBB385: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 2838 .loc 2 478 5 discriminator 1 view .LVU904 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2839 .loc 2 480 4 discriminator 1 view .LVU905 2840 005e 02F11403 add r3, r2, #20 2841 .LVL244: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2842 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU906 2843 .syntax unified 2844 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2845 0062 53E8003F ldrex r3, [r3] 2846 @ 0 "" 2 2847 .LVL245: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2848 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU907 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2849 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU908 2850 .thumb 2851 .syntax unified 2852 .LBE385: 2853 .LBE384: 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2854 .loc 1 1560 5 discriminator 1 view .LVU909 2855 0066 23F04003 bic r3, r3, #64 2856 .LVL246: 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2857 .loc 1 1560 5 is_stmt 1 discriminator 1 view .LVU910 2858 .LBB386: 2859 .LBI386: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2860 .loc 2 527 31 discriminator 1 view .LVU911 2861 .LBB387: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 2862 .loc 2 529 4 discriminator 1 view .LVU912 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2863 .loc 2 531 4 discriminator 1 view .LVU913 2864 006a 1432 adds r2, r2, #20 2865 .LVL247: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2866 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU914 2867 .syntax unified 2868 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2869 006c 42E80031 strex r1, r3, [r2] 2870 @ 0 "" 2 2871 .LVL248: 2872 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU915 2873 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU916 2874 .thumb 2875 .syntax unified 2876 .LBE387: 2877 .LBE386: 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 140 2878 .loc 1 1560 5 discriminator 1 view .LVU917 2879 0070 0029 cmp r1, #0 2880 0072 F3D1 bne .L165 2881 .LBE383: 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2882 .loc 1 1560 5 is_stmt 1 discriminator 2 view .LVU918 1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2883 .loc 1 1563 5 discriminator 2 view .LVU919 1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2884 .loc 1 1563 14 is_stmt 0 discriminator 2 view .LVU920 2885 0074 E06B ldr r0, [r4, #60] 1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2886 .loc 1 1563 8 discriminator 2 view .LVU921 2887 0076 08B1 cbz r0, .L166 1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2888 .loc 1 1565 7 is_stmt 1 view .LVU922 2889 0078 FFF7FEFF bl HAL_DMA_Abort 2890 .LVL249: 2891 .L166: 1567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2892 .loc 1 1567 5 view .LVU923 2893 007c 2046 mov r0, r4 2894 007e FFF7FEFF bl UART_EndRxTransfer 2895 .LVL250: 2896 0082 CFE7 b .L164 2897 .cfi_endproc 2898 .LFE254: 2900 .section .text.HAL_UARTEx_ReceiveToIdle,"ax",%progbits 2901 .align 1 2902 .global HAL_UARTEx_ReceiveToIdle 2903 .syntax unified 2904 .thumb 2905 .thumb_func 2907 HAL_UARTEx_ReceiveToIdle: 2908 .LVL251: 2909 .LFB255: 1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits; 2910 .loc 1 1590 1 view -0 2911 .cfi_startproc 2912 @ args = 4, pretend = 0, frame = 8 2913 @ frame_needed = 0, uses_anonymous_args = 0 1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits; 2914 .loc 1 1590 1 is_stmt 0 view .LVU925 2915 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 2916 .LCFI27: 2917 .cfi_def_cfa_offset 28 2918 .cfi_offset 4, -28 2919 .cfi_offset 5, -24 2920 .cfi_offset 6, -20 2921 .cfi_offset 7, -16 2922 .cfi_offset 8, -12 2923 .cfi_offset 9, -8 2924 .cfi_offset 14, -4 2925 0004 83B0 sub sp, sp, #12 2926 .LCFI28: 2927 .cfi_def_cfa_offset 40 2928 0006 1E46 mov r6, r3 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 141 2929 0008 0A9F ldr r7, [sp, #40] 1591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits; 2930 .loc 1 1591 3 is_stmt 1 view .LVU926 1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart; 2931 .loc 1 1592 3 view .LVU927 1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2932 .loc 1 1593 3 view .LVU928 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2933 .loc 1 1596 3 view .LVU929 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2934 .loc 1 1596 12 is_stmt 0 view .LVU930 2935 000a 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2 2936 .LVL252: 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2937 .loc 1 1596 12 view .LVU931 2938 000e DBB2 uxtb r3, r3 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2939 .loc 1 1596 6 view .LVU932 2940 0010 202B cmp r3, #32 2941 0012 7FD1 bne .L184 2942 0014 0446 mov r4, r0 2943 0016 0D46 mov r5, r1 2944 0018 9146 mov r9, r2 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2945 .loc 1 1598 5 is_stmt 1 view .LVU933 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2946 .loc 1 1598 8 is_stmt 0 view .LVU934 2947 001a 0029 cmp r1, #0 2948 001c 7ED0 beq .L185 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2949 .loc 1 1598 25 discriminator 1 view .LVU935 2950 001e 0AB9 cbnz r2, .L190 1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2951 .loc 1 1600 15 view .LVU936 2952 0020 0120 movs r0, #1 2953 .LVL253: 1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2954 .loc 1 1600 15 view .LVU937 2955 0022 78E0 b .L171 2956 .LVL254: 2957 .L190: 1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 2958 .loc 1 1603 5 is_stmt 1 view .LVU938 1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 2959 .loc 1 1603 22 is_stmt 0 view .LVU939 2960 0024 0023 movs r3, #0 2961 0026 4364 str r3, [r0, #68] 1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE; 2962 .loc 1 1604 5 is_stmt 1 view .LVU940 1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE; 2963 .loc 1 1604 20 is_stmt 0 view .LVU941 2964 0028 2222 movs r2, #34 2965 .LVL255: 1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE; 2966 .loc 1 1604 20 view .LVU942 2967 002a 80F84220 strb r2, [r0, #66] 1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 142 2968 .loc 1 1605 5 is_stmt 1 view .LVU943 1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 2969 .loc 1 1605 26 is_stmt 0 view .LVU944 2970 002e 0122 movs r2, #1 2971 0030 0263 str r2, [r0, #48] 1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2972 .loc 1 1606 5 is_stmt 1 view .LVU945 1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2973 .loc 1 1606 24 is_stmt 0 view .LVU946 2974 0032 4363 str r3, [r0, #52] 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2975 .loc 1 1609 5 is_stmt 1 view .LVU947 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2976 .loc 1 1609 17 is_stmt 0 view .LVU948 2977 0034 FFF7FEFF bl HAL_GetTick 2978 .LVL256: 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2979 .loc 1 1609 17 view .LVU949 2980 0038 8046 mov r8, r0 2981 .LVL257: 1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size; 2982 .loc 1 1611 5 is_stmt 1 view .LVU950 1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size; 2983 .loc 1 1611 24 is_stmt 0 view .LVU951 2984 003a A4F82C90 strh r9, [r4, #44] @ movhi 1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2985 .loc 1 1612 5 is_stmt 1 view .LVU952 1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2986 .loc 1 1612 24 is_stmt 0 view .LVU953 2987 003e A4F82E90 strh r9, [r4, #46] @ movhi 1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2988 .loc 1 1615 5 is_stmt 1 view .LVU954 1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2989 .loc 1 1615 21 is_stmt 0 view .LVU955 2990 0042 A368 ldr r3, [r4, #8] 1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 2991 .loc 1 1615 8 view .LVU956 2992 0044 B3F5805F cmp r3, #4096 2993 0048 04D0 beq .L191 1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 2994 .loc 1 1623 19 view .LVU957 2995 004a 4FF00009 mov r9, #0 2996 .LVL258: 2997 .L172: 1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2998 .loc 1 1627 5 is_stmt 1 view .LVU958 1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 2999 .loc 1 1627 12 is_stmt 0 view .LVU959 3000 004e 0023 movs r3, #0 3001 0050 3380 strh r3, [r6] @ movhi 1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3002 .loc 1 1630 5 is_stmt 1 view .LVU960 1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3003 .loc 1 1630 11 is_stmt 0 view .LVU961 3004 0052 22E0 b .L173 3005 .LVL259: 3006 .L191: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 143 1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3007 .loc 1 1615 71 discriminator 1 view .LVU962 3008 0054 2369 ldr r3, [r4, #16] 1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3009 .loc 1 1615 56 discriminator 1 view .LVU963 3010 0056 13B1 cbz r3, .L188 1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3011 .loc 1 1623 19 view .LVU964 3012 0058 4FF00009 mov r9, #0 3013 005c F7E7 b .L172 3014 .L188: 1618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3015 .loc 1 1618 19 view .LVU965 3016 005e A946 mov r9, r5 1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 3017 .loc 1 1617 19 view .LVU966 3018 0060 0025 movs r5, #0 3019 .LVL260: 1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 3020 .loc 1 1617 19 view .LVU967 3021 0062 F4E7 b .L172 3022 .LVL261: 3023 .L194: 1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3024 .loc 1 1642 11 is_stmt 1 view .LVU968 1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3025 .loc 1 1642 30 is_stmt 0 view .LVU969 3026 0064 0223 movs r3, #2 3027 0066 6363 str r3, [r4, #52] 1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3028 .loc 1 1643 11 is_stmt 1 view .LVU970 1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3029 .loc 1 1643 26 is_stmt 0 view .LVU971 3030 0068 2023 movs r3, #32 3031 006a 84F84230 strb r3, [r4, #66] 1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3032 .loc 1 1645 11 is_stmt 1 view .LVU972 1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3033 .loc 1 1645 18 is_stmt 0 view .LVU973 3034 006e 0020 movs r0, #0 3035 0070 51E0 b .L171 3036 .L195: 1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 3037 .loc 1 1654 11 is_stmt 1 view .LVU974 1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 3038 .loc 1 1654 52 is_stmt 0 view .LVU975 3039 0072 5368 ldr r3, [r2, #4] 1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 3040 .loc 1 1654 26 view .LVU976 3041 0074 C3F30803 ubfx r3, r3, #0, #9 1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++; 3042 .loc 1 1654 24 view .LVU977 3043 0078 29F8023B strh r3, [r9], #2 @ movhi 3044 .LVL262: 1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3045 .loc 1 1655 11 is_stmt 1 view .LVU978 1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 144 3046 .loc 1 1655 11 is_stmt 0 view .LVU979 3047 007c 02E0 b .L177 3048 .L178: 1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3049 .loc 1 1661 13 is_stmt 1 view .LVU980 1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3050 .loc 1 1661 52 is_stmt 0 view .LVU981 3051 007e 5368 ldr r3, [r2, #4] 1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3052 .loc 1 1661 25 view .LVU982 3053 0080 2B70 strb r3, [r5] 3054 .L180: 1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3055 .loc 1 1668 11 is_stmt 1 view .LVU983 1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3056 .loc 1 1668 21 is_stmt 0 view .LVU984 3057 0082 0135 adds r5, r5, #1 3058 .LVL263: 3059 .L177: 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount--; 3060 .loc 1 1671 9 is_stmt 1 view .LVU985 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount--; 3061 .loc 1 1671 16 is_stmt 0 view .LVU986 3062 0084 3388 ldrh r3, [r6] 3063 0086 0133 adds r3, r3, #1 3064 0088 3380 strh r3, [r6] @ movhi 1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3065 .loc 1 1672 9 is_stmt 1 view .LVU987 1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3066 .loc 1 1672 14 is_stmt 0 view .LVU988 3067 008a E38D ldrh r3, [r4, #46] 3068 008c 9BB2 uxth r3, r3 1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3069 .loc 1 1672 27 view .LVU989 3070 008e 013B subs r3, r3, #1 3071 0090 9BB2 uxth r3, r3 3072 0092 E385 strh r3, [r4, #46] @ movhi 3073 .L175: 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3074 .loc 1 1676 7 is_stmt 1 view .LVU990 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3075 .loc 1 1676 10 is_stmt 0 view .LVU991 3076 0094 B7F1FF3F cmp r7, #-1 3077 0098 25D1 bne .L192 3078 .L173: 1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3079 .loc 1 1630 11 is_stmt 1 view .LVU992 1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3080 .loc 1 1630 17 is_stmt 0 view .LVU993 3081 009a E28D ldrh r2, [r4, #46] 3082 009c 92B2 uxth r2, r2 1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3083 .loc 1 1630 11 view .LVU994 3084 009e 002A cmp r2, #0 3085 00a0 2ED0 beq .L193 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3086 .loc 1 1633 7 is_stmt 1 view .LVU995 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 145 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3087 .loc 1 1633 11 is_stmt 0 view .LVU996 3088 00a2 2268 ldr r2, [r4] 3089 00a4 1368 ldr r3, [r2] 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3090 .loc 1 1633 10 view .LVU997 3091 00a6 13F0100F tst r3, #16 3092 00aa 09D0 beq .L174 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3093 .loc 1 1636 9 is_stmt 1 view .LVU998 3094 .LBB388: 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3095 .loc 1 1636 9 view .LVU999 3096 00ac 0023 movs r3, #0 3097 00ae 0193 str r3, [sp, #4] 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3098 .loc 1 1636 9 view .LVU1000 3099 00b0 1368 ldr r3, [r2] 3100 00b2 0193 str r3, [sp, #4] 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3101 .loc 1 1636 9 view .LVU1001 3102 00b4 5368 ldr r3, [r2, #4] 3103 00b6 0193 str r3, [sp, #4] 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3104 .loc 1 1636 9 view .LVU1002 3105 00b8 019B ldr r3, [sp, #4] 3106 .LBE388: 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3107 .loc 1 1636 9 view .LVU1003 1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3108 .loc 1 1640 9 view .LVU1004 1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3109 .loc 1 1640 13 is_stmt 0 view .LVU1005 3110 00ba 3388 ldrh r3, [r6] 1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3111 .loc 1 1640 12 view .LVU1006 3112 00bc 002B cmp r3, #0 3113 00be D1D1 bne .L194 3114 .L174: 1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3115 .loc 1 1650 7 is_stmt 1 view .LVU1007 1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3116 .loc 1 1650 11 is_stmt 0 view .LVU1008 3117 00c0 1368 ldr r3, [r2] 1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3118 .loc 1 1650 10 view .LVU1009 3119 00c2 13F0200F tst r3, #32 3120 00c6 E5D0 beq .L175 1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3121 .loc 1 1652 9 is_stmt 1 view .LVU1010 1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3122 .loc 1 1652 12 is_stmt 0 view .LVU1011 3123 00c8 002D cmp r5, #0 3124 00ca D2D0 beq .L195 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3125 .loc 1 1659 11 is_stmt 1 view .LVU1012 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 146 3126 .loc 1 1659 27 is_stmt 0 view .LVU1013 3127 00cc A368 ldr r3, [r4, #8] 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3128 .loc 1 1659 14 view .LVU1014 3129 00ce B3F5805F cmp r3, #4096 3130 00d2 D4D0 beq .L178 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3131 .loc 1 1659 62 discriminator 1 view .LVU1015 3132 00d4 13B9 cbnz r3, .L179 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3133 .loc 1 1659 128 discriminator 2 view .LVU1016 3134 00d6 2369 ldr r3, [r4, #16] 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3135 .loc 1 1659 113 discriminator 2 view .LVU1017 3136 00d8 002B cmp r3, #0 3137 00da D0D0 beq .L178 3138 .L179: 1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3139 .loc 1 1665 13 is_stmt 1 view .LVU1018 1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3140 .loc 1 1665 52 is_stmt 0 view .LVU1019 3141 00dc 5368 ldr r3, [r2, #4] 1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3142 .loc 1 1665 27 view .LVU1020 3143 00de 03F07F03 and r3, r3, #127 1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3144 .loc 1 1665 25 view .LVU1021 3145 00e2 2B70 strb r3, [r5] 3146 00e4 CDE7 b .L180 3147 .L192: 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3148 .loc 1 1678 9 is_stmt 1 view .LVU1022 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3149 .loc 1 1678 15 is_stmt 0 view .LVU1023 3150 00e6 FFF7FEFF bl HAL_GetTick 3151 .LVL264: 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3152 .loc 1 1678 29 view .LVU1024 3153 00ea A0EB0800 sub r0, r0, r8 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3154 .loc 1 1678 12 view .LVU1025 3155 00ee B842 cmp r0, r7 3156 00f0 01D8 bhi .L182 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3157 .loc 1 1678 53 discriminator 1 view .LVU1026 3158 00f2 002F cmp r7, #0 3159 00f4 D1D1 bne .L173 3160 .L182: 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3161 .loc 1 1680 11 is_stmt 1 view .LVU1027 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3162 .loc 1 1680 26 is_stmt 0 view .LVU1028 3163 00f6 2023 movs r3, #32 3164 00f8 84F84230 strb r3, [r4, #66] 1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3165 .loc 1 1682 11 is_stmt 1 view .LVU1029 1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 147 3166 .loc 1 1682 18 is_stmt 0 view .LVU1030 3167 00fc 0320 movs r0, #3 3168 00fe 0AE0 b .L171 3169 .L193: 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3170 .loc 1 1688 5 is_stmt 1 view .LVU1031 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3171 .loc 1 1688 19 is_stmt 0 view .LVU1032 3172 0100 A38D ldrh r3, [r4, #44] 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3173 .loc 1 1688 39 view .LVU1033 3174 0102 E28D ldrh r2, [r4, #46] 3175 0104 92B2 uxth r2, r2 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3176 .loc 1 1688 32 view .LVU1034 3177 0106 9B1A subs r3, r3, r2 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3178 .loc 1 1688 12 view .LVU1035 3179 0108 3380 strh r3, [r6] @ movhi 1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3180 .loc 1 1690 5 is_stmt 1 view .LVU1036 1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3181 .loc 1 1690 20 is_stmt 0 view .LVU1037 3182 010a 2023 movs r3, #32 3183 010c 84F84230 strb r3, [r4, #66] 1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3184 .loc 1 1692 5 is_stmt 1 view .LVU1038 1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3185 .loc 1 1692 12 is_stmt 0 view .LVU1039 3186 0110 0020 movs r0, #0 3187 0112 00E0 b .L171 3188 .LVL265: 3189 .L184: 1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3190 .loc 1 1696 12 view .LVU1040 3191 0114 0220 movs r0, #2 3192 .LVL266: 3193 .L171: 1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3194 .loc 1 1698 1 view .LVU1041 3195 0116 03B0 add sp, sp, #12 3196 .LCFI29: 3197 .cfi_remember_state 3198 .cfi_def_cfa_offset 28 3199 @ sp needed 3200 0118 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 3201 .LVL267: 3202 .L185: 3203 .LCFI30: 3204 .cfi_restore_state 1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3205 .loc 1 1600 15 view .LVU1042 3206 011c 0120 movs r0, #1 3207 .LVL268: 1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3208 .loc 1 1600 15 view .LVU1043 3209 011e FAE7 b .L171 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 148 3210 .cfi_endproc 3211 .LFE255: 3213 .section .text.HAL_UARTEx_GetRxEventType,"ax",%progbits 3214 .align 1 3215 .global HAL_UARTEx_GetRxEventType 3216 .syntax unified 3217 .thumb 3218 .thumb_func 3220 HAL_UARTEx_GetRxEventType: 3221 .LVL269: 3222 .LFB258: 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return Rx Event type value, as stored in UART handle */ 3223 .loc 1 1842 1 is_stmt 1 view -0 3224 .cfi_startproc 3225 @ args = 0, pretend = 0, frame = 0 3226 @ frame_needed = 0, uses_anonymous_args = 0 3227 @ link register save eliminated. 1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3228 .loc 1 1844 3 view .LVU1045 1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3229 .loc 1 1844 15 is_stmt 0 view .LVU1046 3230 0000 406B ldr r0, [r0, #52] 3231 .LVL270: 1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3232 .loc 1 1845 1 view .LVU1047 3233 0002 7047 bx lr 3234 .cfi_endproc 3235 .LFE258: 3237 .section .text.HAL_UART_Abort,"ax",%progbits 3238 .align 1 3239 .global HAL_UART_Abort 3240 .syntax unified 3241 .thumb 3242 .thumb_func 3244 HAL_UART_Abort: 3245 .LVL271: 3246 .LFB259: 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 3247 .loc 1 1860 1 is_stmt 1 view -0 3248 .cfi_startproc 3249 @ args = 0, pretend = 0, frame = 0 3250 @ frame_needed = 0, uses_anonymous_args = 0 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 3251 .loc 1 1860 1 is_stmt 0 view .LVU1049 3252 0000 10B5 push {r4, lr} 3253 .LCFI31: 3254 .cfi_def_cfa_offset 8 3255 .cfi_offset 4, -8 3256 .cfi_offset 14, -4 3257 0002 0446 mov r4, r0 3258 .L198: 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3259 .loc 1 1862 3 is_stmt 1 discriminator 1 view .LVU1050 3260 .LBB389: 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3261 .loc 1 1862 3 discriminator 1 view .LVU1051 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 149 3262 .loc 1 1862 3 discriminator 1 view .LVU1052 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3263 .loc 1 1862 3 discriminator 1 view .LVU1053 3264 0004 2268 ldr r2, [r4] 3265 .LVL272: 3266 .LBB390: 3267 .LBI390: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3268 .loc 2 476 31 discriminator 1 view .LVU1054 3269 .LBB391: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 3270 .loc 2 478 5 discriminator 1 view .LVU1055 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3271 .loc 2 480 4 discriminator 1 view .LVU1056 3272 0006 02F10C03 add r3, r2, #12 3273 .LVL273: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3274 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1057 3275 .syntax unified 3276 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3277 000a 53E8003F ldrex r3, [r3] 3278 @ 0 "" 2 3279 .LVL274: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3280 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1058 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3281 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1059 3282 .thumb 3283 .syntax unified 3284 .LBE391: 3285 .LBE390: 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3286 .loc 1 1862 3 discriminator 1 view .LVU1060 3287 000e 23F4F073 bic r3, r3, #480 3288 .LVL275: 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3289 .loc 1 1862 3 is_stmt 1 discriminator 1 view .LVU1061 3290 .LBB392: 3291 .LBI392: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3292 .loc 2 527 31 discriminator 1 view .LVU1062 3293 .LBB393: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 3294 .loc 2 529 4 discriminator 1 view .LVU1063 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3295 .loc 2 531 4 discriminator 1 view .LVU1064 3296 0012 0C32 adds r2, r2, #12 3297 .LVL276: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3298 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1065 3299 .syntax unified 3300 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3301 0014 42E80031 strex r1, r3, [r2] 3302 @ 0 "" 2 3303 .LVL277: 3304 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1066 3305 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1067 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 150 3306 .thumb 3307 .syntax unified 3308 .LBE393: 3309 .LBE392: 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3310 .loc 1 1862 3 discriminator 1 view .LVU1068 3311 0018 0029 cmp r1, #0 3312 001a F3D1 bne .L198 3313 .LVL278: 3314 .L199: 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3315 .loc 1 1862 3 discriminator 1 view .LVU1069 3316 .LBE389: 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3317 .loc 1 1862 3 is_stmt 1 discriminator 1 view .LVU1070 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3318 .loc 1 1863 3 discriminator 1 view .LVU1071 3319 .LBB394: 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3320 .loc 1 1863 3 discriminator 1 view .LVU1072 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3321 .loc 1 1863 3 discriminator 1 view .LVU1073 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3322 .loc 1 1863 3 discriminator 1 view .LVU1074 3323 001c 2268 ldr r2, [r4] 3324 .LVL279: 3325 .LBB395: 3326 .LBI395: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3327 .loc 2 476 31 discriminator 1 view .LVU1075 3328 .LBB396: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 3329 .loc 2 478 5 discriminator 1 view .LVU1076 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3330 .loc 2 480 4 discriminator 1 view .LVU1077 3331 001e 02F11403 add r3, r2, #20 3332 .LVL280: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3333 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1078 3334 .syntax unified 3335 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3336 0022 53E8003F ldrex r3, [r3] 3337 @ 0 "" 2 3338 .LVL281: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3339 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1079 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3340 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1080 3341 .thumb 3342 .syntax unified 3343 .LBE396: 3344 .LBE395: 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3345 .loc 1 1863 3 discriminator 1 view .LVU1081 3346 0026 23F00103 bic r3, r3, #1 3347 .LVL282: 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 151 3348 .loc 1 1863 3 is_stmt 1 discriminator 1 view .LVU1082 3349 .LBB397: 3350 .LBI397: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3351 .loc 2 527 31 discriminator 1 view .LVU1083 3352 .LBB398: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 3353 .loc 2 529 4 discriminator 1 view .LVU1084 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3354 .loc 2 531 4 discriminator 1 view .LVU1085 3355 002a 1432 adds r2, r2, #20 3356 .LVL283: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3357 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1086 3358 .syntax unified 3359 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3360 002c 42E80031 strex r1, r3, [r2] 3361 @ 0 "" 2 3362 .LVL284: 3363 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1087 3364 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1088 3365 .thumb 3366 .syntax unified 3367 .LBE398: 3368 .LBE397: 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3369 .loc 1 1863 3 discriminator 1 view .LVU1089 3370 0030 0029 cmp r1, #0 3371 0032 F3D1 bne .L199 3372 .LBE394: 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3373 .loc 1 1863 3 is_stmt 1 discriminator 2 view .LVU1090 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3374 .loc 1 1866 3 discriminator 2 view .LVU1091 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3375 .loc 1 1866 12 is_stmt 0 discriminator 2 view .LVU1092 3376 0034 236B ldr r3, [r4, #48] 3377 .LVL285: 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3378 .loc 1 1866 6 discriminator 2 view .LVU1093 3379 0036 012B cmp r3, #1 3380 0038 3CD0 beq .L201 3381 .L200: 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3382 .loc 1 1868 5 is_stmt 1 discriminator 2 view .LVU1094 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3383 .loc 1 1872 3 discriminator 2 view .LVU1095 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3384 .loc 1 1872 7 is_stmt 0 discriminator 2 view .LVU1096 3385 003a 2368 ldr r3, [r4] 3386 003c 5B69 ldr r3, [r3, #20] 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3387 .loc 1 1872 6 discriminator 2 view .LVU1097 3388 003e 13F0800F tst r3, #128 3389 0042 13D0 beq .L202 3390 .L203: 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 152 3391 .loc 1 1874 5 is_stmt 1 discriminator 1 view .LVU1098 3392 .LBB399: 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3393 .loc 1 1874 5 discriminator 1 view .LVU1099 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3394 .loc 1 1874 5 discriminator 1 view .LVU1100 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3395 .loc 1 1874 5 discriminator 1 view .LVU1101 3396 0044 2268 ldr r2, [r4] 3397 .LVL286: 3398 .LBB400: 3399 .LBI400: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3400 .loc 2 476 31 discriminator 1 view .LVU1102 3401 .LBB401: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 3402 .loc 2 478 5 discriminator 1 view .LVU1103 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3403 .loc 2 480 4 discriminator 1 view .LVU1104 3404 0046 02F11403 add r3, r2, #20 3405 .LVL287: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3406 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1105 3407 .syntax unified 3408 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3409 004a 53E8003F ldrex r3, [r3] 3410 @ 0 "" 2 3411 .LVL288: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3412 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1106 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3413 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1107 3414 .thumb 3415 .syntax unified 3416 .LBE401: 3417 .LBE400: 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3418 .loc 1 1874 5 discriminator 1 view .LVU1108 3419 004e 23F08003 bic r3, r3, #128 3420 .LVL289: 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3421 .loc 1 1874 5 is_stmt 1 discriminator 1 view .LVU1109 3422 .LBB402: 3423 .LBI402: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3424 .loc 2 527 31 discriminator 1 view .LVU1110 3425 .LBB403: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 3426 .loc 2 529 4 discriminator 1 view .LVU1111 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3427 .loc 2 531 4 discriminator 1 view .LVU1112 3428 0052 1432 adds r2, r2, #20 3429 .LVL290: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3430 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1113 3431 .syntax unified 3432 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 153 3433 0054 42E80031 strex r1, r3, [r2] 3434 @ 0 "" 2 3435 .LVL291: 3436 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1114 3437 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1115 3438 .thumb 3439 .syntax unified 3440 .LBE403: 3441 .LBE402: 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3442 .loc 1 1874 5 discriminator 1 view .LVU1116 3443 0058 0029 cmp r1, #0 3444 005a F3D1 bne .L203 3445 .LBE399: 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3446 .loc 1 1874 5 is_stmt 1 discriminator 2 view .LVU1117 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3447 .loc 1 1877 5 discriminator 2 view .LVU1118 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3448 .loc 1 1877 14 is_stmt 0 discriminator 2 view .LVU1119 3449 005c A36B ldr r3, [r4, #56] 3450 .LVL292: 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3451 .loc 1 1877 8 discriminator 2 view .LVU1120 3452 005e 2BB1 cbz r3, .L202 1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3453 .loc 1 1881 7 is_stmt 1 view .LVU1121 1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3454 .loc 1 1881 40 is_stmt 0 view .LVU1122 3455 0060 0022 movs r2, #0 3456 0062 1A65 str r2, [r3, #80] 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3457 .loc 1 1883 7 is_stmt 1 view .LVU1123 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3458 .loc 1 1883 11 is_stmt 0 view .LVU1124 3459 0064 A06B ldr r0, [r4, #56] 3460 .LVL293: 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3461 .loc 1 1883 11 view .LVU1125 3462 0066 FFF7FEFF bl HAL_DMA_Abort 3463 .LVL294: 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3464 .loc 1 1883 10 view .LVU1126 3465 006a 80BB cbnz r0, .L208 3466 .L202: 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3467 .loc 1 1897 3 is_stmt 1 view .LVU1127 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3468 .loc 1 1897 7 is_stmt 0 view .LVU1128 3469 006c 2368 ldr r3, [r4] 3470 006e 5B69 ldr r3, [r3, #20] 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3471 .loc 1 1897 6 view .LVU1129 3472 0070 13F0400F tst r3, #64 3473 0074 13D0 beq .L205 3474 .L206: 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 154 3475 .loc 1 1899 5 is_stmt 1 discriminator 1 view .LVU1130 3476 .LBB404: 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3477 .loc 1 1899 5 discriminator 1 view .LVU1131 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3478 .loc 1 1899 5 discriminator 1 view .LVU1132 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3479 .loc 1 1899 5 discriminator 1 view .LVU1133 3480 0076 2268 ldr r2, [r4] 3481 .LVL295: 3482 .LBB405: 3483 .LBI405: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3484 .loc 2 476 31 discriminator 1 view .LVU1134 3485 .LBB406: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 3486 .loc 2 478 5 discriminator 1 view .LVU1135 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3487 .loc 2 480 4 discriminator 1 view .LVU1136 3488 0078 02F11403 add r3, r2, #20 3489 .LVL296: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3490 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1137 3491 .syntax unified 3492 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3493 007c 53E8003F ldrex r3, [r3] 3494 @ 0 "" 2 3495 .LVL297: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3496 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1138 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3497 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1139 3498 .thumb 3499 .syntax unified 3500 .LBE406: 3501 .LBE405: 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3502 .loc 1 1899 5 discriminator 1 view .LVU1140 3503 0080 23F04003 bic r3, r3, #64 3504 .LVL298: 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3505 .loc 1 1899 5 is_stmt 1 discriminator 1 view .LVU1141 3506 .LBB407: 3507 .LBI407: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3508 .loc 2 527 31 discriminator 1 view .LVU1142 3509 .LBB408: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 3510 .loc 2 529 4 discriminator 1 view .LVU1143 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3511 .loc 2 531 4 discriminator 1 view .LVU1144 3512 0084 1432 adds r2, r2, #20 3513 .LVL299: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3514 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1145 3515 .syntax unified 3516 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 155 3517 0086 42E80031 strex r1, r3, [r2] 3518 @ 0 "" 2 3519 .LVL300: 3520 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1146 3521 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1147 3522 .thumb 3523 .syntax unified 3524 .LBE408: 3525 .LBE407: 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3526 .loc 1 1899 5 discriminator 1 view .LVU1148 3527 008a 0029 cmp r1, #0 3528 008c F3D1 bne .L206 3529 .LBE404: 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3530 .loc 1 1899 5 is_stmt 1 discriminator 2 view .LVU1149 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3531 .loc 1 1902 5 discriminator 2 view .LVU1150 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3532 .loc 1 1902 14 is_stmt 0 discriminator 2 view .LVU1151 3533 008e E36B ldr r3, [r4, #60] 3534 .LVL301: 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3535 .loc 1 1902 8 discriminator 2 view .LVU1152 3536 0090 2BB1 cbz r3, .L205 1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3537 .loc 1 1906 7 is_stmt 1 view .LVU1153 1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3538 .loc 1 1906 40 is_stmt 0 view .LVU1154 3539 0092 0022 movs r2, #0 3540 0094 1A65 str r2, [r3, #80] 1908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3541 .loc 1 1908 7 is_stmt 1 view .LVU1155 1908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3542 .loc 1 1908 11 is_stmt 0 view .LVU1156 3543 0096 E06B ldr r0, [r4, #60] 3544 0098 FFF7FEFF bl HAL_DMA_Abort 3545 .LVL302: 1908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3546 .loc 1 1908 10 view .LVU1157 3547 009c 00BB cbnz r0, .L209 3548 .L205: 1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 3549 .loc 1 1922 3 is_stmt 1 view .LVU1158 1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 3550 .loc 1 1922 22 is_stmt 0 view .LVU1159 3551 009e 0020 movs r0, #0 3552 00a0 E084 strh r0, [r4, #38] @ movhi 1923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3553 .loc 1 1923 3 is_stmt 1 view .LVU1160 1923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3554 .loc 1 1923 22 is_stmt 0 view .LVU1161 3555 00a2 E085 strh r0, [r4, #46] @ movhi 1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3556 .loc 1 1926 3 is_stmt 1 view .LVU1162 1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3557 .loc 1 1926 20 is_stmt 0 view .LVU1163 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 156 3558 00a4 6064 str r0, [r4, #68] 1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3559 .loc 1 1929 3 is_stmt 1 view .LVU1164 1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3560 .loc 1 1929 18 is_stmt 0 view .LVU1165 3561 00a6 2023 movs r3, #32 3562 00a8 84F84230 strb r3, [r4, #66] 1930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3563 .loc 1 1930 3 is_stmt 1 view .LVU1166 1930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3564 .loc 1 1930 17 is_stmt 0 view .LVU1167 3565 00ac 84F84130 strb r3, [r4, #65] 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3566 .loc 1 1931 3 is_stmt 1 view .LVU1168 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3567 .loc 1 1931 24 is_stmt 0 view .LVU1169 3568 00b0 2063 str r0, [r4, #48] 1933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3569 .loc 1 1933 3 is_stmt 1 view .LVU1170 3570 .L204: 1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3571 .loc 1 1934 1 is_stmt 0 view .LVU1171 3572 00b2 10BD pop {r4, pc} 3573 .LVL303: 3574 .L201: 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3575 .loc 1 1868 5 is_stmt 1 discriminator 1 view .LVU1172 3576 .LBB409: 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3577 .loc 1 1868 5 discriminator 1 view .LVU1173 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3578 .loc 1 1868 5 discriminator 1 view .LVU1174 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3579 .loc 1 1868 5 discriminator 1 view .LVU1175 3580 00b4 2268 ldr r2, [r4] 3581 .LVL304: 3582 .LBB410: 3583 .LBI410: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3584 .loc 2 476 31 discriminator 1 view .LVU1176 3585 .LBB411: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 3586 .loc 2 478 5 discriminator 1 view .LVU1177 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3587 .loc 2 480 4 discriminator 1 view .LVU1178 3588 00b6 02F10C03 add r3, r2, #12 3589 .LVL305: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3590 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1179 3591 .syntax unified 3592 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3593 00ba 53E8003F ldrex r3, [r3] 3594 @ 0 "" 2 3595 .LVL306: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3596 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1180 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 157 3597 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1181 3598 .thumb 3599 .syntax unified 3600 .LBE411: 3601 .LBE410: 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3602 .loc 1 1868 5 discriminator 1 view .LVU1182 3603 00be 23F01003 bic r3, r3, #16 3604 .LVL307: 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3605 .loc 1 1868 5 is_stmt 1 discriminator 1 view .LVU1183 3606 .LBB412: 3607 .LBI412: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3608 .loc 2 527 31 discriminator 1 view .LVU1184 3609 .LBB413: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 3610 .loc 2 529 4 discriminator 1 view .LVU1185 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3611 .loc 2 531 4 discriminator 1 view .LVU1186 3612 00c2 0C32 adds r2, r2, #12 3613 .LVL308: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3614 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1187 3615 .syntax unified 3616 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3617 00c4 42E80031 strex r1, r3, [r2] 3618 @ 0 "" 2 3619 .LVL309: 3620 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1188 3621 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1189 3622 .thumb 3623 .syntax unified 3624 .LBE413: 3625 .LBE412: 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3626 .loc 1 1868 5 discriminator 1 view .LVU1190 3627 00c8 0029 cmp r1, #0 3628 00ca F3D1 bne .L201 3629 00cc B5E7 b .L200 3630 .LVL310: 3631 .L208: 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3632 .loc 1 1868 5 discriminator 1 view .LVU1191 3633 .LBE409: 1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3634 .loc 1 1885 9 is_stmt 1 view .LVU1192 1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3635 .loc 1 1885 13 is_stmt 0 view .LVU1193 3636 00ce A06B ldr r0, [r4, #56] 3637 00d0 FFF7FEFF bl HAL_DMA_GetError 3638 .LVL311: 1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3639 .loc 1 1885 12 view .LVU1194 3640 00d4 2028 cmp r0, #32 3641 00d6 C9D1 bne .L202 1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 158 3642 .loc 1 1888 11 is_stmt 1 view .LVU1195 1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3643 .loc 1 1888 28 is_stmt 0 view .LVU1196 3644 00d8 1023 movs r3, #16 3645 00da 6364 str r3, [r4, #68] 1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3646 .loc 1 1890 11 is_stmt 1 view .LVU1197 1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3647 .loc 1 1890 18 is_stmt 0 view .LVU1198 3648 00dc 0320 movs r0, #3 3649 00de E8E7 b .L204 3650 .L209: 1910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3651 .loc 1 1910 9 is_stmt 1 view .LVU1199 1910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3652 .loc 1 1910 13 is_stmt 0 view .LVU1200 3653 00e0 E06B ldr r0, [r4, #60] 3654 00e2 FFF7FEFF bl HAL_DMA_GetError 3655 .LVL312: 1910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3656 .loc 1 1910 12 view .LVU1201 3657 00e6 2028 cmp r0, #32 3658 00e8 D9D1 bne .L205 1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3659 .loc 1 1913 11 is_stmt 1 view .LVU1202 1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3660 .loc 1 1913 28 is_stmt 0 view .LVU1203 3661 00ea 1023 movs r3, #16 3662 00ec 6364 str r3, [r4, #68] 1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3663 .loc 1 1915 11 is_stmt 1 view .LVU1204 1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3664 .loc 1 1915 18 is_stmt 0 view .LVU1205 3665 00ee 0320 movs r0, #3 3666 00f0 DFE7 b .L204 3667 .cfi_endproc 3668 .LFE259: 3670 .section .text.HAL_UART_AbortTransmit,"ax",%progbits 3671 .align 1 3672 .global HAL_UART_AbortTransmit 3673 .syntax unified 3674 .thumb 3675 .thumb_func 3677 HAL_UART_AbortTransmit: 3678 .LVL313: 3679 .LFB260: 1949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 3680 .loc 1 1949 1 is_stmt 1 view -0 3681 .cfi_startproc 3682 @ args = 0, pretend = 0, frame = 0 3683 @ frame_needed = 0, uses_anonymous_args = 0 1949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 3684 .loc 1 1949 1 is_stmt 0 view .LVU1207 3685 0000 10B5 push {r4, lr} 3686 .LCFI32: 3687 .cfi_def_cfa_offset 8 3688 .cfi_offset 4, -8 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 159 3689 .cfi_offset 14, -4 3690 0002 0446 mov r4, r0 3691 .L211: 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3692 .loc 1 1951 3 is_stmt 1 discriminator 1 view .LVU1208 3693 .LBB414: 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3694 .loc 1 1951 3 discriminator 1 view .LVU1209 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3695 .loc 1 1951 3 discriminator 1 view .LVU1210 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3696 .loc 1 1951 3 discriminator 1 view .LVU1211 3697 0004 2268 ldr r2, [r4] 3698 .LVL314: 3699 .LBB415: 3700 .LBI415: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3701 .loc 2 476 31 discriminator 1 view .LVU1212 3702 .LBB416: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 3703 .loc 2 478 5 discriminator 1 view .LVU1213 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3704 .loc 2 480 4 discriminator 1 view .LVU1214 3705 0006 02F10C03 add r3, r2, #12 3706 .LVL315: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3707 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1215 3708 .syntax unified 3709 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3710 000a 53E8003F ldrex r3, [r3] 3711 @ 0 "" 2 3712 .LVL316: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3713 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1216 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3714 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1217 3715 .thumb 3716 .syntax unified 3717 .LBE416: 3718 .LBE415: 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3719 .loc 1 1951 3 discriminator 1 view .LVU1218 3720 000e 23F0C003 bic r3, r3, #192 3721 .LVL317: 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3722 .loc 1 1951 3 is_stmt 1 discriminator 1 view .LVU1219 3723 .LBB417: 3724 .LBI417: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3725 .loc 2 527 31 discriminator 1 view .LVU1220 3726 .LBB418: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 3727 .loc 2 529 4 discriminator 1 view .LVU1221 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3728 .loc 2 531 4 discriminator 1 view .LVU1222 3729 0012 0C32 adds r2, r2, #12 3730 .LVL318: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 160 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3731 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1223 3732 .syntax unified 3733 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3734 0014 42E80031 strex r1, r3, [r2] 3735 @ 0 "" 2 3736 .LVL319: 3737 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1224 3738 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1225 3739 .thumb 3740 .syntax unified 3741 .LBE418: 3742 .LBE417: 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3743 .loc 1 1951 3 discriminator 1 view .LVU1226 3744 0018 0029 cmp r1, #0 3745 001a F3D1 bne .L211 3746 .LBE414: 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3747 .loc 1 1951 3 is_stmt 1 discriminator 2 view .LVU1227 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3748 .loc 1 1954 3 discriminator 2 view .LVU1228 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3749 .loc 1 1954 7 is_stmt 0 discriminator 2 view .LVU1229 3750 001c 2368 ldr r3, [r4] 3751 .LVL320: 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3752 .loc 1 1954 7 discriminator 2 view .LVU1230 3753 001e 5B69 ldr r3, [r3, #20] 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3754 .loc 1 1954 6 discriminator 2 view .LVU1231 3755 0020 13F0800F tst r3, #128 3756 0024 13D0 beq .L212 3757 .L213: 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3758 .loc 1 1956 5 is_stmt 1 discriminator 1 view .LVU1232 3759 .LBB419: 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3760 .loc 1 1956 5 discriminator 1 view .LVU1233 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3761 .loc 1 1956 5 discriminator 1 view .LVU1234 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3762 .loc 1 1956 5 discriminator 1 view .LVU1235 3763 0026 2268 ldr r2, [r4] 3764 .LVL321: 3765 .LBB420: 3766 .LBI420: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3767 .loc 2 476 31 discriminator 1 view .LVU1236 3768 .LBB421: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 3769 .loc 2 478 5 discriminator 1 view .LVU1237 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3770 .loc 2 480 4 discriminator 1 view .LVU1238 3771 0028 02F11403 add r3, r2, #20 3772 .LVL322: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 161 3773 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1239 3774 .syntax unified 3775 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3776 002c 53E8003F ldrex r3, [r3] 3777 @ 0 "" 2 3778 .LVL323: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3779 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1240 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3780 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1241 3781 .thumb 3782 .syntax unified 3783 .LBE421: 3784 .LBE420: 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3785 .loc 1 1956 5 discriminator 1 view .LVU1242 3786 0030 23F08003 bic r3, r3, #128 3787 .LVL324: 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3788 .loc 1 1956 5 is_stmt 1 discriminator 1 view .LVU1243 3789 .LBB422: 3790 .LBI422: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3791 .loc 2 527 31 discriminator 1 view .LVU1244 3792 .LBB423: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 3793 .loc 2 529 4 discriminator 1 view .LVU1245 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3794 .loc 2 531 4 discriminator 1 view .LVU1246 3795 0034 1432 adds r2, r2, #20 3796 .LVL325: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3797 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1247 3798 .syntax unified 3799 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3800 0036 42E80031 strex r1, r3, [r2] 3801 @ 0 "" 2 3802 .LVL326: 3803 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1248 3804 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1249 3805 .thumb 3806 .syntax unified 3807 .LBE423: 3808 .LBE422: 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3809 .loc 1 1956 5 discriminator 1 view .LVU1250 3810 003a 0029 cmp r1, #0 3811 003c F3D1 bne .L213 3812 .LBE419: 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3813 .loc 1 1956 5 is_stmt 1 discriminator 2 view .LVU1251 1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3814 .loc 1 1959 5 discriminator 2 view .LVU1252 1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3815 .loc 1 1959 14 is_stmt 0 discriminator 2 view .LVU1253 3816 003e A36B ldr r3, [r4, #56] 3817 .LVL327: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 162 1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3818 .loc 1 1959 8 discriminator 2 view .LVU1254 3819 0040 2BB1 cbz r3, .L212 1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3820 .loc 1 1963 7 is_stmt 1 view .LVU1255 1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3821 .loc 1 1963 40 is_stmt 0 view .LVU1256 3822 0042 0022 movs r2, #0 3823 0044 1A65 str r2, [r3, #80] 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3824 .loc 1 1965 7 is_stmt 1 view .LVU1257 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3825 .loc 1 1965 11 is_stmt 0 view .LVU1258 3826 0046 A06B ldr r0, [r4, #56] 3827 .LVL328: 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3828 .loc 1 1965 11 view .LVU1259 3829 0048 FFF7FEFF bl HAL_DMA_Abort 3830 .LVL329: 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3831 .loc 1 1965 10 view .LVU1260 3832 004c 28B9 cbnz r0, .L216 3833 .L212: 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3834 .loc 1 1979 3 is_stmt 1 view .LVU1261 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3835 .loc 1 1979 22 is_stmt 0 view .LVU1262 3836 004e 0020 movs r0, #0 3837 0050 E084 strh r0, [r4, #38] @ movhi 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3838 .loc 1 1982 3 is_stmt 1 view .LVU1263 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3839 .loc 1 1982 17 is_stmt 0 view .LVU1264 3840 0052 2023 movs r3, #32 3841 0054 84F84130 strb r3, [r4, #65] 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3842 .loc 1 1984 3 is_stmt 1 view .LVU1265 3843 .L214: 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3844 .loc 1 1985 1 is_stmt 0 view .LVU1266 3845 0058 10BD pop {r4, pc} 3846 .LVL330: 3847 .L216: 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3848 .loc 1 1967 9 is_stmt 1 view .LVU1267 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3849 .loc 1 1967 13 is_stmt 0 view .LVU1268 3850 005a A06B ldr r0, [r4, #56] 3851 005c FFF7FEFF bl HAL_DMA_GetError 3852 .LVL331: 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 3853 .loc 1 1967 12 view .LVU1269 3854 0060 2028 cmp r0, #32 3855 0062 F4D1 bne .L212 1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3856 .loc 1 1970 11 is_stmt 1 view .LVU1270 1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 163 3857 .loc 1 1970 28 is_stmt 0 view .LVU1271 3858 0064 1023 movs r3, #16 3859 0066 6364 str r3, [r4, #68] 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3860 .loc 1 1972 11 is_stmt 1 view .LVU1272 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 3861 .loc 1 1972 18 is_stmt 0 view .LVU1273 3862 0068 0320 movs r0, #3 3863 006a F5E7 b .L214 3864 .cfi_endproc 3865 .LFE260: 3867 .section .text.HAL_UART_AbortReceive,"ax",%progbits 3868 .align 1 3869 .global HAL_UART_AbortReceive 3870 .syntax unified 3871 .thumb 3872 .thumb_func 3874 HAL_UART_AbortReceive: 3875 .LVL332: 3876 .LFB261: 2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 3877 .loc 1 2000 1 is_stmt 1 view -0 3878 .cfi_startproc 3879 @ args = 0, pretend = 0, frame = 0 3880 @ frame_needed = 0, uses_anonymous_args = 0 2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 3881 .loc 1 2000 1 is_stmt 0 view .LVU1275 3882 0000 10B5 push {r4, lr} 3883 .LCFI33: 3884 .cfi_def_cfa_offset 8 3885 .cfi_offset 4, -8 3886 .cfi_offset 14, -4 3887 0002 0446 mov r4, r0 3888 .L218: 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3889 .loc 1 2002 3 is_stmt 1 discriminator 1 view .LVU1276 3890 .LBB424: 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3891 .loc 1 2002 3 discriminator 1 view .LVU1277 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3892 .loc 1 2002 3 discriminator 1 view .LVU1278 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3893 .loc 1 2002 3 discriminator 1 view .LVU1279 3894 0004 2268 ldr r2, [r4] 3895 .LVL333: 3896 .LBB425: 3897 .LBI425: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3898 .loc 2 476 31 discriminator 1 view .LVU1280 3899 .LBB426: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 3900 .loc 2 478 5 discriminator 1 view .LVU1281 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3901 .loc 2 480 4 discriminator 1 view .LVU1282 3902 0006 02F10C03 add r3, r2, #12 3903 .LVL334: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 164 3904 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1283 3905 .syntax unified 3906 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3907 000a 53E8003F ldrex r3, [r3] 3908 @ 0 "" 2 3909 .LVL335: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3910 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1284 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3911 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1285 3912 .thumb 3913 .syntax unified 3914 .LBE426: 3915 .LBE425: 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3916 .loc 1 2002 3 discriminator 1 view .LVU1286 3917 000e 23F49073 bic r3, r3, #288 3918 .LVL336: 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3919 .loc 1 2002 3 is_stmt 1 discriminator 1 view .LVU1287 3920 .LBB427: 3921 .LBI427: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3922 .loc 2 527 31 discriminator 1 view .LVU1288 3923 .LBB428: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 3924 .loc 2 529 4 discriminator 1 view .LVU1289 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3925 .loc 2 531 4 discriminator 1 view .LVU1290 3926 0012 0C32 adds r2, r2, #12 3927 .LVL337: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3928 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1291 3929 .syntax unified 3930 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3931 0014 42E80031 strex r1, r3, [r2] 3932 @ 0 "" 2 3933 .LVL338: 3934 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1292 3935 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1293 3936 .thumb 3937 .syntax unified 3938 .LBE428: 3939 .LBE427: 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3940 .loc 1 2002 3 discriminator 1 view .LVU1294 3941 0018 0029 cmp r1, #0 3942 001a F3D1 bne .L218 3943 .LVL339: 3944 .L219: 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3945 .loc 1 2002 3 discriminator 1 view .LVU1295 3946 .LBE424: 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3947 .loc 1 2002 3 is_stmt 1 discriminator 1 view .LVU1296 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3948 .loc 1 2003 3 discriminator 1 view .LVU1297 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 165 3949 .LBB429: 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3950 .loc 1 2003 3 discriminator 1 view .LVU1298 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3951 .loc 1 2003 3 discriminator 1 view .LVU1299 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3952 .loc 1 2003 3 discriminator 1 view .LVU1300 3953 001c 2268 ldr r2, [r4] 3954 .LVL340: 3955 .LBB430: 3956 .LBI430: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3957 .loc 2 476 31 discriminator 1 view .LVU1301 3958 .LBB431: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 3959 .loc 2 478 5 discriminator 1 view .LVU1302 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3960 .loc 2 480 4 discriminator 1 view .LVU1303 3961 001e 02F11403 add r3, r2, #20 3962 .LVL341: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3963 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1304 3964 .syntax unified 3965 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3966 0022 53E8003F ldrex r3, [r3] 3967 @ 0 "" 2 3968 .LVL342: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3969 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1305 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3970 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1306 3971 .thumb 3972 .syntax unified 3973 .LBE431: 3974 .LBE430: 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3975 .loc 1 2003 3 discriminator 1 view .LVU1307 3976 0026 23F00103 bic r3, r3, #1 3977 .LVL343: 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3978 .loc 1 2003 3 is_stmt 1 discriminator 1 view .LVU1308 3979 .LBB432: 3980 .LBI432: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3981 .loc 2 527 31 discriminator 1 view .LVU1309 3982 .LBB433: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 3983 .loc 2 529 4 discriminator 1 view .LVU1310 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3984 .loc 2 531 4 discriminator 1 view .LVU1311 3985 002a 1432 adds r2, r2, #20 3986 .LVL344: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3987 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1312 3988 .syntax unified 3989 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3990 002c 42E80031 strex r1, r3, [r2] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 166 3991 @ 0 "" 2 3992 .LVL345: 3993 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1313 3994 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1314 3995 .thumb 3996 .syntax unified 3997 .LBE433: 3998 .LBE432: 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 3999 .loc 1 2003 3 discriminator 1 view .LVU1315 4000 0030 0029 cmp r1, #0 4001 0032 F3D1 bne .L219 4002 .LBE429: 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4003 .loc 1 2003 3 is_stmt 1 discriminator 2 view .LVU1316 2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4004 .loc 1 2006 3 discriminator 2 view .LVU1317 2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4005 .loc 1 2006 12 is_stmt 0 discriminator 2 view .LVU1318 4006 0034 236B ldr r3, [r4, #48] 4007 .LVL346: 2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4008 .loc 1 2006 6 discriminator 2 view .LVU1319 4009 0036 012B cmp r3, #1 4010 0038 1FD0 beq .L221 4011 .L220: 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4012 .loc 1 2008 5 is_stmt 1 discriminator 2 view .LVU1320 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4013 .loc 1 2012 3 discriminator 2 view .LVU1321 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4014 .loc 1 2012 7 is_stmt 0 discriminator 2 view .LVU1322 4015 003a 2368 ldr r3, [r4] 4016 003c 5B69 ldr r3, [r3, #20] 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4017 .loc 1 2012 6 discriminator 2 view .LVU1323 4018 003e 13F0400F tst r3, #64 4019 0042 13D0 beq .L222 4020 .L223: 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4021 .loc 1 2014 5 is_stmt 1 discriminator 1 view .LVU1324 4022 .LBB434: 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4023 .loc 1 2014 5 discriminator 1 view .LVU1325 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4024 .loc 1 2014 5 discriminator 1 view .LVU1326 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4025 .loc 1 2014 5 discriminator 1 view .LVU1327 4026 0044 2268 ldr r2, [r4] 4027 .LVL347: 4028 .LBB435: 4029 .LBI435: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4030 .loc 2 476 31 discriminator 1 view .LVU1328 4031 .LBB436: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 4032 .loc 2 478 5 discriminator 1 view .LVU1329 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 167 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4033 .loc 2 480 4 discriminator 1 view .LVU1330 4034 0046 02F11403 add r3, r2, #20 4035 .LVL348: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4036 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1331 4037 .syntax unified 4038 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4039 004a 53E8003F ldrex r3, [r3] 4040 @ 0 "" 2 4041 .LVL349: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4042 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1332 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4043 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1333 4044 .thumb 4045 .syntax unified 4046 .LBE436: 4047 .LBE435: 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4048 .loc 1 2014 5 discriminator 1 view .LVU1334 4049 004e 23F04003 bic r3, r3, #64 4050 .LVL350: 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4051 .loc 1 2014 5 is_stmt 1 discriminator 1 view .LVU1335 4052 .LBB437: 4053 .LBI437: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4054 .loc 2 527 31 discriminator 1 view .LVU1336 4055 .LBB438: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 4056 .loc 2 529 4 discriminator 1 view .LVU1337 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4057 .loc 2 531 4 discriminator 1 view .LVU1338 4058 0052 1432 adds r2, r2, #20 4059 .LVL351: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4060 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1339 4061 .syntax unified 4062 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4063 0054 42E80031 strex r1, r3, [r2] 4064 @ 0 "" 2 4065 .LVL352: 4066 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1340 4067 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1341 4068 .thumb 4069 .syntax unified 4070 .LBE438: 4071 .LBE437: 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4072 .loc 1 2014 5 discriminator 1 view .LVU1342 4073 0058 0029 cmp r1, #0 4074 005a F3D1 bne .L223 4075 .LBE434: 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4076 .loc 1 2014 5 is_stmt 1 discriminator 2 view .LVU1343 2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 168 4077 .loc 1 2017 5 discriminator 2 view .LVU1344 2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4078 .loc 1 2017 14 is_stmt 0 discriminator 2 view .LVU1345 4079 005c E36B ldr r3, [r4, #60] 4080 .LVL353: 2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4081 .loc 1 2017 8 discriminator 2 view .LVU1346 4082 005e 2BB1 cbz r3, .L222 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4083 .loc 1 2021 7 is_stmt 1 view .LVU1347 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4084 .loc 1 2021 40 is_stmt 0 view .LVU1348 4085 0060 0022 movs r2, #0 4086 0062 1A65 str r2, [r3, #80] 2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4087 .loc 1 2023 7 is_stmt 1 view .LVU1349 2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4088 .loc 1 2023 11 is_stmt 0 view .LVU1350 4089 0064 E06B ldr r0, [r4, #60] 4090 .LVL354: 2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4091 .loc 1 2023 11 view .LVU1351 4092 0066 FFF7FEFF bl HAL_DMA_Abort 4093 .LVL355: 2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4094 .loc 1 2023 10 view .LVU1352 4095 006a 98B9 cbnz r0, .L226 4096 .L222: 2037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4097 .loc 1 2037 3 is_stmt 1 view .LVU1353 2037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4098 .loc 1 2037 22 is_stmt 0 view .LVU1354 4099 006c 0020 movs r0, #0 4100 006e E085 strh r0, [r4, #46] @ movhi 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4101 .loc 1 2040 3 is_stmt 1 view .LVU1355 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4102 .loc 1 2040 18 is_stmt 0 view .LVU1356 4103 0070 2023 movs r3, #32 4104 0072 84F84230 strb r3, [r4, #66] 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4105 .loc 1 2041 3 is_stmt 1 view .LVU1357 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4106 .loc 1 2041 24 is_stmt 0 view .LVU1358 4107 0076 2063 str r0, [r4, #48] 2043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4108 .loc 1 2043 3 is_stmt 1 view .LVU1359 4109 .L224: 2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4110 .loc 1 2044 1 is_stmt 0 view .LVU1360 4111 0078 10BD pop {r4, pc} 4112 .LVL356: 4113 .L221: 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4114 .loc 1 2008 5 is_stmt 1 discriminator 1 view .LVU1361 4115 .LBB439: 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 169 4116 .loc 1 2008 5 discriminator 1 view .LVU1362 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4117 .loc 1 2008 5 discriminator 1 view .LVU1363 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4118 .loc 1 2008 5 discriminator 1 view .LVU1364 4119 007a 2268 ldr r2, [r4] 4120 .LVL357: 4121 .LBB440: 4122 .LBI440: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4123 .loc 2 476 31 discriminator 1 view .LVU1365 4124 .LBB441: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 4125 .loc 2 478 5 discriminator 1 view .LVU1366 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4126 .loc 2 480 4 discriminator 1 view .LVU1367 4127 007c 02F10C03 add r3, r2, #12 4128 .LVL358: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4129 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1368 4130 .syntax unified 4131 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4132 0080 53E8003F ldrex r3, [r3] 4133 @ 0 "" 2 4134 .LVL359: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4135 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1369 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4136 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1370 4137 .thumb 4138 .syntax unified 4139 .LBE441: 4140 .LBE440: 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4141 .loc 1 2008 5 discriminator 1 view .LVU1371 4142 0084 23F01003 bic r3, r3, #16 4143 .LVL360: 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4144 .loc 1 2008 5 is_stmt 1 discriminator 1 view .LVU1372 4145 .LBB442: 4146 .LBI442: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4147 .loc 2 527 31 discriminator 1 view .LVU1373 4148 .LBB443: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 4149 .loc 2 529 4 discriminator 1 view .LVU1374 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4150 .loc 2 531 4 discriminator 1 view .LVU1375 4151 0088 0C32 adds r2, r2, #12 4152 .LVL361: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4153 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1376 4154 .syntax unified 4155 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4156 008a 42E80031 strex r1, r3, [r2] 4157 @ 0 "" 2 4158 .LVL362: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 170 4159 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1377 4160 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1378 4161 .thumb 4162 .syntax unified 4163 .LBE443: 4164 .LBE442: 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4165 .loc 1 2008 5 discriminator 1 view .LVU1379 4166 008e 0029 cmp r1, #0 4167 0090 F3D1 bne .L221 4168 0092 D2E7 b .L220 4169 .LVL363: 4170 .L226: 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4171 .loc 1 2008 5 discriminator 1 view .LVU1380 4172 .LBE439: 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4173 .loc 1 2025 9 is_stmt 1 view .LVU1381 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4174 .loc 1 2025 13 is_stmt 0 view .LVU1382 4175 0094 E06B ldr r0, [r4, #60] 4176 0096 FFF7FEFF bl HAL_DMA_GetError 4177 .LVL364: 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4178 .loc 1 2025 12 view .LVU1383 4179 009a 2028 cmp r0, #32 4180 009c E6D1 bne .L222 2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4181 .loc 1 2028 11 is_stmt 1 view .LVU1384 2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4182 .loc 1 2028 28 is_stmt 0 view .LVU1385 4183 009e 1023 movs r3, #16 4184 00a0 6364 str r3, [r4, #68] 2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4185 .loc 1 2030 11 is_stmt 1 view .LVU1386 2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4186 .loc 1 2030 18 is_stmt 0 view .LVU1387 4187 00a2 0320 movs r0, #3 4188 00a4 E8E7 b .L224 4189 .cfi_endproc 4190 .LFE261: 4192 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits 4193 .align 1 4194 .weak HAL_UART_TxCpltCallback 4195 .syntax unified 4196 .thumb 4197 .thumb_func 4199 HAL_UART_TxCpltCallback: 4200 .LVL365: 4201 .LFB266: 2593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4202 .loc 1 2593 1 is_stmt 1 view -0 4203 .cfi_startproc 4204 @ args = 0, pretend = 0, frame = 0 4205 @ frame_needed = 0, uses_anonymous_args = 0 4206 @ link register save eliminated. 2595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 171 4207 .loc 1 2595 3 view .LVU1389 2599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4208 .loc 1 2599 1 is_stmt 0 view .LVU1390 4209 0000 7047 bx lr 4210 .cfi_endproc 4211 .LFE266: 4213 .section .text.UART_DMATransmitCplt,"ax",%progbits 4214 .align 1 4215 .syntax unified 4216 .thumb 4217 .thumb_func 4219 UART_DMATransmitCplt: 4220 .LVL366: 4221 .LFB282: 2989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 4222 .loc 1 2989 1 is_stmt 1 view -0 4223 .cfi_startproc 4224 @ args = 0, pretend = 0, frame = 0 4225 @ frame_needed = 0, uses_anonymous_args = 0 2989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 4226 .loc 1 2989 1 is_stmt 0 view .LVU1392 4227 0000 08B5 push {r3, lr} 4228 .LCFI34: 4229 .cfi_def_cfa_offset 8 4230 .cfi_offset 3, -8 4231 .cfi_offset 14, -4 4232 0002 0346 mov r3, r0 2990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/ 4233 .loc 1 2990 3 is_stmt 1 view .LVU1393 2990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/ 4234 .loc 1 2990 23 is_stmt 0 view .LVU1394 4235 0004 806B ldr r0, [r0, #56] 4236 .LVL367: 2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4237 .loc 1 2992 3 is_stmt 1 view .LVU1395 2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4238 .loc 1 2992 12 is_stmt 0 view .LVU1396 4239 0006 1B68 ldr r3, [r3] 4240 .LVL368: 2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4241 .loc 1 2992 22 view .LVU1397 4242 0008 1B68 ldr r3, [r3] 2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4243 .loc 1 2992 6 view .LVU1398 4244 000a 13F4807F tst r3, #256 4245 000e 1AD1 bne .L229 2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4246 .loc 1 2994 5 is_stmt 1 view .LVU1399 2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4247 .loc 1 2994 24 is_stmt 0 view .LVU1400 4248 0010 0023 movs r3, #0 4249 0012 C384 strh r3, [r0, #38] @ movhi 4250 .L230: 2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4251 .loc 1 2998 5 is_stmt 1 discriminator 1 view .LVU1401 4252 .LBB444: 2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 172 4253 .loc 1 2998 5 discriminator 1 view .LVU1402 2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4254 .loc 1 2998 5 discriminator 1 view .LVU1403 2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4255 .loc 1 2998 5 discriminator 1 view .LVU1404 4256 0014 0268 ldr r2, [r0] 4257 .LVL369: 4258 .LBB445: 4259 .LBI445: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4260 .loc 2 476 31 discriminator 1 view .LVU1405 4261 .LBB446: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 4262 .loc 2 478 5 discriminator 1 view .LVU1406 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4263 .loc 2 480 4 discriminator 1 view .LVU1407 4264 0016 02F11403 add r3, r2, #20 4265 .LVL370: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4266 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1408 4267 .syntax unified 4268 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4269 001a 53E8003F ldrex r3, [r3] 4270 @ 0 "" 2 4271 .LVL371: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4272 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1409 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4273 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1410 4274 .thumb 4275 .syntax unified 4276 .LBE446: 4277 .LBE445: 2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4278 .loc 1 2998 5 discriminator 1 view .LVU1411 4279 001e 23F08003 bic r3, r3, #128 4280 .LVL372: 2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4281 .loc 1 2998 5 is_stmt 1 discriminator 1 view .LVU1412 4282 .LBB447: 4283 .LBI447: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4284 .loc 2 527 31 discriminator 1 view .LVU1413 4285 .LBB448: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 4286 .loc 2 529 4 discriminator 1 view .LVU1414 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4287 .loc 2 531 4 discriminator 1 view .LVU1415 4288 0022 1432 adds r2, r2, #20 4289 .LVL373: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4290 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1416 4291 .syntax unified 4292 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4293 0024 42E80031 strex r1, r3, [r2] 4294 @ 0 "" 2 4295 .LVL374: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 173 4296 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1417 4297 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1418 4298 .thumb 4299 .syntax unified 4300 .LBE448: 4301 .LBE447: 2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4302 .loc 1 2998 5 discriminator 1 view .LVU1419 4303 0028 0029 cmp r1, #0 4304 002a F3D1 bne .L230 4305 .LVL375: 4306 .L231: 2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4307 .loc 1 2998 5 discriminator 1 view .LVU1420 4308 .LBE444: 2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4309 .loc 1 2998 5 is_stmt 1 discriminator 1 view .LVU1421 3001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4310 .loc 1 3001 5 discriminator 1 view .LVU1422 4311 .LBB449: 3001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4312 .loc 1 3001 5 discriminator 1 view .LVU1423 3001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4313 .loc 1 3001 5 discriminator 1 view .LVU1424 3001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4314 .loc 1 3001 5 discriminator 1 view .LVU1425 4315 002c 0268 ldr r2, [r0] 4316 .LVL376: 4317 .LBB450: 4318 .LBI450: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4319 .loc 2 476 31 discriminator 1 view .LVU1426 4320 .LBB451: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 4321 .loc 2 478 5 discriminator 1 view .LVU1427 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4322 .loc 2 480 4 discriminator 1 view .LVU1428 4323 002e 02F10C03 add r3, r2, #12 4324 .LVL377: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4325 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1429 4326 .syntax unified 4327 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4328 0032 53E8003F ldrex r3, [r3] 4329 @ 0 "" 2 4330 .LVL378: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4331 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1430 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4332 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1431 4333 .thumb 4334 .syntax unified 4335 .LBE451: 4336 .LBE450: 3001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4337 .loc 1 3001 5 discriminator 1 view .LVU1432 4338 0036 43F04003 orr r3, r3, #64 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 174 4339 .LVL379: 3001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4340 .loc 1 3001 5 is_stmt 1 discriminator 1 view .LVU1433 4341 .LBB452: 4342 .LBI452: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4343 .loc 2 527 31 discriminator 1 view .LVU1434 4344 .LBB453: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 4345 .loc 2 529 4 discriminator 1 view .LVU1435 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4346 .loc 2 531 4 discriminator 1 view .LVU1436 4347 003a 0C32 adds r2, r2, #12 4348 .LVL380: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4349 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1437 4350 .syntax unified 4351 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4352 003c 42E80031 strex r1, r3, [r2] 4353 @ 0 "" 2 4354 .LVL381: 4355 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1438 4356 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1439 4357 .thumb 4358 .syntax unified 4359 .LBE453: 4360 .LBE452: 3001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4361 .loc 1 3001 5 discriminator 1 view .LVU1440 4362 0040 0029 cmp r1, #0 4363 0042 F3D1 bne .L231 4364 .LVL382: 4365 .L228: 3001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4366 .loc 1 3001 5 discriminator 1 view .LVU1441 4367 .LBE449: 3015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4368 .loc 1 3015 1 view .LVU1442 4369 0044 08BD pop {r3, pc} 4370 .LVL383: 4371 .L229: 3012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4372 .loc 1 3012 5 is_stmt 1 view .LVU1443 4373 0046 FFF7FEFF bl HAL_UART_TxCpltCallback 4374 .LVL384: 3015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4375 .loc 1 3015 1 is_stmt 0 view .LVU1444 4376 004a FBE7 b .L228 4377 .cfi_endproc 4378 .LFE282: 4380 .section .text.UART_EndTransmit_IT,"ax",%progbits 4381 .align 1 4382 .syntax unified 4383 .thumb 4384 .thumb_func 4386 UART_EndTransmit_IT: 4387 .LVL385: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 175 4388 .LFB298: 3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */ 4389 .loc 1 3570 1 is_stmt 1 view -0 4390 .cfi_startproc 4391 @ args = 0, pretend = 0, frame = 0 4392 @ frame_needed = 0, uses_anonymous_args = 0 3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */ 4393 .loc 1 3570 1 is_stmt 0 view .LVU1446 4394 0000 08B5 push {r3, lr} 4395 .LCFI35: 4396 .cfi_def_cfa_offset 8 4397 .cfi_offset 3, -8 4398 .cfi_offset 14, -4 3572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4399 .loc 1 3572 3 is_stmt 1 view .LVU1447 4400 0002 0168 ldr r1, [r0] 4401 0004 CA68 ldr r2, [r1, #12] 4402 0006 22F04002 bic r2, r2, #64 4403 000a CA60 str r2, [r1, #12] 3575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4404 .loc 1 3575 3 view .LVU1448 3575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4405 .loc 1 3575 17 is_stmt 0 view .LVU1449 4406 000c 2022 movs r2, #32 4407 000e 80F84120 strb r2, [r0, #65] 3582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4408 .loc 1 3582 3 is_stmt 1 view .LVU1450 4409 0012 FFF7FEFF bl HAL_UART_TxCpltCallback 4410 .LVL386: 3585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4411 .loc 1 3585 3 view .LVU1451 3586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4412 .loc 1 3586 1 is_stmt 0 view .LVU1452 4413 0016 0020 movs r0, #0 4414 0018 08BD pop {r3, pc} 4415 .cfi_endproc 4416 .LFE298: 4418 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits 4419 .align 1 4420 .weak HAL_UART_TxHalfCpltCallback 4421 .syntax unified 4422 .thumb 4423 .thumb_func 4425 HAL_UART_TxHalfCpltCallback: 4426 .LVL387: 4427 .LFB267: 2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4428 .loc 1 2608 1 is_stmt 1 view -0 4429 .cfi_startproc 4430 @ args = 0, pretend = 0, frame = 0 4431 @ frame_needed = 0, uses_anonymous_args = 0 4432 @ link register save eliminated. 2610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 4433 .loc 1 2610 3 view .LVU1454 2614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4434 .loc 1 2614 1 is_stmt 0 view .LVU1455 4435 0000 7047 bx lr ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 176 4436 .cfi_endproc 4437 .LFE267: 4439 .section .text.UART_DMATxHalfCplt,"ax",%progbits 4440 .align 1 4441 .syntax unified 4442 .thumb 4443 .thumb_func 4445 UART_DMATxHalfCplt: 4446 .LVL388: 4447 .LFB283: 3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 4448 .loc 1 3024 1 is_stmt 1 view -0 4449 .cfi_startproc 4450 @ args = 0, pretend = 0, frame = 0 4451 @ frame_needed = 0, uses_anonymous_args = 0 3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 4452 .loc 1 3024 1 is_stmt 0 view .LVU1457 4453 0000 08B5 push {r3, lr} 4454 .LCFI36: 4455 .cfi_def_cfa_offset 8 4456 .cfi_offset 3, -8 4457 .cfi_offset 14, -4 3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4458 .loc 1 3025 3 is_stmt 1 view .LVU1458 4459 .LVL389: 3032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4460 .loc 1 3032 3 view .LVU1459 4461 0002 806B ldr r0, [r0, #56] 4462 .LVL390: 3032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4463 .loc 1 3032 3 is_stmt 0 view .LVU1460 4464 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback 4465 .LVL391: 3034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4466 .loc 1 3034 1 view .LVU1461 4467 0008 08BD pop {r3, pc} 4468 .cfi_endproc 4469 .LFE283: 4471 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits 4472 .align 1 4473 .weak HAL_UART_RxCpltCallback 4474 .syntax unified 4475 .thumb 4476 .thumb_func 4478 HAL_UART_RxCpltCallback: 4479 .LVL392: 4480 .LFB268: 2623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4481 .loc 1 2623 1 is_stmt 1 view -0 4482 .cfi_startproc 4483 @ args = 0, pretend = 0, frame = 0 4484 @ frame_needed = 0, uses_anonymous_args = 0 4485 @ link register save eliminated. 2625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 4486 .loc 1 2625 3 view .LVU1463 2629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4487 .loc 1 2629 1 is_stmt 0 view .LVU1464 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 177 4488 0000 7047 bx lr 4489 .cfi_endproc 4490 .LFE268: 4492 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits 4493 .align 1 4494 .weak HAL_UART_RxHalfCpltCallback 4495 .syntax unified 4496 .thumb 4497 .thumb_func 4499 HAL_UART_RxHalfCpltCallback: 4500 .LVL393: 4501 .LFB269: 2638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4502 .loc 1 2638 1 is_stmt 1 view -0 4503 .cfi_startproc 4504 @ args = 0, pretend = 0, frame = 0 4505 @ frame_needed = 0, uses_anonymous_args = 0 4506 @ link register save eliminated. 2640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 4507 .loc 1 2640 3 view .LVU1466 2644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4508 .loc 1 2644 1 is_stmt 0 view .LVU1467 4509 0000 7047 bx lr 4510 .cfi_endproc 4511 .LFE269: 4513 .section .text.HAL_UART_ErrorCallback,"ax",%progbits 4514 .align 1 4515 .weak HAL_UART_ErrorCallback 4516 .syntax unified 4517 .thumb 4518 .thumb_func 4520 HAL_UART_ErrorCallback: 4521 .LVL394: 4522 .LFB270: 2653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4523 .loc 1 2653 1 is_stmt 1 view -0 4524 .cfi_startproc 4525 @ args = 0, pretend = 0, frame = 0 4526 @ frame_needed = 0, uses_anonymous_args = 0 4527 @ link register save eliminated. 2655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 4528 .loc 1 2655 3 view .LVU1469 2659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4529 .loc 1 2659 1 is_stmt 0 view .LVU1470 4530 0000 7047 bx lr 4531 .cfi_endproc 4532 .LFE270: 4534 .section .text.UART_DMAError,"ax",%progbits 4535 .align 1 4536 .syntax unified 4537 .thumb 4538 .thumb_func 4540 UART_DMAError: 4541 .LVL395: 4542 .LFB286: 3144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U; 4543 .loc 1 3144 1 is_stmt 1 view -0 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 178 4544 .cfi_startproc 4545 @ args = 0, pretend = 0, frame = 0 4546 @ frame_needed = 0, uses_anonymous_args = 0 3144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U; 4547 .loc 1 3144 1 is_stmt 0 view .LVU1472 4548 0000 10B5 push {r4, lr} 4549 .LCFI37: 4550 .cfi_def_cfa_offset 8 4551 .cfi_offset 4, -8 4552 .cfi_offset 14, -4 3145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 4553 .loc 1 3145 3 is_stmt 1 view .LVU1473 4554 .LVL396: 3146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4555 .loc 1 3146 3 view .LVU1474 3146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4556 .loc 1 3146 23 is_stmt 0 view .LVU1475 4557 0002 846B ldr r4, [r0, #56] 4558 .LVL397: 3149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest) 4559 .loc 1 3149 3 is_stmt 1 view .LVU1476 3149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest) 4560 .loc 1 3149 16 is_stmt 0 view .LVU1477 4561 0004 2368 ldr r3, [r4] 4562 0006 5A69 ldr r2, [r3, #20] 4563 .LVL398: 3150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4564 .loc 1 3150 3 is_stmt 1 view .LVU1478 3150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4565 .loc 1 3150 13 is_stmt 0 view .LVU1479 4566 0008 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 4567 000c DBB2 uxtb r3, r3 3150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4568 .loc 1 3150 6 view .LVU1480 4569 000e 212B cmp r3, #33 4570 0010 10D0 beq .L246 4571 .LVL399: 4572 .L243: 3157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest) 4573 .loc 1 3157 3 is_stmt 1 view .LVU1481 3157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest) 4574 .loc 1 3157 16 is_stmt 0 view .LVU1482 4575 0012 2368 ldr r3, [r4] 4576 0014 5A69 ldr r2, [r3, #20] 4577 0016 02F04002 and r2, r2, #64 4578 .LVL400: 3158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4579 .loc 1 3158 3 is_stmt 1 view .LVU1483 3158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4580 .loc 1 3158 13 is_stmt 0 view .LVU1484 4581 001a 94F84230 ldrb r3, [r4, #66] @ zero_extendqisi2 4582 001e DBB2 uxtb r3, r3 3158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4583 .loc 1 3158 6 view .LVU1485 4584 0020 222B cmp r3, #34 4585 0022 11D0 beq .L247 4586 .LVL401: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 179 4587 .L244: 3164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4588 .loc 1 3164 3 is_stmt 1 view .LVU1486 3164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4589 .loc 1 3164 20 is_stmt 0 view .LVU1487 4590 0024 636C ldr r3, [r4, #68] 4591 0026 43F01003 orr r3, r3, #16 4592 002a 6364 str r3, [r4, #68] 3170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4593 .loc 1 3170 3 is_stmt 1 view .LVU1488 4594 002c 2046 mov r0, r4 4595 002e FFF7FEFF bl HAL_UART_ErrorCallback 4596 .LVL402: 3172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4597 .loc 1 3172 1 is_stmt 0 view .LVU1489 4598 0032 10BD pop {r4, pc} 4599 .LVL403: 4600 .L246: 3172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4601 .loc 1 3172 1 view .LVU1490 4602 0034 02F08002 and r2, r2, #128 4603 .LVL404: 3150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4604 .loc 1 3150 49 discriminator 1 view .LVU1491 4605 0038 002A cmp r2, #0 4606 003a EAD0 beq .L243 3152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart); 4607 .loc 1 3152 5 is_stmt 1 view .LVU1492 3152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart); 4608 .loc 1 3152 24 is_stmt 0 view .LVU1493 4609 003c 0023 movs r3, #0 4610 003e E384 strh r3, [r4, #38] @ movhi 3153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4611 .loc 1 3153 5 is_stmt 1 view .LVU1494 4612 0040 2046 mov r0, r4 4613 .LVL405: 3153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4614 .loc 1 3153 5 is_stmt 0 view .LVU1495 4615 0042 FFF7FEFF bl UART_EndTxTransfer 4616 .LVL406: 4617 0046 E4E7 b .L243 4618 .LVL407: 4619 .L247: 3158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4620 .loc 1 3158 50 discriminator 1 view .LVU1496 4621 0048 002A cmp r2, #0 4622 004a EBD0 beq .L244 3160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart); 4623 .loc 1 3160 5 is_stmt 1 view .LVU1497 3160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart); 4624 .loc 1 3160 24 is_stmt 0 view .LVU1498 4625 004c 0023 movs r3, #0 4626 004e E385 strh r3, [r4, #46] @ movhi 3161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4627 .loc 1 3161 5 is_stmt 1 view .LVU1499 4628 0050 2046 mov r0, r4 4629 0052 FFF7FEFF bl UART_EndRxTransfer ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 180 4630 .LVL408: 3161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4631 .loc 1 3161 5 is_stmt 0 view .LVU1500 4632 0056 E5E7 b .L244 4633 .cfi_endproc 4634 .LFE286: 4636 .section .text.UART_DMAAbortOnError,"ax",%progbits 4637 .align 1 4638 .syntax unified 4639 .thumb 4640 .thumb_func 4642 UART_DMAAbortOnError: 4643 .LVL409: 4644 .LFB292: 3360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 4645 .loc 1 3360 1 is_stmt 1 view -0 4646 .cfi_startproc 4647 @ args = 0, pretend = 0, frame = 0 4648 @ frame_needed = 0, uses_anonymous_args = 0 3360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 4649 .loc 1 3360 1 is_stmt 0 view .LVU1502 4650 0000 08B5 push {r3, lr} 4651 .LCFI38: 4652 .cfi_def_cfa_offset 8 4653 .cfi_offset 3, -8 4654 .cfi_offset 14, -4 3361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 4655 .loc 1 3361 3 is_stmt 1 view .LVU1503 3361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 4656 .loc 1 3361 23 is_stmt 0 view .LVU1504 4657 0002 806B ldr r0, [r0, #56] 4658 .LVL410: 3362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U; 4659 .loc 1 3362 3 is_stmt 1 view .LVU1505 3362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U; 4660 .loc 1 3362 22 is_stmt 0 view .LVU1506 4661 0004 0023 movs r3, #0 4662 0006 C385 strh r3, [r0, #46] @ movhi 3363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4663 .loc 1 3363 3 is_stmt 1 view .LVU1507 3363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4664 .loc 1 3363 22 is_stmt 0 view .LVU1508 4665 0008 C384 strh r3, [r0, #38] @ movhi 3370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4666 .loc 1 3370 3 is_stmt 1 view .LVU1509 4667 000a FFF7FEFF bl HAL_UART_ErrorCallback 4668 .LVL411: 3372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4669 .loc 1 3372 1 is_stmt 0 view .LVU1510 4670 000e 08BD pop {r3, pc} 4671 .cfi_endproc 4672 .LFE292: 4674 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits 4675 .align 1 4676 .weak HAL_UART_AbortCpltCallback 4677 .syntax unified 4678 .thumb ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 181 4679 .thumb_func 4681 HAL_UART_AbortCpltCallback: 4682 .LVL412: 4683 .LFB271: 2667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4684 .loc 1 2667 1 is_stmt 1 view -0 4685 .cfi_startproc 4686 @ args = 0, pretend = 0, frame = 0 4687 @ frame_needed = 0, uses_anonymous_args = 0 4688 @ link register save eliminated. 2669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4689 .loc 1 2669 3 view .LVU1512 2674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4690 .loc 1 2674 1 is_stmt 0 view .LVU1513 4691 0000 7047 bx lr 4692 .cfi_endproc 4693 .LFE271: 4695 .section .text.HAL_UART_Abort_IT,"ax",%progbits 4696 .align 1 4697 .global HAL_UART_Abort_IT 4698 .syntax unified 4699 .thumb 4700 .thumb_func 4702 HAL_UART_Abort_IT: 4703 .LVL413: 4704 .LFB262: 2061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t AbortCplt = 0x01U; 4705 .loc 1 2061 1 is_stmt 1 view -0 4706 .cfi_startproc 4707 @ args = 0, pretend = 0, frame = 0 4708 @ frame_needed = 0, uses_anonymous_args = 0 2061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t AbortCplt = 0x01U; 4709 .loc 1 2061 1 is_stmt 0 view .LVU1515 4710 0000 38B5 push {r3, r4, r5, lr} 4711 .LCFI39: 4712 .cfi_def_cfa_offset 16 4713 .cfi_offset 3, -16 4714 .cfi_offset 4, -12 4715 .cfi_offset 5, -8 4716 .cfi_offset 14, -4 4717 0002 0446 mov r4, r0 2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4718 .loc 1 2062 3 is_stmt 1 view .LVU1516 4719 .LVL414: 4720 .L252: 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4721 .loc 1 2065 3 discriminator 1 view .LVU1517 4722 .LBB454: 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4723 .loc 1 2065 3 discriminator 1 view .LVU1518 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4724 .loc 1 2065 3 discriminator 1 view .LVU1519 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4725 .loc 1 2065 3 discriminator 1 view .LVU1520 4726 0004 2268 ldr r2, [r4] 4727 .LVL415: 4728 .LBB455: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 182 4729 .LBI455: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4730 .loc 2 476 31 discriminator 1 view .LVU1521 4731 .LBB456: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 4732 .loc 2 478 5 discriminator 1 view .LVU1522 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4733 .loc 2 480 4 discriminator 1 view .LVU1523 4734 0006 02F10C03 add r3, r2, #12 4735 .LVL416: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4736 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1524 4737 .syntax unified 4738 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4739 000a 53E8003F ldrex r3, [r3] 4740 @ 0 "" 2 4741 .LVL417: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4742 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1525 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4743 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1526 4744 .thumb 4745 .syntax unified 4746 .LBE456: 4747 .LBE455: 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4748 .loc 1 2065 3 discriminator 1 view .LVU1527 4749 000e 23F4F073 bic r3, r3, #480 4750 .LVL418: 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4751 .loc 1 2065 3 is_stmt 1 discriminator 1 view .LVU1528 4752 .LBB457: 4753 .LBI457: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4754 .loc 2 527 31 discriminator 1 view .LVU1529 4755 .LBB458: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 4756 .loc 2 529 4 discriminator 1 view .LVU1530 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4757 .loc 2 531 4 discriminator 1 view .LVU1531 4758 0012 0C32 adds r2, r2, #12 4759 .LVL419: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4760 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1532 4761 .syntax unified 4762 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4763 0014 42E80031 strex r1, r3, [r2] 4764 @ 0 "" 2 4765 .LVL420: 4766 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1533 4767 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1534 4768 .thumb 4769 .syntax unified 4770 .LBE458: 4771 .LBE457: 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4772 .loc 1 2065 3 discriminator 1 view .LVU1535 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 183 4773 0018 0029 cmp r1, #0 4774 001a F3D1 bne .L252 4775 .LVL421: 4776 .L253: 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4777 .loc 1 2065 3 discriminator 1 view .LVU1536 4778 .LBE454: 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4779 .loc 1 2065 3 is_stmt 1 discriminator 1 view .LVU1537 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4780 .loc 1 2066 3 discriminator 1 view .LVU1538 4781 .LBB459: 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4782 .loc 1 2066 3 discriminator 1 view .LVU1539 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4783 .loc 1 2066 3 discriminator 1 view .LVU1540 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4784 .loc 1 2066 3 discriminator 1 view .LVU1541 4785 001c 2268 ldr r2, [r4] 4786 .LVL422: 4787 .LBB460: 4788 .LBI460: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4789 .loc 2 476 31 discriminator 1 view .LVU1542 4790 .LBB461: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 4791 .loc 2 478 5 discriminator 1 view .LVU1543 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4792 .loc 2 480 4 discriminator 1 view .LVU1544 4793 001e 02F11403 add r3, r2, #20 4794 .LVL423: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4795 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1545 4796 .syntax unified 4797 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4798 0022 53E8003F ldrex r3, [r3] 4799 @ 0 "" 2 4800 .LVL424: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4801 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1546 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4802 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1547 4803 .thumb 4804 .syntax unified 4805 .LBE461: 4806 .LBE460: 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4807 .loc 1 2066 3 discriminator 1 view .LVU1548 4808 0026 23F00103 bic r3, r3, #1 4809 .LVL425: 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4810 .loc 1 2066 3 is_stmt 1 discriminator 1 view .LVU1549 4811 .LBB462: 4812 .LBI462: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4813 .loc 2 527 31 discriminator 1 view .LVU1550 4814 .LBB463: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 184 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 4815 .loc 2 529 4 discriminator 1 view .LVU1551 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4816 .loc 2 531 4 discriminator 1 view .LVU1552 4817 002a 1432 adds r2, r2, #20 4818 .LVL426: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4819 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1553 4820 .syntax unified 4821 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4822 002c 42E80031 strex r1, r3, [r2] 4823 @ 0 "" 2 4824 .LVL427: 4825 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1554 4826 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1555 4827 .thumb 4828 .syntax unified 4829 .LBE463: 4830 .LBE462: 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4831 .loc 1 2066 3 discriminator 1 view .LVU1556 4832 0030 0029 cmp r1, #0 4833 0032 F3D1 bne .L253 4834 .LBE459: 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4835 .loc 1 2066 3 is_stmt 1 discriminator 2 view .LVU1557 2069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4836 .loc 1 2069 3 discriminator 2 view .LVU1558 2069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4837 .loc 1 2069 12 is_stmt 0 discriminator 2 view .LVU1559 4838 0034 236B ldr r3, [r4, #48] 4839 .LVL428: 2069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4840 .loc 1 2069 6 discriminator 2 view .LVU1560 4841 0036 012B cmp r3, #1 4842 0038 2ED0 beq .L255 4843 .L254: 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4844 .loc 1 2071 5 is_stmt 1 discriminator 2 view .LVU1561 2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4845 .loc 1 2077 3 discriminator 2 view .LVU1562 2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4846 .loc 1 2077 12 is_stmt 0 discriminator 2 view .LVU1563 4847 003a A36B ldr r3, [r4, #56] 2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4848 .loc 1 2077 6 discriminator 2 view .LVU1564 4849 003c 33B1 cbz r3, .L256 2081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4850 .loc 1 2081 5 is_stmt 1 view .LVU1565 2081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4851 .loc 1 2081 9 is_stmt 0 view .LVU1566 4852 003e 2268 ldr r2, [r4] 4853 0040 5269 ldr r2, [r2, #20] 2081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4854 .loc 1 2081 8 view .LVU1567 4855 0042 12F0800F tst r2, #128 4856 0046 34D0 beq .L257 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 185 2083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4857 .loc 1 2083 7 is_stmt 1 view .LVU1568 2083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4858 .loc 1 2083 40 is_stmt 0 view .LVU1569 4859 0048 344A ldr r2, .L269 4860 004a 1A65 str r2, [r3, #80] 4861 .L256: 2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4862 .loc 1 2091 3 is_stmt 1 view .LVU1570 2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4863 .loc 1 2091 12 is_stmt 0 view .LVU1571 4864 004c E36B ldr r3, [r4, #60] 2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4865 .loc 1 2091 6 view .LVU1572 4866 004e 33B1 cbz r3, .L258 2095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4867 .loc 1 2095 5 is_stmt 1 view .LVU1573 2095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4868 .loc 1 2095 9 is_stmt 0 view .LVU1574 4869 0050 2268 ldr r2, [r4] 4870 0052 5269 ldr r2, [r2, #20] 2095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4871 .loc 1 2095 8 view .LVU1575 4872 0054 12F0400F tst r2, #64 4873 0058 2ED0 beq .L259 2097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4874 .loc 1 2097 7 is_stmt 1 view .LVU1576 2097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4875 .loc 1 2097 40 is_stmt 0 view .LVU1577 4876 005a 314A ldr r2, .L269+4 4877 005c 1A65 str r2, [r3, #80] 4878 .L258: 2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4879 .loc 1 2106 3 is_stmt 1 view .LVU1578 2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4880 .loc 1 2106 7 is_stmt 0 view .LVU1579 4881 005e 2368 ldr r3, [r4] 4882 0060 5B69 ldr r3, [r3, #20] 2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4883 .loc 1 2106 6 view .LVU1580 4884 0062 13F0800F tst r3, #128 4885 0066 2AD0 beq .L266 4886 .L261: 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4887 .loc 1 2109 5 is_stmt 1 discriminator 1 view .LVU1581 4888 .LBB464: 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4889 .loc 1 2109 5 discriminator 1 view .LVU1582 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4890 .loc 1 2109 5 discriminator 1 view .LVU1583 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4891 .loc 1 2109 5 discriminator 1 view .LVU1584 4892 0068 2168 ldr r1, [r4] 4893 .LVL429: 4894 .LBB465: 4895 .LBI465: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 186 4896 .loc 2 476 31 discriminator 1 view .LVU1585 4897 .LBB466: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 4898 .loc 2 478 5 discriminator 1 view .LVU1586 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4899 .loc 2 480 4 discriminator 1 view .LVU1587 4900 006a 01F11403 add r3, r1, #20 4901 .LVL430: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4902 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1588 4903 .syntax unified 4904 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4905 006e 53E8003F ldrex r3, [r3] 4906 @ 0 "" 2 4907 .LVL431: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4908 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1589 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4909 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1590 4910 .thumb 4911 .syntax unified 4912 .LBE466: 4913 .LBE465: 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4914 .loc 1 2109 5 discriminator 1 view .LVU1591 4915 0072 23F08003 bic r3, r3, #128 4916 .LVL432: 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4917 .loc 1 2109 5 is_stmt 1 discriminator 1 view .LVU1592 4918 .LBB467: 4919 .LBI467: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4920 .loc 2 527 31 discriminator 1 view .LVU1593 4921 .LBB468: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 4922 .loc 2 529 4 discriminator 1 view .LVU1594 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4923 .loc 2 531 4 discriminator 1 view .LVU1595 4924 0076 1431 adds r1, r1, #20 4925 .LVL433: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4926 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1596 4927 .syntax unified 4928 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4929 0078 41E80032 strex r2, r3, [r1] 4930 @ 0 "" 2 4931 .thumb 4932 .syntax unified 4933 007c 1546 mov r5, r2 4934 .LVL434: 4935 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1597 4936 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1598 4937 .LBE468: 4938 .LBE467: 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4939 .loc 1 2109 5 discriminator 1 view .LVU1599 4940 007e 002A cmp r2, #0 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 187 4941 0080 F2D1 bne .L261 4942 .LBE464: 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4943 .loc 1 2109 5 is_stmt 1 discriminator 2 view .LVU1600 2112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4944 .loc 1 2112 5 discriminator 2 view .LVU1601 2112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4945 .loc 1 2112 14 is_stmt 0 discriminator 2 view .LVU1602 4946 0082 A06B ldr r0, [r4, #56] 4947 .LVL435: 2112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4948 .loc 1 2112 8 discriminator 2 view .LVU1603 4949 0084 0028 cmp r0, #0 4950 0086 42D0 beq .L267 2118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4951 .loc 1 2118 7 is_stmt 1 view .LVU1604 2118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4952 .loc 1 2118 11 is_stmt 0 view .LVU1605 4953 0088 FFF7FEFF bl HAL_DMA_Abort_IT 4954 .LVL436: 2118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 4955 .loc 1 2118 10 view .LVU1606 4956 008c C0B1 cbz r0, .L260 2120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4957 .loc 1 2120 9 is_stmt 1 view .LVU1607 2120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4958 .loc 1 2120 14 is_stmt 0 view .LVU1608 4959 008e A36B ldr r3, [r4, #56] 2120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4960 .loc 1 2120 42 view .LVU1609 4961 0090 0022 movs r2, #0 4962 0092 1A65 str r2, [r3, #80] 2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 4963 .loc 1 2062 12 view .LVU1610 4964 0094 0125 movs r5, #1 4965 0096 13E0 b .L260 4966 .LVL437: 4967 .L255: 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4968 .loc 1 2071 5 is_stmt 1 discriminator 1 view .LVU1611 4969 .LBB469: 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4970 .loc 1 2071 5 discriminator 1 view .LVU1612 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4971 .loc 1 2071 5 discriminator 1 view .LVU1613 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4972 .loc 1 2071 5 discriminator 1 view .LVU1614 4973 0098 2268 ldr r2, [r4] 4974 .LVL438: 4975 .LBB470: 4976 .LBI470: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4977 .loc 2 476 31 discriminator 1 view .LVU1615 4978 .LBB471: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 4979 .loc 2 478 5 discriminator 1 view .LVU1616 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 188 4980 .loc 2 480 4 discriminator 1 view .LVU1617 4981 009a 02F10C03 add r3, r2, #12 4982 .LVL439: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4983 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1618 4984 .syntax unified 4985 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4986 009e 53E8003F ldrex r3, [r3] 4987 @ 0 "" 2 4988 .LVL440: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4989 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1619 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4990 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1620 4991 .thumb 4992 .syntax unified 4993 .LBE471: 4994 .LBE470: 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4995 .loc 1 2071 5 discriminator 1 view .LVU1621 4996 00a2 23F01003 bic r3, r3, #16 4997 .LVL441: 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 4998 .loc 1 2071 5 is_stmt 1 discriminator 1 view .LVU1622 4999 .LBB472: 5000 .LBI472: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5001 .loc 2 527 31 discriminator 1 view .LVU1623 5002 .LBB473: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 5003 .loc 2 529 4 discriminator 1 view .LVU1624 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5004 .loc 2 531 4 discriminator 1 view .LVU1625 5005 00a6 0C32 adds r2, r2, #12 5006 .LVL442: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5007 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1626 5008 .syntax unified 5009 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5010 00a8 42E80031 strex r1, r3, [r2] 5011 @ 0 "" 2 5012 .LVL443: 5013 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1627 5014 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1628 5015 .thumb 5016 .syntax unified 5017 .LBE473: 5018 .LBE472: 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5019 .loc 1 2071 5 discriminator 1 view .LVU1629 5020 00ac 0029 cmp r1, #0 5021 00ae F3D1 bne .L255 5022 00b0 C3E7 b .L254 5023 .LVL444: 5024 .L257: 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5025 .loc 1 2071 5 discriminator 1 view .LVU1630 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 189 5026 .LBE469: 2087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5027 .loc 1 2087 7 is_stmt 1 view .LVU1631 2087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5028 .loc 1 2087 40 is_stmt 0 view .LVU1632 5029 00b2 0022 movs r2, #0 5030 00b4 1A65 str r2, [r3, #80] 5031 00b6 C9E7 b .L256 5032 .L259: 2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5033 .loc 1 2101 7 is_stmt 1 view .LVU1633 2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5034 .loc 1 2101 40 is_stmt 0 view .LVU1634 5035 00b8 0022 movs r2, #0 5036 00ba 1A65 str r2, [r3, #80] 5037 00bc CFE7 b .L258 5038 .L266: 2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5039 .loc 1 2062 12 view .LVU1635 5040 00be 0125 movs r5, #1 5041 .LVL445: 5042 .L260: 2130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5043 .loc 1 2130 3 is_stmt 1 view .LVU1636 2130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5044 .loc 1 2130 7 is_stmt 0 view .LVU1637 5045 00c0 2368 ldr r3, [r4] 5046 00c2 5B69 ldr r3, [r3, #20] 2130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5047 .loc 1 2130 6 view .LVU1638 5048 00c4 13F0400F tst r3, #64 5049 00c8 23D0 beq .L262 5050 .L263: 2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5051 .loc 1 2132 5 is_stmt 1 discriminator 1 view .LVU1639 5052 .LBB474: 2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5053 .loc 1 2132 5 discriminator 1 view .LVU1640 2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5054 .loc 1 2132 5 discriminator 1 view .LVU1641 2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5055 .loc 1 2132 5 discriminator 1 view .LVU1642 5056 00ca 2268 ldr r2, [r4] 5057 .LVL446: 5058 .LBB475: 5059 .LBI475: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5060 .loc 2 476 31 discriminator 1 view .LVU1643 5061 .LBB476: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 5062 .loc 2 478 5 discriminator 1 view .LVU1644 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5063 .loc 2 480 4 discriminator 1 view .LVU1645 5064 00cc 02F11403 add r3, r2, #20 5065 .LVL447: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5066 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1646 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 190 5067 .syntax unified 5068 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5069 00d0 53E8003F ldrex r3, [r3] 5070 @ 0 "" 2 5071 .LVL448: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5072 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1647 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5073 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1648 5074 .thumb 5075 .syntax unified 5076 .LBE476: 5077 .LBE475: 2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5078 .loc 1 2132 5 discriminator 1 view .LVU1649 5079 00d4 23F04003 bic r3, r3, #64 5080 .LVL449: 2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5081 .loc 1 2132 5 is_stmt 1 discriminator 1 view .LVU1650 5082 .LBB477: 5083 .LBI477: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5084 .loc 2 527 31 discriminator 1 view .LVU1651 5085 .LBB478: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 5086 .loc 2 529 4 discriminator 1 view .LVU1652 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5087 .loc 2 531 4 discriminator 1 view .LVU1653 5088 00d8 1432 adds r2, r2, #20 5089 .LVL450: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5090 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1654 5091 .syntax unified 5092 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5093 00da 42E80031 strex r1, r3, [r2] 5094 @ 0 "" 2 5095 .LVL451: 5096 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1655 5097 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1656 5098 .thumb 5099 .syntax unified 5100 .LBE478: 5101 .LBE477: 2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5102 .loc 1 2132 5 discriminator 1 view .LVU1657 5103 00de 0029 cmp r1, #0 5104 00e0 F3D1 bne .L263 5105 .LBE474: 2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5106 .loc 1 2132 5 is_stmt 1 discriminator 2 view .LVU1658 2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5107 .loc 1 2135 5 discriminator 2 view .LVU1659 2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5108 .loc 1 2135 14 is_stmt 0 discriminator 2 view .LVU1660 5109 00e2 E06B ldr r0, [r4, #60] 2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5110 .loc 1 2135 8 discriminator 2 view .LVU1661 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 191 5111 00e4 A8B1 cbz r0, .L262 2141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5112 .loc 1 2141 7 is_stmt 1 view .LVU1662 2141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5113 .loc 1 2141 11 is_stmt 0 view .LVU1663 5114 00e6 FFF7FEFF bl HAL_DMA_Abort_IT 5115 .LVL452: 2141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5116 .loc 1 2141 10 view .LVU1664 5117 00ea A0B1 cbz r0, .L264 2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U; 5118 .loc 1 2143 9 is_stmt 1 view .LVU1665 2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U; 5119 .loc 1 2143 14 is_stmt 0 view .LVU1666 5120 00ec E36B ldr r3, [r4, #60] 2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U; 5121 .loc 1 2143 42 view .LVU1667 5122 00ee 0022 movs r2, #0 5123 00f0 1A65 str r2, [r3, #80] 2144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5124 .loc 1 2144 9 is_stmt 1 view .LVU1668 5125 .LVL453: 2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5126 .loc 1 2154 3 view .LVU1669 5127 .L265: 2157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 5128 .loc 1 2157 5 view .LVU1670 2157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 5129 .loc 1 2157 24 is_stmt 0 view .LVU1671 5130 00f2 0023 movs r3, #0 5131 00f4 E384 strh r3, [r4, #38] @ movhi 2158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5132 .loc 1 2158 5 is_stmt 1 view .LVU1672 2158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5133 .loc 1 2158 24 is_stmt 0 view .LVU1673 5134 00f6 E385 strh r3, [r4, #46] @ movhi 2161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5135 .loc 1 2161 5 is_stmt 1 view .LVU1674 2161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5136 .loc 1 2161 22 is_stmt 0 view .LVU1675 5137 00f8 6364 str r3, [r4, #68] 2164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 5138 .loc 1 2164 5 is_stmt 1 view .LVU1676 2164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 5139 .loc 1 2164 20 is_stmt 0 view .LVU1677 5140 00fa 2022 movs r2, #32 5141 00fc 84F84120 strb r2, [r4, #65] 2165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5142 .loc 1 2165 5 is_stmt 1 view .LVU1678 2165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5143 .loc 1 2165 20 is_stmt 0 view .LVU1679 5144 0100 84F84220 strb r2, [r4, #66] 2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5145 .loc 1 2166 5 is_stmt 1 view .LVU1680 2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5146 .loc 1 2166 26 is_stmt 0 view .LVU1681 5147 0104 2363 str r3, [r4, #48] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 192 2174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5148 .loc 1 2174 5 is_stmt 1 view .LVU1682 5149 0106 2046 mov r0, r4 5150 0108 FFF7FEFF bl HAL_UART_AbortCpltCallback 5151 .LVL454: 5152 010c 03E0 b .L264 5153 .LVL455: 5154 .L267: 2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5155 .loc 1 2062 12 is_stmt 0 view .LVU1683 5156 010e 0125 movs r5, #1 5157 0110 D6E7 b .L260 5158 .LVL456: 5159 .L262: 2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5160 .loc 1 2154 3 is_stmt 1 view .LVU1684 2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5161 .loc 1 2154 6 is_stmt 0 view .LVU1685 5162 0112 012D cmp r5, #1 5163 0114 EDD0 beq .L265 5164 .LVL457: 5165 .L264: 2178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5166 .loc 1 2178 3 is_stmt 1 view .LVU1686 2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5167 .loc 1 2179 1 is_stmt 0 view .LVU1687 5168 0116 0020 movs r0, #0 5169 0118 38BD pop {r3, r4, r5, pc} 5170 .LVL458: 5171 .L270: 2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5172 .loc 1 2179 1 view .LVU1688 5173 011a 00BF .align 2 5174 .L269: 5175 011c 00000000 .word UART_DMATxAbortCallback 5176 0120 00000000 .word UART_DMARxAbortCallback 5177 .cfi_endproc 5178 .LFE262: 5180 .section .text.UART_DMARxAbortCallback,"ax",%progbits 5181 .align 1 5182 .syntax unified 5183 .thumb 5184 .thumb_func 5186 UART_DMARxAbortCallback: 5187 .LVL459: 5188 .LFB294: 3430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 5189 .loc 1 3430 1 is_stmt 1 view -0 5190 .cfi_startproc 5191 @ args = 0, pretend = 0, frame = 0 5192 @ frame_needed = 0, uses_anonymous_args = 0 3430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 5193 .loc 1 3430 1 is_stmt 0 view .LVU1690 5194 0000 08B5 push {r3, lr} 5195 .LCFI40: 5196 .cfi_def_cfa_offset 8 5197 .cfi_offset 3, -8 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 193 5198 .cfi_offset 14, -4 3431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5199 .loc 1 3431 3 is_stmt 1 view .LVU1691 3431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5200 .loc 1 3431 23 is_stmt 0 view .LVU1692 5201 0002 806B ldr r0, [r0, #56] 5202 .LVL460: 3433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5203 .loc 1 3433 3 is_stmt 1 view .LVU1693 3433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5204 .loc 1 3433 8 is_stmt 0 view .LVU1694 5205 0004 C36B ldr r3, [r0, #60] 3433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5206 .loc 1 3433 36 view .LVU1695 5207 0006 0022 movs r2, #0 5208 0008 1A65 str r2, [r3, #80] 3436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5209 .loc 1 3436 3 is_stmt 1 view .LVU1696 3436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5210 .loc 1 3436 12 is_stmt 0 view .LVU1697 5211 000a 836B ldr r3, [r0, #56] 3436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5212 .loc 1 3436 6 view .LVU1698 5213 000c 0BB1 cbz r3, .L272 3438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5214 .loc 1 3438 5 is_stmt 1 view .LVU1699 3438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5215 .loc 1 3438 22 is_stmt 0 view .LVU1700 5216 000e 1B6D ldr r3, [r3, #80] 3438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5217 .loc 1 3438 8 view .LVU1701 5218 0010 5BB9 cbnz r3, .L271 5219 .L272: 3445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 5220 .loc 1 3445 3 is_stmt 1 view .LVU1702 3445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 5221 .loc 1 3445 22 is_stmt 0 view .LVU1703 5222 0012 0023 movs r3, #0 5223 0014 C384 strh r3, [r0, #38] @ movhi 3446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5224 .loc 1 3446 3 is_stmt 1 view .LVU1704 3446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5225 .loc 1 3446 22 is_stmt 0 view .LVU1705 5226 0016 C385 strh r3, [r0, #46] @ movhi 3449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5227 .loc 1 3449 3 is_stmt 1 view .LVU1706 3449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5228 .loc 1 3449 20 is_stmt 0 view .LVU1707 5229 0018 4364 str r3, [r0, #68] 3452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 5230 .loc 1 3452 3 is_stmt 1 view .LVU1708 3452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 5231 .loc 1 3452 18 is_stmt 0 view .LVU1709 5232 001a 2022 movs r2, #32 5233 001c 80F84120 strb r2, [r0, #65] 3453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5234 .loc 1 3453 3 is_stmt 1 view .LVU1710 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 194 3453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5235 .loc 1 3453 18 is_stmt 0 view .LVU1711 5236 0020 80F84220 strb r2, [r0, #66] 3454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5237 .loc 1 3454 3 is_stmt 1 view .LVU1712 3454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5238 .loc 1 3454 24 is_stmt 0 view .LVU1713 5239 0024 0363 str r3, [r0, #48] 3462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5240 .loc 1 3462 3 is_stmt 1 view .LVU1714 5241 0026 FFF7FEFF bl HAL_UART_AbortCpltCallback 5242 .LVL461: 5243 .L271: 3464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5244 .loc 1 3464 1 is_stmt 0 view .LVU1715 5245 002a 08BD pop {r3, pc} 5246 .cfi_endproc 5247 .LFE294: 5249 .section .text.UART_DMATxAbortCallback,"ax",%progbits 5250 .align 1 5251 .syntax unified 5252 .thumb 5253 .thumb_func 5255 UART_DMATxAbortCallback: 5256 .LVL462: 5257 .LFB293: 3384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 5258 .loc 1 3384 1 is_stmt 1 view -0 5259 .cfi_startproc 5260 @ args = 0, pretend = 0, frame = 0 5261 @ frame_needed = 0, uses_anonymous_args = 0 3384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 5262 .loc 1 3384 1 is_stmt 0 view .LVU1717 5263 0000 08B5 push {r3, lr} 5264 .LCFI41: 5265 .cfi_def_cfa_offset 8 5266 .cfi_offset 3, -8 5267 .cfi_offset 14, -4 3385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5268 .loc 1 3385 3 is_stmt 1 view .LVU1718 3385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5269 .loc 1 3385 23 is_stmt 0 view .LVU1719 5270 0002 806B ldr r0, [r0, #56] 5271 .LVL463: 3387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5272 .loc 1 3387 3 is_stmt 1 view .LVU1720 3387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5273 .loc 1 3387 8 is_stmt 0 view .LVU1721 5274 0004 836B ldr r3, [r0, #56] 3387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5275 .loc 1 3387 36 view .LVU1722 5276 0006 0022 movs r2, #0 5277 0008 1A65 str r2, [r3, #80] 3390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5278 .loc 1 3390 3 is_stmt 1 view .LVU1723 3390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5279 .loc 1 3390 12 is_stmt 0 view .LVU1724 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 195 5280 000a C36B ldr r3, [r0, #60] 3390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5281 .loc 1 3390 6 view .LVU1725 5282 000c 0BB1 cbz r3, .L276 3392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5283 .loc 1 3392 5 is_stmt 1 view .LVU1726 3392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5284 .loc 1 3392 22 is_stmt 0 view .LVU1727 5285 000e 1B6D ldr r3, [r3, #80] 3392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5286 .loc 1 3392 8 view .LVU1728 5287 0010 5BB9 cbnz r3, .L275 5288 .L276: 3399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 5289 .loc 1 3399 3 is_stmt 1 view .LVU1729 3399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U; 5290 .loc 1 3399 22 is_stmt 0 view .LVU1730 5291 0012 0023 movs r3, #0 5292 0014 C384 strh r3, [r0, #38] @ movhi 3400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5293 .loc 1 3400 3 is_stmt 1 view .LVU1731 3400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5294 .loc 1 3400 22 is_stmt 0 view .LVU1732 5295 0016 C385 strh r3, [r0, #46] @ movhi 3403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5296 .loc 1 3403 3 is_stmt 1 view .LVU1733 3403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5297 .loc 1 3403 20 is_stmt 0 view .LVU1734 5298 0018 4364 str r3, [r0, #68] 3406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 5299 .loc 1 3406 3 is_stmt 1 view .LVU1735 3406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 5300 .loc 1 3406 18 is_stmt 0 view .LVU1736 5301 001a 2022 movs r2, #32 5302 001c 80F84120 strb r2, [r0, #65] 3407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5303 .loc 1 3407 3 is_stmt 1 view .LVU1737 3407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5304 .loc 1 3407 18 is_stmt 0 view .LVU1738 5305 0020 80F84220 strb r2, [r0, #66] 3408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5306 .loc 1 3408 3 is_stmt 1 view .LVU1739 3408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5307 .loc 1 3408 24 is_stmt 0 view .LVU1740 5308 0024 0363 str r3, [r0, #48] 3416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5309 .loc 1 3416 3 is_stmt 1 view .LVU1741 5310 0026 FFF7FEFF bl HAL_UART_AbortCpltCallback 5311 .LVL464: 5312 .L275: 3418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5313 .loc 1 3418 1 is_stmt 0 view .LVU1742 5314 002a 08BD pop {r3, pc} 5315 .cfi_endproc 5316 .LFE293: 5318 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits 5319 .align 1 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 196 5320 .weak HAL_UART_AbortTransmitCpltCallback 5321 .syntax unified 5322 .thumb 5323 .thumb_func 5325 HAL_UART_AbortTransmitCpltCallback: 5326 .LVL465: 5327 .LFB272: 2682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 5328 .loc 1 2682 1 is_stmt 1 view -0 5329 .cfi_startproc 5330 @ args = 0, pretend = 0, frame = 0 5331 @ frame_needed = 0, uses_anonymous_args = 0 5332 @ link register save eliminated. 2684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5333 .loc 1 2684 3 view .LVU1744 2689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5334 .loc 1 2689 1 is_stmt 0 view .LVU1745 5335 0000 7047 bx lr 5336 .cfi_endproc 5337 .LFE272: 5339 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits 5340 .align 1 5341 .global HAL_UART_AbortTransmit_IT 5342 .syntax unified 5343 .thumb 5344 .thumb_func 5346 HAL_UART_AbortTransmit_IT: 5347 .LVL466: 5348 .LFB263: 2196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 5349 .loc 1 2196 1 is_stmt 1 view -0 5350 .cfi_startproc 5351 @ args = 0, pretend = 0, frame = 0 5352 @ frame_needed = 0, uses_anonymous_args = 0 2196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 5353 .loc 1 2196 1 is_stmt 0 view .LVU1747 5354 0000 10B5 push {r4, lr} 5355 .LCFI42: 5356 .cfi_def_cfa_offset 8 5357 .cfi_offset 4, -8 5358 .cfi_offset 14, -4 5359 0002 0446 mov r4, r0 5360 .L281: 2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5361 .loc 1 2198 3 is_stmt 1 discriminator 1 view .LVU1748 5362 .LBB479: 2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5363 .loc 1 2198 3 discriminator 1 view .LVU1749 2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5364 .loc 1 2198 3 discriminator 1 view .LVU1750 2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5365 .loc 1 2198 3 discriminator 1 view .LVU1751 5366 0004 2268 ldr r2, [r4] 5367 .LVL467: 5368 .LBB480: 5369 .LBI480: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 197 5370 .loc 2 476 31 discriminator 1 view .LVU1752 5371 .LBB481: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 5372 .loc 2 478 5 discriminator 1 view .LVU1753 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5373 .loc 2 480 4 discriminator 1 view .LVU1754 5374 0006 02F10C03 add r3, r2, #12 5375 .LVL468: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5376 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1755 5377 .syntax unified 5378 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5379 000a 53E8003F ldrex r3, [r3] 5380 @ 0 "" 2 5381 .LVL469: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5382 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1756 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5383 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1757 5384 .thumb 5385 .syntax unified 5386 .LBE481: 5387 .LBE480: 2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5388 .loc 1 2198 3 discriminator 1 view .LVU1758 5389 000e 23F0C003 bic r3, r3, #192 5390 .LVL470: 2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5391 .loc 1 2198 3 is_stmt 1 discriminator 1 view .LVU1759 5392 .LBB482: 5393 .LBI482: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5394 .loc 2 527 31 discriminator 1 view .LVU1760 5395 .LBB483: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 5396 .loc 2 529 4 discriminator 1 view .LVU1761 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5397 .loc 2 531 4 discriminator 1 view .LVU1762 5398 0012 0C32 adds r2, r2, #12 5399 .LVL471: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5400 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1763 5401 .syntax unified 5402 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5403 0014 42E80031 strex r1, r3, [r2] 5404 @ 0 "" 2 5405 .LVL472: 5406 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1764 5407 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1765 5408 .thumb 5409 .syntax unified 5410 .LBE483: 5411 .LBE482: 2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5412 .loc 1 2198 3 discriminator 1 view .LVU1766 5413 0018 0029 cmp r1, #0 5414 001a F3D1 bne .L281 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 198 5415 .LBE479: 2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5416 .loc 1 2198 3 is_stmt 1 discriminator 2 view .LVU1767 2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5417 .loc 1 2201 3 discriminator 2 view .LVU1768 2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5418 .loc 1 2201 7 is_stmt 0 discriminator 2 view .LVU1769 5419 001c 2368 ldr r3, [r4] 5420 .LVL473: 2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5421 .loc 1 2201 7 discriminator 2 view .LVU1770 5422 001e 5B69 ldr r3, [r3, #20] 2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5423 .loc 1 2201 6 discriminator 2 view .LVU1771 5424 0020 13F0800F tst r3, #128 5425 0024 20D0 beq .L282 5426 .L283: 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5427 .loc 1 2203 5 is_stmt 1 discriminator 1 view .LVU1772 5428 .LBB484: 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5429 .loc 1 2203 5 discriminator 1 view .LVU1773 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5430 .loc 1 2203 5 discriminator 1 view .LVU1774 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5431 .loc 1 2203 5 discriminator 1 view .LVU1775 5432 0026 2268 ldr r2, [r4] 5433 .LVL474: 5434 .LBB485: 5435 .LBI485: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5436 .loc 2 476 31 discriminator 1 view .LVU1776 5437 .LBB486: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 5438 .loc 2 478 5 discriminator 1 view .LVU1777 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5439 .loc 2 480 4 discriminator 1 view .LVU1778 5440 0028 02F11403 add r3, r2, #20 5441 .LVL475: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5442 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1779 5443 .syntax unified 5444 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5445 002c 53E8003F ldrex r3, [r3] 5446 @ 0 "" 2 5447 .LVL476: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5448 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1780 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5449 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1781 5450 .thumb 5451 .syntax unified 5452 .LBE486: 5453 .LBE485: 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5454 .loc 1 2203 5 discriminator 1 view .LVU1782 5455 0030 23F08003 bic r3, r3, #128 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 199 5456 .LVL477: 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5457 .loc 1 2203 5 is_stmt 1 discriminator 1 view .LVU1783 5458 .LBB487: 5459 .LBI487: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5460 .loc 2 527 31 discriminator 1 view .LVU1784 5461 .LBB488: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 5462 .loc 2 529 4 discriminator 1 view .LVU1785 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5463 .loc 2 531 4 discriminator 1 view .LVU1786 5464 0034 1432 adds r2, r2, #20 5465 .LVL478: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5466 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1787 5467 .syntax unified 5468 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5469 0036 42E80031 strex r1, r3, [r2] 5470 @ 0 "" 2 5471 .LVL479: 5472 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1788 5473 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1789 5474 .thumb 5475 .syntax unified 5476 .LBE488: 5477 .LBE487: 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5478 .loc 1 2203 5 discriminator 1 view .LVU1790 5479 003a 0029 cmp r1, #0 5480 003c F3D1 bne .L283 5481 .LBE484: 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5482 .loc 1 2203 5 is_stmt 1 discriminator 2 view .LVU1791 2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5483 .loc 1 2206 5 discriminator 2 view .LVU1792 2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5484 .loc 1 2206 14 is_stmt 0 discriminator 2 view .LVU1793 5485 003e A36B ldr r3, [r4, #56] 5486 .LVL480: 2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5487 .loc 1 2206 8 discriminator 2 view .LVU1794 5488 0040 4BB1 cbz r3, .L284 2210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5489 .loc 1 2210 7 is_stmt 1 view .LVU1795 2210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5490 .loc 1 2210 40 is_stmt 0 view .LVU1796 5491 0042 0E4A ldr r2, .L287 5492 0044 1A65 str r2, [r3, #80] 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5493 .loc 1 2213 7 is_stmt 1 view .LVU1797 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5494 .loc 1 2213 11 is_stmt 0 view .LVU1798 5495 0046 A06B ldr r0, [r4, #56] 5496 .LVL481: 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5497 .loc 1 2213 11 view .LVU1799 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 200 5498 0048 FFF7FEFF bl HAL_DMA_Abort_IT 5499 .LVL482: 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5500 .loc 1 2213 10 view .LVU1800 5501 004c A0B1 cbz r0, .L285 2216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5502 .loc 1 2216 9 is_stmt 1 view .LVU1801 2216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5503 .loc 1 2216 14 is_stmt 0 view .LVU1802 5504 004e A06B ldr r0, [r4, #56] 2216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5505 .loc 1 2216 22 view .LVU1803 5506 0050 036D ldr r3, [r0, #80] 2216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5507 .loc 1 2216 9 view .LVU1804 5508 0052 9847 blx r3 5509 .LVL483: 5510 0054 10E0 b .L285 5511 .LVL484: 5512 .L284: 2222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5513 .loc 1 2222 7 is_stmt 1 view .LVU1805 2222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5514 .loc 1 2222 26 is_stmt 0 view .LVU1806 5515 0056 0023 movs r3, #0 5516 0058 E384 strh r3, [r4, #38] @ movhi 2225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5517 .loc 1 2225 7 is_stmt 1 view .LVU1807 2225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5518 .loc 1 2225 21 is_stmt 0 view .LVU1808 5519 005a 2023 movs r3, #32 5520 005c 84F84130 strb r3, [r4, #65] 2233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5521 .loc 1 2233 7 is_stmt 1 view .LVU1809 5522 0060 2046 mov r0, r4 5523 .LVL485: 2233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5524 .loc 1 2233 7 is_stmt 0 view .LVU1810 5525 0062 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 5526 .LVL486: 5527 0066 07E0 b .L285 5528 .LVL487: 5529 .L282: 2240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5530 .loc 1 2240 5 is_stmt 1 view .LVU1811 2240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5531 .loc 1 2240 24 is_stmt 0 view .LVU1812 5532 0068 0023 movs r3, #0 5533 006a E384 strh r3, [r4, #38] @ movhi 2243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5534 .loc 1 2243 5 is_stmt 1 view .LVU1813 2243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5535 .loc 1 2243 19 is_stmt 0 view .LVU1814 5536 006c 2023 movs r3, #32 5537 006e 84F84130 strb r3, [r4, #65] 2251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5538 .loc 1 2251 5 is_stmt 1 view .LVU1815 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 201 5539 0072 2046 mov r0, r4 5540 .LVL488: 2251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5541 .loc 1 2251 5 is_stmt 0 view .LVU1816 5542 0074 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 5543 .LVL489: 5544 .L285: 2255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5545 .loc 1 2255 3 is_stmt 1 view .LVU1817 2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5546 .loc 1 2256 1 is_stmt 0 view .LVU1818 5547 0078 0020 movs r0, #0 5548 007a 10BD pop {r4, pc} 5549 .LVL490: 5550 .L288: 2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5551 .loc 1 2256 1 view .LVU1819 5552 .align 2 5553 .L287: 5554 007c 00000000 .word UART_DMATxOnlyAbortCallback 5555 .cfi_endproc 5556 .LFE263: 5558 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits 5559 .align 1 5560 .syntax unified 5561 .thumb 5562 .thumb_func 5564 UART_DMATxOnlyAbortCallback: 5565 .LVL491: 5566 .LFB295: 3476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 5567 .loc 1 3476 1 is_stmt 1 view -0 5568 .cfi_startproc 5569 @ args = 0, pretend = 0, frame = 0 5570 @ frame_needed = 0, uses_anonymous_args = 0 3476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 5571 .loc 1 3476 1 is_stmt 0 view .LVU1821 5572 0000 08B5 push {r3, lr} 5573 .LCFI43: 5574 .cfi_def_cfa_offset 8 5575 .cfi_offset 3, -8 5576 .cfi_offset 14, -4 3477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5577 .loc 1 3477 3 is_stmt 1 view .LVU1822 3477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5578 .loc 1 3477 23 is_stmt 0 view .LVU1823 5579 0002 806B ldr r0, [r0, #56] 5580 .LVL492: 3479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5581 .loc 1 3479 3 is_stmt 1 view .LVU1824 3479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5582 .loc 1 3479 22 is_stmt 0 view .LVU1825 5583 0004 0023 movs r3, #0 5584 0006 C384 strh r3, [r0, #38] @ movhi 3482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5585 .loc 1 3482 3 is_stmt 1 view .LVU1826 3482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 202 5586 .loc 1 3482 17 is_stmt 0 view .LVU1827 5587 0008 2023 movs r3, #32 5588 000a 80F84130 strb r3, [r0, #65] 3490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5589 .loc 1 3490 3 is_stmt 1 view .LVU1828 5590 000e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 5591 .LVL493: 3492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5592 .loc 1 3492 1 is_stmt 0 view .LVU1829 5593 0012 08BD pop {r3, pc} 5594 .cfi_endproc 5595 .LFE295: 5597 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits 5598 .align 1 5599 .weak HAL_UART_AbortReceiveCpltCallback 5600 .syntax unified 5601 .thumb 5602 .thumb_func 5604 HAL_UART_AbortReceiveCpltCallback: 5605 .LVL494: 5606 .LFB273: 2697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 5607 .loc 1 2697 1 is_stmt 1 view -0 5608 .cfi_startproc 5609 @ args = 0, pretend = 0, frame = 0 5610 @ frame_needed = 0, uses_anonymous_args = 0 5611 @ link register save eliminated. 2699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5612 .loc 1 2699 3 view .LVU1831 2704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5613 .loc 1 2704 1 is_stmt 0 view .LVU1832 5614 0000 7047 bx lr 5615 .cfi_endproc 5616 .LFE273: 5618 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits 5619 .align 1 5620 .global HAL_UART_AbortReceive_IT 5621 .syntax unified 5622 .thumb 5623 .thumb_func 5625 HAL_UART_AbortReceive_IT: 5626 .LVL495: 5627 .LFB264: 2273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 5628 .loc 1 2273 1 is_stmt 1 view -0 5629 .cfi_startproc 5630 @ args = 0, pretend = 0, frame = 0 5631 @ frame_needed = 0, uses_anonymous_args = 0 2273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 5632 .loc 1 2273 1 is_stmt 0 view .LVU1834 5633 0000 10B5 push {r4, lr} 5634 .LCFI44: 5635 .cfi_def_cfa_offset 8 5636 .cfi_offset 4, -8 5637 .cfi_offset 14, -4 5638 0002 0446 mov r4, r0 5639 .L293: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 203 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5640 .loc 1 2275 3 is_stmt 1 discriminator 1 view .LVU1835 5641 .LBB489: 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5642 .loc 1 2275 3 discriminator 1 view .LVU1836 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5643 .loc 1 2275 3 discriminator 1 view .LVU1837 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5644 .loc 1 2275 3 discriminator 1 view .LVU1838 5645 0004 2268 ldr r2, [r4] 5646 .LVL496: 5647 .LBB490: 5648 .LBI490: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5649 .loc 2 476 31 discriminator 1 view .LVU1839 5650 .LBB491: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 5651 .loc 2 478 5 discriminator 1 view .LVU1840 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5652 .loc 2 480 4 discriminator 1 view .LVU1841 5653 0006 02F10C03 add r3, r2, #12 5654 .LVL497: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5655 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1842 5656 .syntax unified 5657 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5658 000a 53E8003F ldrex r3, [r3] 5659 @ 0 "" 2 5660 .LVL498: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5661 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1843 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5662 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1844 5663 .thumb 5664 .syntax unified 5665 .LBE491: 5666 .LBE490: 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5667 .loc 1 2275 3 discriminator 1 view .LVU1845 5668 000e 23F49073 bic r3, r3, #288 5669 .LVL499: 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5670 .loc 1 2275 3 is_stmt 1 discriminator 1 view .LVU1846 5671 .LBB492: 5672 .LBI492: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5673 .loc 2 527 31 discriminator 1 view .LVU1847 5674 .LBB493: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 5675 .loc 2 529 4 discriminator 1 view .LVU1848 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5676 .loc 2 531 4 discriminator 1 view .LVU1849 5677 0012 0C32 adds r2, r2, #12 5678 .LVL500: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5679 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1850 5680 .syntax unified ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 204 5681 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5682 0014 42E80031 strex r1, r3, [r2] 5683 @ 0 "" 2 5684 .LVL501: 5685 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1851 5686 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1852 5687 .thumb 5688 .syntax unified 5689 .LBE493: 5690 .LBE492: 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5691 .loc 1 2275 3 discriminator 1 view .LVU1853 5692 0018 0029 cmp r1, #0 5693 001a F3D1 bne .L293 5694 .LVL502: 5695 .L294: 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5696 .loc 1 2275 3 discriminator 1 view .LVU1854 5697 .LBE489: 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5698 .loc 1 2275 3 is_stmt 1 discriminator 1 view .LVU1855 2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5699 .loc 1 2276 3 discriminator 1 view .LVU1856 5700 .LBB494: 2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5701 .loc 1 2276 3 discriminator 1 view .LVU1857 2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5702 .loc 1 2276 3 discriminator 1 view .LVU1858 2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5703 .loc 1 2276 3 discriminator 1 view .LVU1859 5704 001c 2268 ldr r2, [r4] 5705 .LVL503: 5706 .LBB495: 5707 .LBI495: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5708 .loc 2 476 31 discriminator 1 view .LVU1860 5709 .LBB496: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 5710 .loc 2 478 5 discriminator 1 view .LVU1861 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5711 .loc 2 480 4 discriminator 1 view .LVU1862 5712 001e 02F11403 add r3, r2, #20 5713 .LVL504: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5714 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1863 5715 .syntax unified 5716 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5717 0022 53E8003F ldrex r3, [r3] 5718 @ 0 "" 2 5719 .LVL505: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5720 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1864 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5721 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1865 5722 .thumb 5723 .syntax unified 5724 .LBE496: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 205 5725 .LBE495: 2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5726 .loc 1 2276 3 discriminator 1 view .LVU1866 5727 0026 23F00103 bic r3, r3, #1 5728 .LVL506: 2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5729 .loc 1 2276 3 is_stmt 1 discriminator 1 view .LVU1867 5730 .LBB497: 5731 .LBI497: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5732 .loc 2 527 31 discriminator 1 view .LVU1868 5733 .LBB498: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 5734 .loc 2 529 4 discriminator 1 view .LVU1869 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5735 .loc 2 531 4 discriminator 1 view .LVU1870 5736 002a 1432 adds r2, r2, #20 5737 .LVL507: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5738 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1871 5739 .syntax unified 5740 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5741 002c 42E80031 strex r1, r3, [r2] 5742 @ 0 "" 2 5743 .LVL508: 5744 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1872 5745 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1873 5746 .thumb 5747 .syntax unified 5748 .LBE498: 5749 .LBE497: 2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5750 .loc 1 2276 3 discriminator 1 view .LVU1874 5751 0030 0029 cmp r1, #0 5752 0032 F3D1 bne .L294 5753 .LBE494: 2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5754 .loc 1 2276 3 is_stmt 1 discriminator 2 view .LVU1875 2279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5755 .loc 1 2279 3 discriminator 2 view .LVU1876 2279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5756 .loc 1 2279 12 is_stmt 0 discriminator 2 view .LVU1877 5757 0034 236B ldr r3, [r4, #48] 5758 .LVL509: 2279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5759 .loc 1 2279 6 discriminator 2 view .LVU1878 5760 0036 012B cmp r3, #1 5761 0038 1CD0 beq .L296 5762 .L295: 2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5763 .loc 1 2281 5 is_stmt 1 discriminator 2 view .LVU1879 2285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5764 .loc 1 2285 3 discriminator 2 view .LVU1880 2285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5765 .loc 1 2285 7 is_stmt 0 discriminator 2 view .LVU1881 5766 003a 2368 ldr r3, [r4] 5767 003c 5B69 ldr r3, [r3, #20] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 206 2285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5768 .loc 1 2285 6 discriminator 2 view .LVU1882 5769 003e 13F0400F tst r3, #64 5770 0042 2ED0 beq .L297 5771 .L298: 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5772 .loc 1 2287 5 is_stmt 1 discriminator 1 view .LVU1883 5773 .LBB499: 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5774 .loc 1 2287 5 discriminator 1 view .LVU1884 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5775 .loc 1 2287 5 discriminator 1 view .LVU1885 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5776 .loc 1 2287 5 discriminator 1 view .LVU1886 5777 0044 2268 ldr r2, [r4] 5778 .LVL510: 5779 .LBB500: 5780 .LBI500: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5781 .loc 2 476 31 discriminator 1 view .LVU1887 5782 .LBB501: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 5783 .loc 2 478 5 discriminator 1 view .LVU1888 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5784 .loc 2 480 4 discriminator 1 view .LVU1889 5785 0046 02F11403 add r3, r2, #20 5786 .LVL511: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5787 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1890 5788 .syntax unified 5789 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5790 004a 53E8003F ldrex r3, [r3] 5791 @ 0 "" 2 5792 .LVL512: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5793 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1891 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5794 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1892 5795 .thumb 5796 .syntax unified 5797 .LBE501: 5798 .LBE500: 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5799 .loc 1 2287 5 discriminator 1 view .LVU1893 5800 004e 23F04003 bic r3, r3, #64 5801 .LVL513: 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5802 .loc 1 2287 5 is_stmt 1 discriminator 1 view .LVU1894 5803 .LBB502: 5804 .LBI502: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5805 .loc 2 527 31 discriminator 1 view .LVU1895 5806 .LBB503: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 5807 .loc 2 529 4 discriminator 1 view .LVU1896 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5808 .loc 2 531 4 discriminator 1 view .LVU1897 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 207 5809 0052 1432 adds r2, r2, #20 5810 .LVL514: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5811 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1898 5812 .syntax unified 5813 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5814 0054 42E80031 strex r1, r3, [r2] 5815 @ 0 "" 2 5816 .LVL515: 5817 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1899 5818 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1900 5819 .thumb 5820 .syntax unified 5821 .LBE503: 5822 .LBE502: 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5823 .loc 1 2287 5 discriminator 1 view .LVU1901 5824 0058 0029 cmp r1, #0 5825 005a F3D1 bne .L298 5826 .LBE499: 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5827 .loc 1 2287 5 is_stmt 1 discriminator 2 view .LVU1902 2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5828 .loc 1 2290 5 discriminator 2 view .LVU1903 2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5829 .loc 1 2290 14 is_stmt 0 discriminator 2 view .LVU1904 5830 005c E36B ldr r3, [r4, #60] 5831 .LVL516: 2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5832 .loc 1 2290 8 discriminator 2 view .LVU1905 5833 005e B3B1 cbz r3, .L299 2294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5834 .loc 1 2294 7 is_stmt 1 view .LVU1906 2294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5835 .loc 1 2294 40 is_stmt 0 view .LVU1907 5836 0060 154A ldr r2, .L302 5837 0062 1A65 str r2, [r3, #80] 2297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5838 .loc 1 2297 7 is_stmt 1 view .LVU1908 2297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5839 .loc 1 2297 11 is_stmt 0 view .LVU1909 5840 0064 E06B ldr r0, [r4, #60] 5841 .LVL517: 2297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5842 .loc 1 2297 11 view .LVU1910 5843 0066 FFF7FEFF bl HAL_DMA_Abort_IT 5844 .LVL518: 2297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 5845 .loc 1 2297 10 view .LVU1911 5846 006a 18B3 cbz r0, .L300 2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5847 .loc 1 2300 9 is_stmt 1 view .LVU1912 2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5848 .loc 1 2300 14 is_stmt 0 view .LVU1913 5849 006c E06B ldr r0, [r4, #60] 2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5850 .loc 1 2300 22 view .LVU1914 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 208 5851 006e 036D ldr r3, [r0, #80] 2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5852 .loc 1 2300 9 view .LVU1915 5853 0070 9847 blx r3 5854 .LVL519: 5855 0072 1FE0 b .L300 5856 .LVL520: 5857 .L296: 2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5858 .loc 1 2281 5 is_stmt 1 discriminator 1 view .LVU1916 5859 .LBB504: 2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5860 .loc 1 2281 5 discriminator 1 view .LVU1917 2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5861 .loc 1 2281 5 discriminator 1 view .LVU1918 2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5862 .loc 1 2281 5 discriminator 1 view .LVU1919 5863 0074 2268 ldr r2, [r4] 5864 .LVL521: 5865 .LBB505: 5866 .LBI505: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5867 .loc 2 476 31 discriminator 1 view .LVU1920 5868 .LBB506: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 5869 .loc 2 478 5 discriminator 1 view .LVU1921 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5870 .loc 2 480 4 discriminator 1 view .LVU1922 5871 0076 02F10C03 add r3, r2, #12 5872 .LVL522: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5873 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1923 5874 .syntax unified 5875 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5876 007a 53E8003F ldrex r3, [r3] 5877 @ 0 "" 2 5878 .LVL523: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5879 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1924 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5880 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1925 5881 .thumb 5882 .syntax unified 5883 .LBE506: 5884 .LBE505: 2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5885 .loc 1 2281 5 discriminator 1 view .LVU1926 5886 007e 23F01003 bic r3, r3, #16 5887 .LVL524: 2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5888 .loc 1 2281 5 is_stmt 1 discriminator 1 view .LVU1927 5889 .LBB507: 5890 .LBI507: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5891 .loc 2 527 31 discriminator 1 view .LVU1928 5892 .LBB508: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 209 5893 .loc 2 529 4 discriminator 1 view .LVU1929 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5894 .loc 2 531 4 discriminator 1 view .LVU1930 5895 0082 0C32 adds r2, r2, #12 5896 .LVL525: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5897 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1931 5898 .syntax unified 5899 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5900 0084 42E80031 strex r1, r3, [r2] 5901 @ 0 "" 2 5902 .LVL526: 5903 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1932 5904 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1933 5905 .thumb 5906 .syntax unified 5907 .LBE508: 5908 .LBE507: 2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5909 .loc 1 2281 5 discriminator 1 view .LVU1934 5910 0088 0029 cmp r1, #0 5911 008a F3D1 bne .L296 5912 008c D5E7 b .L295 5913 .LVL527: 5914 .L299: 2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5915 .loc 1 2281 5 discriminator 1 view .LVU1935 5916 .LBE504: 2306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5917 .loc 1 2306 7 is_stmt 1 view .LVU1936 2306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5918 .loc 1 2306 26 is_stmt 0 view .LVU1937 5919 008e 0023 movs r3, #0 5920 0090 E385 strh r3, [r4, #46] @ movhi 2309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5921 .loc 1 2309 7 is_stmt 1 view .LVU1938 2309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5922 .loc 1 2309 22 is_stmt 0 view .LVU1939 5923 0092 2022 movs r2, #32 5924 0094 84F84220 strb r2, [r4, #66] 2310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5925 .loc 1 2310 7 is_stmt 1 view .LVU1940 2310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5926 .loc 1 2310 28 is_stmt 0 view .LVU1941 5927 0098 2363 str r3, [r4, #48] 2318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5928 .loc 1 2318 7 is_stmt 1 view .LVU1942 5929 009a 2046 mov r0, r4 5930 .LVL528: 2318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5931 .loc 1 2318 7 is_stmt 0 view .LVU1943 5932 009c FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 5933 .LVL529: 5934 00a0 08E0 b .L300 5935 .LVL530: 5936 .L297: 2325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 210 5937 .loc 1 2325 5 is_stmt 1 view .LVU1944 2325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5938 .loc 1 2325 24 is_stmt 0 view .LVU1945 5939 00a2 0023 movs r3, #0 5940 00a4 E385 strh r3, [r4, #46] @ movhi 2328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5941 .loc 1 2328 5 is_stmt 1 view .LVU1946 2328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5942 .loc 1 2328 20 is_stmt 0 view .LVU1947 5943 00a6 2022 movs r2, #32 5944 00a8 84F84220 strb r2, [r4, #66] 2329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5945 .loc 1 2329 5 is_stmt 1 view .LVU1948 2329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5946 .loc 1 2329 26 is_stmt 0 view .LVU1949 5947 00ac 2363 str r3, [r4, #48] 2337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5948 .loc 1 2337 5 is_stmt 1 view .LVU1950 5949 00ae 2046 mov r0, r4 5950 .LVL531: 2337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5951 .loc 1 2337 5 is_stmt 0 view .LVU1951 5952 00b0 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 5953 .LVL532: 5954 .L300: 2341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 5955 .loc 1 2341 3 is_stmt 1 view .LVU1952 2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5956 .loc 1 2342 1 is_stmt 0 view .LVU1953 5957 00b4 0020 movs r0, #0 5958 00b6 10BD pop {r4, pc} 5959 .LVL533: 5960 .L303: 2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5961 .loc 1 2342 1 view .LVU1954 5962 .align 2 5963 .L302: 5964 00b8 00000000 .word UART_DMARxOnlyAbortCallback 5965 .cfi_endproc 5966 .LFE264: 5968 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits 5969 .align 1 5970 .syntax unified 5971 .thumb 5972 .thumb_func 5974 UART_DMARxOnlyAbortCallback: 5975 .LVL534: 5976 .LFB296: 3504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 5977 .loc 1 3504 1 is_stmt 1 view -0 5978 .cfi_startproc 5979 @ args = 0, pretend = 0, frame = 0 5980 @ frame_needed = 0, uses_anonymous_args = 0 3504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 5981 .loc 1 3504 1 is_stmt 0 view .LVU1956 5982 0000 08B5 push {r3, lr} 5983 .LCFI45: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 211 5984 .cfi_def_cfa_offset 8 5985 .cfi_offset 3, -8 5986 .cfi_offset 14, -4 3505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5987 .loc 1 3505 3 is_stmt 1 view .LVU1957 3505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5988 .loc 1 3505 23 is_stmt 0 view .LVU1958 5989 0002 806B ldr r0, [r0, #56] 5990 .LVL535: 3507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5991 .loc 1 3507 3 is_stmt 1 view .LVU1959 3507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5992 .loc 1 3507 22 is_stmt 0 view .LVU1960 5993 0004 0023 movs r3, #0 5994 0006 C385 strh r3, [r0, #46] @ movhi 3510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5995 .loc 1 3510 3 is_stmt 1 view .LVU1961 3510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5996 .loc 1 3510 18 is_stmt 0 view .LVU1962 5997 0008 2022 movs r2, #32 5998 000a 80F84220 strb r2, [r0, #66] 3511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 5999 .loc 1 3511 3 is_stmt 1 view .LVU1963 3511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6000 .loc 1 3511 24 is_stmt 0 view .LVU1964 6001 000e 0363 str r3, [r0, #48] 3519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6002 .loc 1 3519 3 is_stmt 1 view .LVU1965 6003 0010 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 6004 .LVL536: 3521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6005 .loc 1 3521 1 is_stmt 0 view .LVU1966 6006 0014 08BD pop {r3, pc} 6007 .cfi_endproc 6008 .LFE296: 6010 .section .text.HAL_UARTEx_RxEventCallback,"ax",%progbits 6011 .align 1 6012 .weak HAL_UARTEx_RxEventCallback 6013 .syntax unified 6014 .thumb 6015 .thumb_func 6017 HAL_UARTEx_RxEventCallback: 6018 .LVL537: 6019 .LFB274: 2714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 6020 .loc 1 2714 1 is_stmt 1 view -0 6021 .cfi_startproc 6022 @ args = 0, pretend = 0, frame = 0 6023 @ frame_needed = 0, uses_anonymous_args = 0 6024 @ link register save eliminated. 2716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(Size); 6025 .loc 1 2716 3 view .LVU1968 2717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6026 .loc 1 2717 3 view .LVU1969 2722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6027 .loc 1 2722 1 is_stmt 0 view .LVU1970 6028 0000 7047 bx lr ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 212 6029 .cfi_endproc 6030 .LFE274: 6032 .section .text.UART_Receive_IT,"ax",%progbits 6033 .align 1 6034 .syntax unified 6035 .thumb 6036 .thumb_func 6038 UART_Receive_IT: 6039 .LVL538: 6040 .LFB299: 3595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits; 6041 .loc 1 3595 1 is_stmt 1 view -0 6042 .cfi_startproc 6043 @ args = 0, pretend = 0, frame = 8 6044 @ frame_needed = 0, uses_anonymous_args = 0 3596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits; 6045 .loc 1 3596 3 view .LVU1972 3597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6046 .loc 1 3597 3 view .LVU1973 3600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6047 .loc 1 3600 3 view .LVU1974 3600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6048 .loc 1 3600 12 is_stmt 0 view .LVU1975 6049 0000 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2 6050 0004 DBB2 uxtb r3, r3 3600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6051 .loc 1 3600 6 view .LVU1976 6052 0006 222B cmp r3, #34 6053 0008 69D1 bne .L318 3602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6054 .loc 1 3602 5 is_stmt 1 view .LVU1977 3602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6055 .loc 1 3602 21 is_stmt 0 view .LVU1978 6056 000a 8368 ldr r3, [r0, #8] 3602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6057 .loc 1 3602 8 view .LVU1979 6058 000c B3F5805F cmp r3, #4096 6059 0010 4FD0 beq .L324 6060 .L309: 3611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL; 6061 .loc 1 3611 7 is_stmt 1 view .LVU1980 3611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL; 6062 .loc 1 3611 18 is_stmt 0 view .LVU1981 6063 0012 826A ldr r2, [r0, #40] 6064 .LVL539: 3612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6065 .loc 1 3612 7 is_stmt 1 view .LVU1982 3614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6066 .loc 1 3614 7 view .LVU1983 3614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6067 .loc 1 3614 10 is_stmt 0 view .LVU1984 6068 0014 B3F5805F cmp r3, #4096 6069 0018 04D0 beq .L311 3614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6070 .loc 1 3614 58 discriminator 1 view .LVU1985 6071 001a 002B cmp r3, #0 6072 001c 56D1 bne .L312 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 213 3614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6073 .loc 1 3614 124 discriminator 2 view .LVU1986 6074 001e 0369 ldr r3, [r0, #16] 3614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6075 .loc 1 3614 109 discriminator 2 view .LVU1987 6076 0020 002B cmp r3, #0 6077 0022 53D1 bne .L312 6078 .L311: 3616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6079 .loc 1 3616 9 is_stmt 1 view .LVU1988 3616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6080 .loc 1 3616 38 is_stmt 0 view .LVU1989 6081 0024 0368 ldr r3, [r0] 3616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6082 .loc 1 3616 48 view .LVU1990 6083 0026 5B68 ldr r3, [r3, #4] 3616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6084 .loc 1 3616 21 view .LVU1991 6085 0028 1370 strb r3, [r2] 6086 .L313: 3622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6087 .loc 1 3622 7 is_stmt 1 view .LVU1992 3622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6088 .loc 1 3622 25 is_stmt 0 view .LVU1993 6089 002a 836A ldr r3, [r0, #40] 6090 002c 0133 adds r3, r3, #1 6091 002e 8362 str r3, [r0, #40] 6092 .LVL540: 6093 .L310: 3625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6094 .loc 1 3625 5 is_stmt 1 view .LVU1994 3625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6095 .loc 1 3625 16 is_stmt 0 view .LVU1995 6096 0030 C38D ldrh r3, [r0, #46] 6097 0032 9BB2 uxth r3, r3 3625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6098 .loc 1 3625 9 view .LVU1996 6099 0034 013B subs r3, r3, #1 6100 0036 9BB2 uxth r3, r3 3625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6101 .loc 1 3625 8 view .LVU1997 6102 0038 C385 strh r3, [r0, #46] @ movhi 6103 003a 002B cmp r3, #0 6104 003c 51D1 bne .L319 3595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits; 6105 .loc 1 3595 1 view .LVU1998 6106 003e 00B5 push {lr} 6107 .LCFI46: 6108 .cfi_def_cfa_offset 4 6109 .cfi_offset 14, -4 6110 0040 83B0 sub sp, sp, #12 6111 .LCFI47: 6112 .cfi_def_cfa_offset 16 3628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6113 .loc 1 3628 7 is_stmt 1 view .LVU1999 6114 0042 0268 ldr r2, [r0] 6115 0044 D368 ldr r3, [r2, #12] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 214 6116 0046 23F02003 bic r3, r3, #32 6117 004a D360 str r3, [r2, #12] 3631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6118 .loc 1 3631 7 view .LVU2000 6119 004c 0268 ldr r2, [r0] 6120 004e D368 ldr r3, [r2, #12] 6121 0050 23F48073 bic r3, r3, #256 6122 0054 D360 str r3, [r2, #12] 3634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6123 .loc 1 3634 7 view .LVU2001 6124 0056 0268 ldr r2, [r0] 6125 0058 5369 ldr r3, [r2, #20] 6126 005a 23F00103 bic r3, r3, #1 6127 005e 5361 str r3, [r2, #20] 3637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6128 .loc 1 3637 7 view .LVU2002 3637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6129 .loc 1 3637 22 is_stmt 0 view .LVU2003 6130 0060 2023 movs r3, #32 6131 0062 80F84230 strb r3, [r0, #66] 3640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6132 .loc 1 3640 7 is_stmt 1 view .LVU2004 3640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6133 .loc 1 3640 26 is_stmt 0 view .LVU2005 6134 0066 0023 movs r3, #0 6135 0068 4363 str r3, [r0, #52] 3644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6136 .loc 1 3644 7 is_stmt 1 view .LVU2006 3644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6137 .loc 1 3644 16 is_stmt 0 view .LVU2007 6138 006a 036B ldr r3, [r0, #48] 3644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6139 .loc 1 3644 10 view .LVU2008 6140 006c 012B cmp r3, #1 6141 006e 33D1 bne .L314 3647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6142 .loc 1 3647 9 is_stmt 1 view .LVU2009 3647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6143 .loc 1 3647 30 is_stmt 0 view .LVU2010 6144 0070 0023 movs r3, #0 6145 0072 0363 str r3, [r0, #48] 6146 .L315: 3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6147 .loc 1 3650 9 is_stmt 1 discriminator 1 view .LVU2011 6148 .LBB509: 3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6149 .loc 1 3650 9 discriminator 1 view .LVU2012 3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6150 .loc 1 3650 9 discriminator 1 view .LVU2013 3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6151 .loc 1 3650 9 discriminator 1 view .LVU2014 6152 0074 0268 ldr r2, [r0] 6153 .LVL541: 6154 .LBB510: 6155 .LBI510: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6156 .loc 2 476 31 discriminator 1 view .LVU2015 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 215 6157 .LBB511: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 6158 .loc 2 478 5 discriminator 1 view .LVU2016 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6159 .loc 2 480 4 discriminator 1 view .LVU2017 6160 0076 02F10C03 add r3, r2, #12 6161 .LVL542: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6162 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2018 6163 .syntax unified 6164 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6165 007a 53E8003F ldrex r3, [r3] 6166 @ 0 "" 2 6167 .LVL543: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6168 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2019 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6169 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2020 6170 .thumb 6171 .syntax unified 6172 .LBE511: 6173 .LBE510: 3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6174 .loc 1 3650 9 discriminator 1 view .LVU2021 6175 007e 23F01003 bic r3, r3, #16 6176 .LVL544: 3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6177 .loc 1 3650 9 is_stmt 1 discriminator 1 view .LVU2022 6178 .LBB512: 6179 .LBI512: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6180 .loc 2 527 31 discriminator 1 view .LVU2023 6181 .LBB513: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 6182 .loc 2 529 4 discriminator 1 view .LVU2024 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6183 .loc 2 531 4 discriminator 1 view .LVU2025 6184 0082 0C32 adds r2, r2, #12 6185 .LVL545: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6186 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2026 6187 .syntax unified 6188 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6189 0084 42E80031 strex r1, r3, [r2] 6190 @ 0 "" 2 6191 .LVL546: 6192 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2027 6193 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2028 6194 .thumb 6195 .syntax unified 6196 .LBE513: 6197 .LBE512: 3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6198 .loc 1 3650 9 discriminator 1 view .LVU2029 6199 0088 0029 cmp r1, #0 6200 008a F3D1 bne .L315 6201 .LBE509: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 216 3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6202 .loc 1 3650 9 is_stmt 1 discriminator 2 view .LVU2030 3653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6203 .loc 1 3653 9 discriminator 2 view .LVU2031 3653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6204 .loc 1 3653 13 is_stmt 0 discriminator 2 view .LVU2032 6205 008c 0368 ldr r3, [r0] 6206 .LVL547: 3653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6207 .loc 1 3653 13 discriminator 2 view .LVU2033 6208 008e 1A68 ldr r2, [r3] 3653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6209 .loc 1 3653 12 discriminator 2 view .LVU2034 6210 0090 12F0100F tst r2, #16 6211 0094 06D0 beq .L316 3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6212 .loc 1 3656 11 is_stmt 1 view .LVU2035 6213 .LBB514: 3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6214 .loc 1 3656 11 view .LVU2036 6215 0096 0022 movs r2, #0 6216 0098 0192 str r2, [sp, #4] 3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6217 .loc 1 3656 11 view .LVU2037 6218 009a 1A68 ldr r2, [r3] 6219 009c 0192 str r2, [sp, #4] 3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6220 .loc 1 3656 11 view .LVU2038 6221 009e 5B68 ldr r3, [r3, #4] 6222 00a0 0193 str r3, [sp, #4] 3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6223 .loc 1 3656 11 view .LVU2039 6224 00a2 019B ldr r3, [sp, #4] 6225 .L316: 6226 .LBE514: 3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6227 .loc 1 3656 11 discriminator 1 view .LVU2040 3664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6228 .loc 1 3664 9 discriminator 1 view .LVU2041 6229 00a4 818D ldrh r1, [r0, #44] 6230 00a6 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6231 .LVL548: 6232 .L317: 3679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6233 .loc 1 3679 7 view .LVU2042 3679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6234 .loc 1 3679 14 is_stmt 0 view .LVU2043 6235 00aa 0020 movs r0, #0 3687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6236 .loc 1 3687 1 view .LVU2044 6237 00ac 03B0 add sp, sp, #12 6238 .LCFI48: 6239 .cfi_def_cfa_offset 4 6240 @ sp needed 6241 00ae 5DF804FB ldr pc, [sp], #4 6242 .LVL549: 6243 .L324: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 217 6244 .LCFI49: 6245 .cfi_def_cfa_offset 0 6246 .cfi_restore 14 3602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6247 .loc 1 3602 71 discriminator 1 view .LVU2045 6248 00b2 0269 ldr r2, [r0, #16] 3602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6249 .loc 1 3602 56 discriminator 1 view .LVU2046 6250 00b4 002A cmp r2, #0 6251 00b6 ACD1 bne .L309 3604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) huart->pRxBuffPtr; 6252 .loc 1 3604 7 is_stmt 1 view .LVU2047 6253 .LVL550: 3605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF); 6254 .loc 1 3605 7 view .LVU2048 3605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF); 6255 .loc 1 3605 19 is_stmt 0 view .LVU2049 6256 00b8 826A ldr r2, [r0, #40] 6257 .LVL551: 3606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6258 .loc 1 3606 7 is_stmt 1 view .LVU2050 3606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6259 .loc 1 3606 38 is_stmt 0 view .LVU2051 6260 00ba 0368 ldr r3, [r0] 3606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6261 .loc 1 3606 48 view .LVU2052 6262 00bc 5B68 ldr r3, [r3, #4] 3606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6263 .loc 1 3606 22 view .LVU2053 6264 00be C3F30803 ubfx r3, r3, #0, #9 3606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6265 .loc 1 3606 20 view .LVU2054 6266 00c2 1380 strh r3, [r2] @ movhi 3607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6267 .loc 1 3607 7 is_stmt 1 view .LVU2055 3607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6268 .loc 1 3607 25 is_stmt 0 view .LVU2056 6269 00c4 836A ldr r3, [r0, #40] 6270 00c6 0233 adds r3, r3, #2 6271 00c8 8362 str r3, [r0, #40] 6272 00ca B1E7 b .L310 6273 .LVL552: 6274 .L312: 3620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6275 .loc 1 3620 9 is_stmt 1 view .LVU2057 3620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6276 .loc 1 3620 38 is_stmt 0 view .LVU2058 6277 00cc 0368 ldr r3, [r0] 3620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6278 .loc 1 3620 48 view .LVU2059 6279 00ce 5B68 ldr r3, [r3, #4] 3620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6280 .loc 1 3620 23 view .LVU2060 6281 00d0 03F07F03 and r3, r3, #127 3620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6282 .loc 1 3620 21 view .LVU2061 6283 00d4 1370 strb r3, [r2] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 218 6284 00d6 A8E7 b .L313 6285 .LVL553: 6286 .L314: 6287 .LCFI50: 6288 .cfi_def_cfa_offset 16 6289 .cfi_offset 14, -4 3675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6290 .loc 1 3675 9 is_stmt 1 view .LVU2062 6291 00d8 FFF7FEFF bl HAL_UART_RxCpltCallback 6292 .LVL554: 3675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6293 .loc 1 3675 9 is_stmt 0 view .LVU2063 6294 00dc E5E7 b .L317 6295 .LVL555: 6296 .L318: 6297 .LCFI51: 6298 .cfi_def_cfa_offset 0 6299 .cfi_restore 14 3685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6300 .loc 1 3685 12 view .LVU2064 6301 00de 0220 movs r0, #2 6302 .LVL556: 3685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6303 .loc 1 3685 12 view .LVU2065 6304 00e0 7047 bx lr 6305 .LVL557: 6306 .L319: 3681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6307 .loc 1 3681 12 view .LVU2066 6308 00e2 0020 movs r0, #0 6309 .LVL558: 3687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6310 .loc 1 3687 1 view .LVU2067 6311 00e4 7047 bx lr 6312 .cfi_endproc 6313 .LFE299: 6315 .section .text.HAL_UART_IRQHandler,"ax",%progbits 6316 .align 1 6317 .global HAL_UART_IRQHandler 6318 .syntax unified 6319 .thumb 6320 .thumb_func 6322 HAL_UART_IRQHandler: 6323 .LVL559: 6324 .LFB265: 2351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->SR); 6325 .loc 1 2351 1 is_stmt 1 view -0 6326 .cfi_startproc 6327 @ args = 0, pretend = 0, frame = 8 6328 @ frame_needed = 0, uses_anonymous_args = 0 2351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->SR); 6329 .loc 1 2351 1 is_stmt 0 view .LVU2069 6330 0000 30B5 push {r4, r5, lr} 6331 .LCFI52: 6332 .cfi_def_cfa_offset 12 6333 .cfi_offset 4, -12 6334 .cfi_offset 5, -8 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 219 6335 .cfi_offset 14, -4 6336 0002 83B0 sub sp, sp, #12 6337 .LCFI53: 6338 .cfi_def_cfa_offset 24 6339 0004 0446 mov r4, r0 2352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 6340 .loc 1 2352 3 is_stmt 1 view .LVU2070 2352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 6341 .loc 1 2352 25 is_stmt 0 view .LVU2071 6342 0006 0268 ldr r2, [r0] 2352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 6343 .loc 1 2352 12 view .LVU2072 6344 0008 1368 ldr r3, [r2] 6345 .LVL560: 2353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 6346 .loc 1 2353 3 is_stmt 1 view .LVU2073 2353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 6347 .loc 1 2353 12 is_stmt 0 view .LVU2074 6348 000a D068 ldr r0, [r2, #12] 6349 .LVL561: 2354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t errorflags = 0x00U; 6350 .loc 1 2354 3 is_stmt 1 view .LVU2075 2354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t errorflags = 0x00U; 6351 .loc 1 2354 12 is_stmt 0 view .LVU2076 6352 000c 5169 ldr r1, [r2, #20] 6353 .LVL562: 2355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U; 6354 .loc 1 2355 3 is_stmt 1 view .LVU2077 2356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6355 .loc 1 2356 3 view .LVU2078 2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (errorflags == RESET) 6356 .loc 1 2359 3 view .LVU2079 2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6357 .loc 1 2360 3 view .LVU2080 2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6358 .loc 1 2360 6 is_stmt 0 view .LVU2081 6359 000e 13F00F05 ands r5, r3, #15 6360 .LVL563: 2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6361 .loc 1 2360 6 view .LVU2082 6362 0012 05D1 bne .L326 2363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6363 .loc 1 2363 5 is_stmt 1 view .LVU2083 2363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6364 .loc 1 2363 8 is_stmt 0 view .LVU2084 6365 0014 13F0200F tst r3, #32 6366 0018 02D0 beq .L326 2363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6367 .loc 1 2363 47 discriminator 1 view .LVU2085 6368 001a 10F0200F tst r0, #32 6369 001e 19D1 bne .L356 6370 .L326: 2371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET))) 6371 .loc 1 2371 3 is_stmt 1 view .LVU2086 2371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET))) 6372 .loc 1 2371 6 is_stmt 0 view .LVU2087 6373 0020 2DB1 cbz r5, .L328 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 220 2371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET))) 6374 .loc 1 2371 29 discriminator 1 view .LVU2088 6375 0022 11F00101 ands r1, r1, #1 6376 .LVL564: 2371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET))) 6377 .loc 1 2371 29 discriminator 1 view .LVU2089 6378 0026 19D1 bne .L329 2372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6379 .loc 1 2372 33 view .LVU2090 6380 0028 10F4907F tst r0, #288 6381 002c 16D1 bne .L329 6382 .L328: 2479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((isrflags & USART_SR_IDLE) != 0U) 6383 .loc 1 2479 3 is_stmt 1 view .LVU2091 2479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((isrflags & USART_SR_IDLE) != 0U) 6384 .loc 1 2479 13 is_stmt 0 view .LVU2092 6385 002e 216B ldr r1, [r4, #48] 2479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((isrflags & USART_SR_IDLE) != 0U) 6386 .loc 1 2479 6 view .LVU2093 6387 0030 0129 cmp r1, #1 6388 0032 7DD0 beq .L357 6389 .L342: 2572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6390 .loc 1 2572 3 is_stmt 1 view .LVU2094 2572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6391 .loc 1 2572 6 is_stmt 0 view .LVU2095 6392 0034 13F0800F tst r3, #128 6393 0038 03D0 beq .L354 2572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6394 .loc 1 2572 44 discriminator 1 view .LVU2096 6395 003a 10F0800F tst r0, #128 6396 003e 40F01981 bne .L358 6397 .L354: 2579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6398 .loc 1 2579 3 is_stmt 1 view .LVU2097 2579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6399 .loc 1 2579 6 is_stmt 0 view .LVU2098 6400 0042 13F0400F tst r3, #64 6401 0046 03D0 beq .L325 2579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6402 .loc 1 2579 43 discriminator 1 view .LVU2099 6403 0048 10F0400F tst r0, #64 6404 004c 40F01681 bne .L359 6405 .LVL565: 6406 .L325: 2584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6407 .loc 1 2584 1 view .LVU2100 6408 0050 03B0 add sp, sp, #12 6409 .LCFI54: 6410 .cfi_remember_state 6411 .cfi_def_cfa_offset 12 6412 @ sp needed 6413 0052 30BD pop {r4, r5, pc} 6414 .LVL566: 6415 .L356: 6416 .LCFI55: 6417 .cfi_restore_state ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 221 2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return; 6418 .loc 1 2365 7 is_stmt 1 view .LVU2101 6419 0054 2046 mov r0, r4 6420 .LVL567: 2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return; 6421 .loc 1 2365 7 is_stmt 0 view .LVU2102 6422 0056 FFF7FEFF bl UART_Receive_IT 6423 .LVL568: 2366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6424 .loc 1 2366 7 is_stmt 1 view .LVU2103 6425 005a F9E7 b .L325 6426 .LVL569: 6427 .L329: 2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6428 .loc 1 2375 5 view .LVU2104 2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6429 .loc 1 2375 8 is_stmt 0 view .LVU2105 6430 005c 13F0010F tst r3, #1 6431 0060 06D0 beq .L330 2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6432 .loc 1 2375 45 discriminator 1 view .LVU2106 6433 0062 10F4807F tst r0, #256 6434 0066 03D0 beq .L330 2377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6435 .loc 1 2377 7 is_stmt 1 view .LVU2107 2377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6436 .loc 1 2377 24 is_stmt 0 view .LVU2108 6437 0068 626C ldr r2, [r4, #68] 6438 006a 42F00102 orr r2, r2, #1 6439 006e 6264 str r2, [r4, #68] 6440 .L330: 2381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6441 .loc 1 2381 5 is_stmt 1 view .LVU2109 2381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6442 .loc 1 2381 8 is_stmt 0 view .LVU2110 6443 0070 13F0040F tst r3, #4 6444 0074 04D0 beq .L331 2381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6445 .loc 1 2381 45 discriminator 1 view .LVU2111 6446 0076 19B1 cbz r1, .L331 2383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6447 .loc 1 2383 7 is_stmt 1 view .LVU2112 2383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6448 .loc 1 2383 24 is_stmt 0 view .LVU2113 6449 0078 626C ldr r2, [r4, #68] 6450 007a 42F00202 orr r2, r2, #2 6451 007e 6264 str r2, [r4, #68] 6452 .L331: 2387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6453 .loc 1 2387 5 is_stmt 1 view .LVU2114 2387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6454 .loc 1 2387 8 is_stmt 0 view .LVU2115 6455 0080 13F0020F tst r3, #2 6456 0084 04D0 beq .L332 2387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6457 .loc 1 2387 45 discriminator 1 view .LVU2116 6458 0086 19B1 cbz r1, .L332 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 222 2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6459 .loc 1 2389 7 is_stmt 1 view .LVU2117 2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6460 .loc 1 2389 24 is_stmt 0 view .LVU2118 6461 0088 626C ldr r2, [r4, #68] 6462 008a 42F00402 orr r2, r2, #4 6463 008e 6264 str r2, [r4, #68] 6464 .L332: 2393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr3its & USART_CR3_EIE) != RESET))) 6465 .loc 1 2393 5 is_stmt 1 view .LVU2119 2393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr3its & USART_CR3_EIE) != RESET))) 6466 .loc 1 2393 8 is_stmt 0 view .LVU2120 6467 0090 13F0080F tst r3, #8 6468 0094 07D0 beq .L333 2393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr3its & USART_CR3_EIE) != RESET))) 6469 .loc 1 2393 46 discriminator 1 view .LVU2121 6470 0096 10F0200F tst r0, #32 6471 009a 00D1 bne .L334 2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6472 .loc 1 2394 50 view .LVU2122 6473 009c 19B1 cbz r1, .L333 6474 .L334: 2396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6475 .loc 1 2396 7 is_stmt 1 view .LVU2123 2396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6476 .loc 1 2396 24 is_stmt 0 view .LVU2124 6477 009e 626C ldr r2, [r4, #68] 6478 00a0 42F00802 orr r2, r2, #8 6479 00a4 6264 str r2, [r4, #68] 6480 .L333: 2400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6481 .loc 1 2400 5 is_stmt 1 view .LVU2125 2400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6482 .loc 1 2400 14 is_stmt 0 view .LVU2126 6483 00a6 626C ldr r2, [r4, #68] 2400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6484 .loc 1 2400 8 view .LVU2127 6485 00a8 002A cmp r2, #0 6486 00aa D1D0 beq .L325 2403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6487 .loc 1 2403 7 is_stmt 1 view .LVU2128 2403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6488 .loc 1 2403 10 is_stmt 0 view .LVU2129 6489 00ac 13F0200F tst r3, #32 6490 00b0 02D0 beq .L336 2403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6491 .loc 1 2403 49 discriminator 1 view .LVU2130 6492 00b2 10F0200F tst r0, #32 6493 00b6 29D1 bne .L360 6494 .LVL570: 6495 .L336: 2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest) 6496 .loc 1 2410 7 is_stmt 1 view .LVU2131 2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest) 6497 .loc 1 2410 20 is_stmt 0 view .LVU2132 6498 00b8 2368 ldr r3, [r4] 6499 00ba 5B69 ldr r3, [r3, #20] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 223 6500 00bc 03F04003 and r3, r3, #64 6501 .LVL571: 2411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6502 .loc 1 2411 7 is_stmt 1 view .LVU2133 2411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6503 .loc 1 2411 18 is_stmt 0 view .LVU2134 6504 00c0 626C ldr r2, [r4, #68] 2411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6505 .loc 1 2411 10 view .LVU2135 6506 00c2 12F0080F tst r2, #8 6507 00c6 00D1 bne .L337 2411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6508 .loc 1 2411 62 discriminator 1 view .LVU2136 6509 00c8 63B3 cbz r3, .L338 6510 .L337: 2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6511 .loc 1 2416 9 is_stmt 1 view .LVU2137 6512 00ca 2046 mov r0, r4 6513 00cc FFF7FEFF bl UART_EndRxTransfer 6514 .LVL572: 2419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6515 .loc 1 2419 9 view .LVU2138 2419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6516 .loc 1 2419 13 is_stmt 0 view .LVU2139 6517 00d0 2368 ldr r3, [r4] 6518 00d2 5B69 ldr r3, [r3, #20] 2419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6519 .loc 1 2419 12 view .LVU2140 6520 00d4 13F0400F tst r3, #64 6521 00d8 20D0 beq .L339 6522 .L340: 2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6523 .loc 1 2421 11 is_stmt 1 discriminator 1 view .LVU2141 6524 .LBB515: 2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6525 .loc 1 2421 11 discriminator 1 view .LVU2142 2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6526 .loc 1 2421 11 discriminator 1 view .LVU2143 2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6527 .loc 1 2421 11 discriminator 1 view .LVU2144 6528 00da 2268 ldr r2, [r4] 6529 .LVL573: 6530 .LBB516: 6531 .LBI516: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6532 .loc 2 476 31 discriminator 1 view .LVU2145 6533 .LBB517: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 6534 .loc 2 478 5 discriminator 1 view .LVU2146 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6535 .loc 2 480 4 discriminator 1 view .LVU2147 6536 00dc 02F11403 add r3, r2, #20 6537 .LVL574: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6538 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2148 6539 .syntax unified 6540 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 224 6541 00e0 53E8003F ldrex r3, [r3] 6542 @ 0 "" 2 6543 .LVL575: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6544 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2149 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6545 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2150 6546 .thumb 6547 .syntax unified 6548 .LBE517: 6549 .LBE516: 2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6550 .loc 1 2421 11 discriminator 1 view .LVU2151 6551 00e4 23F04003 bic r3, r3, #64 6552 .LVL576: 2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6553 .loc 1 2421 11 is_stmt 1 discriminator 1 view .LVU2152 6554 .LBB518: 6555 .LBI518: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6556 .loc 2 527 31 discriminator 1 view .LVU2153 6557 .LBB519: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 6558 .loc 2 529 4 discriminator 1 view .LVU2154 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6559 .loc 2 531 4 discriminator 1 view .LVU2155 6560 00e8 1432 adds r2, r2, #20 6561 .LVL577: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6562 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2156 6563 .syntax unified 6564 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6565 00ea 42E80031 strex r1, r3, [r2] 6566 @ 0 "" 2 6567 .LVL578: 6568 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2157 6569 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2158 6570 .thumb 6571 .syntax unified 6572 .LBE519: 6573 .LBE518: 2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6574 .loc 1 2421 11 discriminator 1 view .LVU2159 6575 00ee 0029 cmp r1, #0 6576 00f0 F3D1 bne .L340 6577 .LBE515: 2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6578 .loc 1 2421 11 is_stmt 1 discriminator 2 view .LVU2160 2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6579 .loc 1 2424 11 discriminator 2 view .LVU2161 2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6580 .loc 1 2424 20 is_stmt 0 discriminator 2 view .LVU2162 6581 00f2 E36B ldr r3, [r4, #60] 6582 .LVL579: 2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6583 .loc 1 2424 14 discriminator 2 view .LVU2163 6584 00f4 73B1 cbz r3, .L341 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 225 2428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 6585 .loc 1 2428 13 is_stmt 1 view .LVU2164 2428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 6586 .loc 1 2428 46 is_stmt 0 view .LVU2165 6587 00f6 634A ldr r2, .L361 6588 00f8 1A65 str r2, [r3, #80] 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6589 .loc 1 2429 13 is_stmt 1 view .LVU2166 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6590 .loc 1 2429 17 is_stmt 0 view .LVU2167 6591 00fa E06B ldr r0, [r4, #60] 6592 00fc FFF7FEFF bl HAL_DMA_Abort_IT 6593 .LVL580: 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6594 .loc 1 2429 16 view .LVU2168 6595 0100 0028 cmp r0, #0 6596 0102 A5D0 beq .L325 2432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6597 .loc 1 2432 15 is_stmt 1 view .LVU2169 2432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6598 .loc 1 2432 20 is_stmt 0 view .LVU2170 6599 0104 E06B ldr r0, [r4, #60] 2432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6600 .loc 1 2432 28 view .LVU2171 6601 0106 036D ldr r3, [r0, #80] 2432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6602 .loc 1 2432 15 view .LVU2172 6603 0108 9847 blx r3 6604 .LVL581: 6605 010a A1E7 b .L325 6606 .LVL582: 6607 .L360: 2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6608 .loc 1 2405 9 is_stmt 1 view .LVU2173 6609 010c 2046 mov r0, r4 6610 .LVL583: 2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6611 .loc 1 2405 9 is_stmt 0 view .LVU2174 6612 010e FFF7FEFF bl UART_Receive_IT 6613 .LVL584: 2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6614 .loc 1 2405 9 view .LVU2175 6615 0112 D1E7 b .L336 6616 .LVL585: 6617 .L341: 2443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6618 .loc 1 2443 13 is_stmt 1 view .LVU2176 6619 0114 2046 mov r0, r4 6620 0116 FFF7FEFF bl HAL_UART_ErrorCallback 6621 .LVL586: 6622 011a 99E7 b .L325 6623 .L339: 2455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6624 .loc 1 2455 11 view .LVU2177 6625 011c 2046 mov r0, r4 6626 011e FFF7FEFF bl HAL_UART_ErrorCallback 6627 .LVL587: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 226 6628 0122 95E7 b .L325 6629 .LVL588: 6630 .L338: 2468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6631 .loc 1 2468 9 view .LVU2178 6632 0124 2046 mov r0, r4 6633 0126 FFF7FEFF bl HAL_UART_ErrorCallback 6634 .LVL589: 2471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6635 .loc 1 2471 9 view .LVU2179 2471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6636 .loc 1 2471 26 is_stmt 0 view .LVU2180 6637 012a 0023 movs r3, #0 6638 012c 6364 str r3, [r4, #68] 2474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } /* End if some error occurs */ 6639 .loc 1 2474 5 is_stmt 1 view .LVU2181 6640 012e 8FE7 b .L325 6641 .LVL590: 6642 .L357: 2480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((cr1its & USART_SR_IDLE) != 0U)) 6643 .loc 1 2480 7 is_stmt 0 view .LVU2182 6644 0130 13F0100F tst r3, #16 6645 0134 3FF47EAF beq .L342 2481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6646 .loc 1 2481 7 view .LVU2183 6647 0138 10F0100F tst r0, #16 6648 013c 3FF47AAF beq .L342 2483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6649 .loc 1 2483 5 is_stmt 1 view .LVU2184 6650 .LBB520: 2483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6651 .loc 1 2483 5 view .LVU2185 6652 0140 0023 movs r3, #0 6653 .LVL591: 2483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6654 .loc 1 2483 5 is_stmt 0 view .LVU2186 6655 0142 0193 str r3, [sp, #4] 2483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6656 .loc 1 2483 5 is_stmt 1 view .LVU2187 6657 0144 1368 ldr r3, [r2] 6658 0146 0193 str r3, [sp, #4] 2483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6659 .loc 1 2483 5 view .LVU2188 6660 0148 5368 ldr r3, [r2, #4] 6661 014a 0193 str r3, [sp, #4] 2483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6662 .loc 1 2483 5 view .LVU2189 6663 014c 019B ldr r3, [sp, #4] 6664 .LBE520: 2483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6665 .loc 1 2483 5 view .LVU2190 2486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6666 .loc 1 2486 5 view .LVU2191 2486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6667 .loc 1 2486 9 is_stmt 0 view .LVU2192 6668 014e 5369 ldr r3, [r2, #20] 2486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 227 6669 .loc 1 2486 8 view .LVU2193 6670 0150 13F0400F tst r3, #64 6671 0154 52D0 beq .L343 6672 .LBB521: 2492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 6673 .loc 1 2492 7 is_stmt 1 view .LVU2194 2492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 6674 .loc 1 2492 50 is_stmt 0 view .LVU2195 6675 0156 E26B ldr r2, [r4, #60] 6676 0158 1368 ldr r3, [r2] 6677 015a 5B68 ldr r3, [r3, #4] 2492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 6678 .loc 1 2492 16 view .LVU2196 6679 015c 9BB2 uxth r3, r3 6680 .LVL592: 2493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 6681 .loc 1 2493 7 is_stmt 1 view .LVU2197 2493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 6682 .loc 1 2493 10 is_stmt 0 view .LVU2198 6683 015e 002B cmp r3, #0 6684 0160 3FF476AF beq .L325 2494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6685 .loc 1 2494 43 view .LVU2199 6686 0164 A18D ldrh r1, [r4, #44] 2494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6687 .loc 1 2494 11 view .LVU2200 6688 0166 9942 cmp r1, r3 6689 0168 7FF672AF bls .L325 2497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6690 .loc 1 2497 9 is_stmt 1 view .LVU2201 2497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6691 .loc 1 2497 28 is_stmt 0 view .LVU2202 6692 016c E385 strh r3, [r4, #46] @ movhi 2500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6693 .loc 1 2500 9 is_stmt 1 view .LVU2203 2500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6694 .loc 1 2500 32 is_stmt 0 view .LVU2204 6695 016e D369 ldr r3, [r2, #28] 6696 .LVL593: 2500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6697 .loc 1 2500 12 view .LVU2205 6698 0170 B3F5807F cmp r3, #256 6699 0174 37D0 beq .L345 6700 .L346: 2503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6701 .loc 1 2503 11 is_stmt 1 discriminator 1 view .LVU2206 6702 .LBB522: 2503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6703 .loc 1 2503 11 discriminator 1 view .LVU2207 2503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6704 .loc 1 2503 11 discriminator 1 view .LVU2208 2503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6705 .loc 1 2503 11 discriminator 1 view .LVU2209 6706 0176 2268 ldr r2, [r4] 6707 .LVL594: 6708 .LBB523: 6709 .LBI523: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 228 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6710 .loc 2 476 31 discriminator 1 view .LVU2210 6711 .LBB524: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 6712 .loc 2 478 5 discriminator 1 view .LVU2211 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6713 .loc 2 480 4 discriminator 1 view .LVU2212 6714 0178 02F10C03 add r3, r2, #12 6715 .LVL595: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6716 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2213 6717 .syntax unified 6718 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6719 017c 53E8003F ldrex r3, [r3] 6720 @ 0 "" 2 6721 .LVL596: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6722 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2214 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6723 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2215 6724 .thumb 6725 .syntax unified 6726 .LBE524: 6727 .LBE523: 2503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6728 .loc 1 2503 11 discriminator 1 view .LVU2216 6729 0180 23F48073 bic r3, r3, #256 6730 .LVL597: 2503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6731 .loc 1 2503 11 is_stmt 1 discriminator 1 view .LVU2217 6732 .LBB525: 6733 .LBI525: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6734 .loc 2 527 31 discriminator 1 view .LVU2218 6735 .LBB526: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 6736 .loc 2 529 4 discriminator 1 view .LVU2219 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6737 .loc 2 531 4 discriminator 1 view .LVU2220 6738 0184 0C32 adds r2, r2, #12 6739 .LVL598: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6740 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2221 6741 .syntax unified 6742 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6743 0186 42E80031 strex r1, r3, [r2] 6744 @ 0 "" 2 6745 .LVL599: 6746 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2222 6747 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2223 6748 .thumb 6749 .syntax unified 6750 .LBE526: 6751 .LBE525: 2503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6752 .loc 1 2503 11 discriminator 1 view .LVU2224 6753 018a 0029 cmp r1, #0 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 229 6754 018c F3D1 bne .L346 6755 .LVL600: 6756 .L347: 2503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6757 .loc 1 2503 11 discriminator 1 view .LVU2225 6758 .LBE522: 2503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6759 .loc 1 2503 11 is_stmt 1 discriminator 1 view .LVU2226 2504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6760 .loc 1 2504 11 discriminator 1 view .LVU2227 6761 .LBB527: 2504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6762 .loc 1 2504 11 discriminator 1 view .LVU2228 2504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6763 .loc 1 2504 11 discriminator 1 view .LVU2229 2504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6764 .loc 1 2504 11 discriminator 1 view .LVU2230 6765 018e 2268 ldr r2, [r4] 6766 .LVL601: 6767 .LBB528: 6768 .LBI528: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6769 .loc 2 476 31 discriminator 1 view .LVU2231 6770 .LBB529: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 6771 .loc 2 478 5 discriminator 1 view .LVU2232 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6772 .loc 2 480 4 discriminator 1 view .LVU2233 6773 0190 02F11403 add r3, r2, #20 6774 .LVL602: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6775 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2234 6776 .syntax unified 6777 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6778 0194 53E8003F ldrex r3, [r3] 6779 @ 0 "" 2 6780 .LVL603: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6781 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2235 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6782 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2236 6783 .thumb 6784 .syntax unified 6785 .LBE529: 6786 .LBE528: 2504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6787 .loc 1 2504 11 discriminator 1 view .LVU2237 6788 0198 23F00103 bic r3, r3, #1 6789 .LVL604: 2504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6790 .loc 1 2504 11 is_stmt 1 discriminator 1 view .LVU2238 6791 .LBB530: 6792 .LBI530: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6793 .loc 2 527 31 discriminator 1 view .LVU2239 6794 .LBB531: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 230 6795 .loc 2 529 4 discriminator 1 view .LVU2240 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6796 .loc 2 531 4 discriminator 1 view .LVU2241 6797 019c 1432 adds r2, r2, #20 6798 .LVL605: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6799 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2242 6800 .syntax unified 6801 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6802 019e 42E80031 strex r1, r3, [r2] 6803 @ 0 "" 2 6804 .LVL606: 6805 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2243 6806 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2244 6807 .thumb 6808 .syntax unified 6809 .LBE531: 6810 .LBE530: 2504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6811 .loc 1 2504 11 discriminator 1 view .LVU2245 6812 01a2 0029 cmp r1, #0 6813 01a4 F3D1 bne .L347 6814 .LVL607: 6815 .L348: 2504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6816 .loc 1 2504 11 discriminator 1 view .LVU2246 6817 .LBE527: 2504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6818 .loc 1 2504 11 is_stmt 1 discriminator 1 view .LVU2247 2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6819 .loc 1 2508 11 discriminator 1 view .LVU2248 6820 .LBB532: 2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6821 .loc 1 2508 11 discriminator 1 view .LVU2249 2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6822 .loc 1 2508 11 discriminator 1 view .LVU2250 2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6823 .loc 1 2508 11 discriminator 1 view .LVU2251 6824 01a6 2268 ldr r2, [r4] 6825 .LVL608: 6826 .LBB533: 6827 .LBI533: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6828 .loc 2 476 31 discriminator 1 view .LVU2252 6829 .LBB534: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 6830 .loc 2 478 5 discriminator 1 view .LVU2253 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6831 .loc 2 480 4 discriminator 1 view .LVU2254 6832 01a8 02F11403 add r3, r2, #20 6833 .LVL609: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6834 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2255 6835 .syntax unified 6836 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6837 01ac 53E8003F ldrex r3, [r3] 6838 @ 0 "" 2 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 231 6839 .LVL610: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6840 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2256 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6841 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2257 6842 .thumb 6843 .syntax unified 6844 .LBE534: 6845 .LBE533: 2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6846 .loc 1 2508 11 discriminator 1 view .LVU2258 6847 01b0 23F04003 bic r3, r3, #64 6848 .LVL611: 2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6849 .loc 1 2508 11 is_stmt 1 discriminator 1 view .LVU2259 6850 .LBB535: 6851 .LBI535: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6852 .loc 2 527 31 discriminator 1 view .LVU2260 6853 .LBB536: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 6854 .loc 2 529 4 discriminator 1 view .LVU2261 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6855 .loc 2 531 4 discriminator 1 view .LVU2262 6856 01b4 1432 adds r2, r2, #20 6857 .LVL612: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6858 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2263 6859 .syntax unified 6860 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6861 01b6 42E80031 strex r1, r3, [r2] 6862 @ 0 "" 2 6863 .LVL613: 6864 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2264 6865 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2265 6866 .thumb 6867 .syntax unified 6868 .LBE536: 6869 .LBE535: 2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6870 .loc 1 2508 11 discriminator 1 view .LVU2266 6871 01ba 0029 cmp r1, #0 6872 01bc F3D1 bne .L348 6873 .LBE532: 2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6874 .loc 1 2508 11 is_stmt 1 discriminator 2 view .LVU2267 2511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6875 .loc 1 2511 11 discriminator 2 view .LVU2268 2511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6876 .loc 1 2511 26 is_stmt 0 discriminator 2 view .LVU2269 6877 01be 2023 movs r3, #32 6878 .LVL614: 2511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6879 .loc 1 2511 26 discriminator 2 view .LVU2270 6880 01c0 84F84230 strb r3, [r4, #66] 6881 .LVL615: 2512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 232 6882 .loc 1 2512 11 is_stmt 1 discriminator 2 view .LVU2271 2512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6883 .loc 1 2512 32 is_stmt 0 discriminator 2 view .LVU2272 6884 01c4 0023 movs r3, #0 6885 01c6 2363 str r3, [r4, #48] 6886 .L349: 2514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6887 .loc 1 2514 11 is_stmt 1 discriminator 1 view .LVU2273 6888 .LBB537: 2514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6889 .loc 1 2514 11 discriminator 1 view .LVU2274 2514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6890 .loc 1 2514 11 discriminator 1 view .LVU2275 2514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6891 .loc 1 2514 11 discriminator 1 view .LVU2276 6892 01c8 2268 ldr r2, [r4] 6893 .LVL616: 6894 .LBB538: 6895 .LBI538: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6896 .loc 2 476 31 discriminator 1 view .LVU2277 6897 .LBB539: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 6898 .loc 2 478 5 discriminator 1 view .LVU2278 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6899 .loc 2 480 4 discriminator 1 view .LVU2279 6900 01ca 02F10C03 add r3, r2, #12 6901 .LVL617: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6902 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2280 6903 .syntax unified 6904 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6905 01ce 53E8003F ldrex r3, [r3] 6906 @ 0 "" 2 6907 .LVL618: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6908 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2281 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6909 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2282 6910 .thumb 6911 .syntax unified 6912 .LBE539: 6913 .LBE538: 2514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6914 .loc 1 2514 11 discriminator 1 view .LVU2283 6915 01d2 23F01003 bic r3, r3, #16 6916 .LVL619: 2514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6917 .loc 1 2514 11 is_stmt 1 discriminator 1 view .LVU2284 6918 .LBB540: 6919 .LBI540: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6920 .loc 2 527 31 discriminator 1 view .LVU2285 6921 .LBB541: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 6922 .loc 2 529 4 discriminator 1 view .LVU2286 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 233 6923 .loc 2 531 4 discriminator 1 view .LVU2287 6924 01d6 0C32 adds r2, r2, #12 6925 .LVL620: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6926 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2288 6927 .syntax unified 6928 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6929 01d8 42E80031 strex r1, r3, [r2] 6930 @ 0 "" 2 6931 .LVL621: 6932 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2289 6933 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2290 6934 .thumb 6935 .syntax unified 6936 .LBE541: 6937 .LBE540: 2514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6938 .loc 1 2514 11 discriminator 1 view .LVU2291 6939 01dc 0029 cmp r1, #0 6940 01de F3D1 bne .L349 6941 .LBE537: 2514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6942 .loc 1 2514 11 is_stmt 1 discriminator 2 view .LVU2292 2517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6943 .loc 1 2517 11 discriminator 2 view .LVU2293 2517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6944 .loc 1 2517 17 is_stmt 0 discriminator 2 view .LVU2294 6945 01e0 E06B ldr r0, [r4, #60] 6946 .LVL622: 2517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6947 .loc 1 2517 17 discriminator 2 view .LVU2295 6948 01e2 FFF7FEFF bl HAL_DMA_Abort 6949 .LVL623: 6950 .L345: 2522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6951 .loc 1 2522 9 is_stmt 1 view .LVU2296 2522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6952 .loc 1 2522 28 is_stmt 0 view .LVU2297 6953 01e6 0223 movs r3, #2 6954 01e8 6363 str r3, [r4, #52] 2529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6955 .loc 1 2529 9 is_stmt 1 view .LVU2298 2529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6956 .loc 1 2529 49 is_stmt 0 view .LVU2299 6957 01ea A18D ldrh r1, [r4, #44] 2529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6958 .loc 1 2529 69 view .LVU2300 6959 01ec E38D ldrh r3, [r4, #46] 6960 01ee 9BB2 uxth r3, r3 2529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6961 .loc 1 2529 9 view .LVU2301 6962 01f0 C91A subs r1, r1, r3 6963 01f2 89B2 uxth r1, r1 6964 01f4 2046 mov r0, r4 6965 01f6 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6966 .LVL624: 2532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 234 6967 .loc 1 2532 7 is_stmt 1 view .LVU2302 6968 01fa 29E7 b .L325 6969 .LVL625: 6970 .L343: 2532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 6971 .loc 1 2532 7 is_stmt 0 view .LVU2303 6972 .LBE521: 6973 .LBB542: 2539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6974 .loc 1 2539 7 is_stmt 1 view .LVU2304 2539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6975 .loc 1 2539 34 is_stmt 0 view .LVU2305 6976 01fc A18D ldrh r1, [r4, #44] 2539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6977 .loc 1 2539 54 view .LVU2306 6978 01fe E38D ldrh r3, [r4, #46] 6979 0200 9BB2 uxth r3, r3 2539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6980 .loc 1 2539 16 view .LVU2307 6981 0202 C91A subs r1, r1, r3 6982 0204 89B2 uxth r1, r1 6983 .LVL626: 2540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_rx_data > 0U)) 6984 .loc 1 2540 7 is_stmt 1 view .LVU2308 2540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_rx_data > 0U)) 6985 .loc 1 2540 17 is_stmt 0 view .LVU2309 6986 0206 E38D ldrh r3, [r4, #46] 6987 0208 9BB2 uxth r3, r3 2540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_rx_data > 0U)) 6988 .loc 1 2540 10 view .LVU2310 6989 020a 002B cmp r3, #0 6990 020c 3FF420AF beq .L325 2541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 6991 .loc 1 2541 11 view .LVU2311 6992 0210 0029 cmp r1, #0 6993 0212 3FF41DAF beq .L325 6994 .LVL627: 6995 .L351: 2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6996 .loc 1 2544 9 is_stmt 1 discriminator 1 view .LVU2312 6997 .LBB543: 2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6998 .loc 1 2544 9 discriminator 1 view .LVU2313 2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 6999 .loc 1 2544 9 discriminator 1 view .LVU2314 2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7000 .loc 1 2544 9 discriminator 1 view .LVU2315 7001 0216 2268 ldr r2, [r4] 7002 .LVL628: 7003 .LBB544: 7004 .LBI544: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7005 .loc 2 476 31 discriminator 1 view .LVU2316 7006 .LBB545: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 7007 .loc 2 478 5 discriminator 1 view .LVU2317 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 235 7008 .loc 2 480 4 discriminator 1 view .LVU2318 7009 0218 02F10C03 add r3, r2, #12 7010 .LVL629: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7011 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2319 7012 .syntax unified 7013 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7014 021c 53E8003F ldrex r3, [r3] 7015 @ 0 "" 2 7016 .LVL630: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7017 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2320 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7018 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2321 7019 .thumb 7020 .syntax unified 7021 .LBE545: 7022 .LBE544: 2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7023 .loc 1 2544 9 discriminator 1 view .LVU2322 7024 0220 23F49073 bic r3, r3, #288 7025 .LVL631: 2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7026 .loc 1 2544 9 is_stmt 1 discriminator 1 view .LVU2323 7027 .LBB546: 7028 .LBI546: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7029 .loc 2 527 31 discriminator 1 view .LVU2324 7030 .LBB547: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 7031 .loc 2 529 4 discriminator 1 view .LVU2325 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7032 .loc 2 531 4 discriminator 1 view .LVU2326 7033 0224 0C32 adds r2, r2, #12 7034 .LVL632: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7035 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2327 7036 .syntax unified 7037 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7038 0226 42E80030 strex r0, r3, [r2] 7039 @ 0 "" 2 7040 .LVL633: 7041 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2328 7042 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2329 7043 .thumb 7044 .syntax unified 7045 .LBE547: 7046 .LBE546: 2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7047 .loc 1 2544 9 discriminator 1 view .LVU2330 7048 022a 0028 cmp r0, #0 7049 022c F3D1 bne .L351 7050 .LVL634: 7051 .L352: 2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7052 .loc 1 2544 9 discriminator 1 view .LVU2331 7053 .LBE543: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 236 2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7054 .loc 1 2544 9 is_stmt 1 discriminator 1 view .LVU2332 2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7055 .loc 1 2547 9 discriminator 1 view .LVU2333 7056 .LBB548: 2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7057 .loc 1 2547 9 discriminator 1 view .LVU2334 2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7058 .loc 1 2547 9 discriminator 1 view .LVU2335 2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7059 .loc 1 2547 9 discriminator 1 view .LVU2336 7060 022e 2268 ldr r2, [r4] 7061 .LVL635: 7062 .LBB549: 7063 .LBI549: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7064 .loc 2 476 31 discriminator 1 view .LVU2337 7065 .LBB550: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 7066 .loc 2 478 5 discriminator 1 view .LVU2338 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7067 .loc 2 480 4 discriminator 1 view .LVU2339 7068 0230 02F11403 add r3, r2, #20 7069 .LVL636: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7070 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2340 7071 .syntax unified 7072 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7073 0234 53E8003F ldrex r3, [r3] 7074 @ 0 "" 2 7075 .LVL637: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7076 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2341 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7077 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2342 7078 .thumb 7079 .syntax unified 7080 .LBE550: 7081 .LBE549: 2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7082 .loc 1 2547 9 discriminator 1 view .LVU2343 7083 0238 23F00103 bic r3, r3, #1 7084 .LVL638: 2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7085 .loc 1 2547 9 is_stmt 1 discriminator 1 view .LVU2344 7086 .LBB551: 7087 .LBI551: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7088 .loc 2 527 31 discriminator 1 view .LVU2345 7089 .LBB552: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 7090 .loc 2 529 4 discriminator 1 view .LVU2346 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7091 .loc 2 531 4 discriminator 1 view .LVU2347 7092 023c 1432 adds r2, r2, #20 7093 .LVL639: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 237 7094 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2348 7095 .syntax unified 7096 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7097 023e 42E80030 strex r0, r3, [r2] 7098 @ 0 "" 2 7099 .LVL640: 7100 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2349 7101 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2350 7102 .thumb 7103 .syntax unified 7104 .LBE552: 7105 .LBE551: 2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7106 .loc 1 2547 9 discriminator 1 view .LVU2351 7107 0242 0028 cmp r0, #0 7108 0244 F3D1 bne .L352 7109 .LBE548: 2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7110 .loc 1 2547 9 is_stmt 1 discriminator 2 view .LVU2352 2550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 7111 .loc 1 2550 9 discriminator 2 view .LVU2353 2550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 7112 .loc 1 2550 24 is_stmt 0 discriminator 2 view .LVU2354 7113 0246 2023 movs r3, #32 7114 .LVL641: 2550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 7115 .loc 1 2550 24 discriminator 2 view .LVU2355 7116 0248 84F84230 strb r3, [r4, #66] 2551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7117 .loc 1 2551 9 is_stmt 1 discriminator 2 view .LVU2356 2551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7118 .loc 1 2551 30 is_stmt 0 discriminator 2 view .LVU2357 7119 024c 0023 movs r3, #0 7120 024e 2363 str r3, [r4, #48] 7121 .L353: 2553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7122 .loc 1 2553 9 is_stmt 1 discriminator 1 view .LVU2358 7123 .LBB553: 2553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7124 .loc 1 2553 9 discriminator 1 view .LVU2359 2553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7125 .loc 1 2553 9 discriminator 1 view .LVU2360 2553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7126 .loc 1 2553 9 discriminator 1 view .LVU2361 7127 0250 2268 ldr r2, [r4] 7128 .LVL642: 7129 .LBB554: 7130 .LBI554: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7131 .loc 2 476 31 discriminator 1 view .LVU2362 7132 .LBB555: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 7133 .loc 2 478 5 discriminator 1 view .LVU2363 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7134 .loc 2 480 4 discriminator 1 view .LVU2364 7135 0252 02F10C03 add r3, r2, #12 7136 .LVL643: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 238 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7137 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2365 7138 .syntax unified 7139 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7140 0256 53E8003F ldrex r3, [r3] 7141 @ 0 "" 2 7142 .LVL644: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7143 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2366 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7144 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2367 7145 .thumb 7146 .syntax unified 7147 .LBE555: 7148 .LBE554: 2553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7149 .loc 1 2553 9 discriminator 1 view .LVU2368 7150 025a 23F01003 bic r3, r3, #16 7151 .LVL645: 2553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7152 .loc 1 2553 9 is_stmt 1 discriminator 1 view .LVU2369 7153 .LBB556: 7154 .LBI556: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7155 .loc 2 527 31 discriminator 1 view .LVU2370 7156 .LBB557: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 7157 .loc 2 529 4 discriminator 1 view .LVU2371 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7158 .loc 2 531 4 discriminator 1 view .LVU2372 7159 025e 0C32 adds r2, r2, #12 7160 .LVL646: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7161 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2373 7162 .syntax unified 7163 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7164 0260 42E80030 strex r0, r3, [r2] 7165 @ 0 "" 2 7166 .LVL647: 7167 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2374 7168 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2375 7169 .thumb 7170 .syntax unified 7171 .LBE557: 7172 .LBE556: 2553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7173 .loc 1 2553 9 discriminator 1 view .LVU2376 7174 0264 0028 cmp r0, #0 7175 0266 F3D1 bne .L353 7176 .LBE553: 2553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7177 .loc 1 2553 9 is_stmt 1 discriminator 2 view .LVU2377 2557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7178 .loc 1 2557 9 discriminator 2 view .LVU2378 2557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7179 .loc 1 2557 28 is_stmt 0 discriminator 2 view .LVU2379 7180 0268 0223 movs r3, #2 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 239 7181 .LVL648: 2557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7182 .loc 1 2557 28 discriminator 2 view .LVU2380 7183 026a 6363 str r3, [r4, #52] 2564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7184 .loc 1 2564 9 is_stmt 1 discriminator 2 view .LVU2381 7185 026c 2046 mov r0, r4 7186 026e FFF7FEFF bl HAL_UARTEx_RxEventCallback 7187 .LVL649: 2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7188 .loc 1 2567 7 discriminator 2 view .LVU2382 7189 0272 EDE6 b .L325 7190 .LVL650: 7191 .L358: 2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7192 .loc 1 2567 7 is_stmt 0 discriminator 2 view .LVU2383 7193 .LBE542: 2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return; 7194 .loc 1 2574 5 is_stmt 1 view .LVU2384 7195 0274 2046 mov r0, r4 7196 .LVL651: 2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return; 7197 .loc 1 2574 5 is_stmt 0 view .LVU2385 7198 0276 FFF7FEFF bl UART_Transmit_IT 7199 .LVL652: 2575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7200 .loc 1 2575 5 is_stmt 1 view .LVU2386 7201 027a E9E6 b .L325 7202 .LVL653: 7203 .L359: 2581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return; 7204 .loc 1 2581 5 view .LVU2387 7205 027c 2046 mov r0, r4 7206 .LVL654: 2581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return; 7207 .loc 1 2581 5 is_stmt 0 view .LVU2388 7208 027e FFF7FEFF bl UART_EndTransmit_IT 7209 .LVL655: 2582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7210 .loc 1 2582 5 is_stmt 1 view .LVU2389 7211 0282 E5E6 b .L325 7212 .L362: 7213 .align 2 7214 .L361: 7215 0284 00000000 .word UART_DMAAbortOnError 7216 .cfi_endproc 7217 .LFE265: 7219 .section .text.UART_DMARxHalfCplt,"ax",%progbits 7220 .align 1 7221 .syntax unified 7222 .thumb 7223 .thumb_func 7225 UART_DMARxHalfCplt: 7226 .LVL656: 7227 .LFB285: 3105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 7228 .loc 1 3105 1 view -0 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 240 7229 .cfi_startproc 7230 @ args = 0, pretend = 0, frame = 0 7231 @ frame_needed = 0, uses_anonymous_args = 0 3105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 7232 .loc 1 3105 1 is_stmt 0 view .LVU2391 7233 0000 08B5 push {r3, lr} 7234 .LCFI56: 7235 .cfi_def_cfa_offset 8 7236 .cfi_offset 3, -8 7237 .cfi_offset 14, -4 3106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7238 .loc 1 3106 3 is_stmt 1 view .LVU2392 3106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7239 .loc 1 3106 23 is_stmt 0 view .LVU2393 7240 0002 806B ldr r0, [r0, #56] 7241 .LVL657: 3110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7242 .loc 1 3110 3 is_stmt 1 view .LVU2394 3110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7243 .loc 1 3110 22 is_stmt 0 view .LVU2395 7244 0004 0123 movs r3, #1 7245 0006 4363 str r3, [r0, #52] 3114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 7246 .loc 1 3114 3 is_stmt 1 view .LVU2396 3114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 7247 .loc 1 3114 12 is_stmt 0 view .LVU2397 7248 0008 036B ldr r3, [r0, #48] 3114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 7249 .loc 1 3114 6 view .LVU2398 7250 000a 012B cmp r3, #1 7251 000c 02D0 beq .L367 3132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7252 .loc 1 3132 5 is_stmt 1 view .LVU2399 7253 000e FFF7FEFF bl HAL_UART_RxHalfCpltCallback 7254 .LVL658: 7255 .L363: 3135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7256 .loc 1 3135 1 is_stmt 0 view .LVU2400 7257 0012 08BD pop {r3, pc} 7258 .LVL659: 7259 .L367: 3121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7260 .loc 1 3121 5 is_stmt 1 view .LVU2401 3121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7261 .loc 1 3121 44 is_stmt 0 view .LVU2402 7262 0014 818D ldrh r1, [r0, #44] 3121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7263 .loc 1 3121 5 view .LVU2403 7264 0016 4908 lsrs r1, r1, #1 7265 0018 FFF7FEFF bl HAL_UARTEx_RxEventCallback 7266 .LVL660: 3121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7267 .loc 1 3121 5 view .LVU2404 7268 001c F9E7 b .L363 7269 .cfi_endproc 7270 .LFE285: 7272 .section .text.UART_DMAReceiveCplt,"ax",%progbits ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 241 7273 .align 1 7274 .syntax unified 7275 .thumb 7276 .thumb_func 7278 UART_DMAReceiveCplt: 7279 .LVL661: 7280 .LFB284: 3043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 7281 .loc 1 3043 1 is_stmt 1 view -0 7282 .cfi_startproc 7283 @ args = 0, pretend = 0, frame = 0 7284 @ frame_needed = 0, uses_anonymous_args = 0 3043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 7285 .loc 1 3043 1 is_stmt 0 view .LVU2406 7286 0000 08B5 push {r3, lr} 7287 .LCFI57: 7288 .cfi_def_cfa_offset 8 7289 .cfi_offset 3, -8 7290 .cfi_offset 14, -4 7291 0002 0346 mov r3, r0 3044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7292 .loc 1 3044 3 is_stmt 1 view .LVU2407 3044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7293 .loc 1 3044 23 is_stmt 0 view .LVU2408 7294 0004 806B ldr r0, [r0, #56] 7295 .LVL662: 3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 7296 .loc 1 3047 3 is_stmt 1 view .LVU2409 3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 7297 .loc 1 3047 12 is_stmt 0 view .LVU2410 7298 0006 1B68 ldr r3, [r3] 7299 .LVL663: 3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 7300 .loc 1 3047 22 view .LVU2411 7301 0008 1B68 ldr r3, [r3] 3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 7302 .loc 1 3047 6 view .LVU2412 7303 000a 13F4807F tst r3, #256 7304 000e 2BD1 bne .L369 3049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7305 .loc 1 3049 5 is_stmt 1 view .LVU2413 3049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7306 .loc 1 3049 24 is_stmt 0 view .LVU2414 7307 0010 0023 movs r3, #0 7308 0012 C385 strh r3, [r0, #46] @ movhi 7309 .L370: 3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7310 .loc 1 3052 5 is_stmt 1 discriminator 1 view .LVU2415 7311 .LBB558: 3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7312 .loc 1 3052 5 discriminator 1 view .LVU2416 3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7313 .loc 1 3052 5 discriminator 1 view .LVU2417 3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7314 .loc 1 3052 5 discriminator 1 view .LVU2418 7315 0014 0268 ldr r2, [r0] 7316 .LVL664: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 242 7317 .LBB559: 7318 .LBI559: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7319 .loc 2 476 31 discriminator 1 view .LVU2419 7320 .LBB560: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 7321 .loc 2 478 5 discriminator 1 view .LVU2420 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7322 .loc 2 480 4 discriminator 1 view .LVU2421 7323 0016 02F10C03 add r3, r2, #12 7324 .LVL665: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7325 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2422 7326 .syntax unified 7327 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7328 001a 53E8003F ldrex r3, [r3] 7329 @ 0 "" 2 7330 .LVL666: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7331 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2423 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7332 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2424 7333 .thumb 7334 .syntax unified 7335 .LBE560: 7336 .LBE559: 3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7337 .loc 1 3052 5 discriminator 1 view .LVU2425 7338 001e 23F48073 bic r3, r3, #256 7339 .LVL667: 3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7340 .loc 1 3052 5 is_stmt 1 discriminator 1 view .LVU2426 7341 .LBB561: 7342 .LBI561: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7343 .loc 2 527 31 discriminator 1 view .LVU2427 7344 .LBB562: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 7345 .loc 2 529 4 discriminator 1 view .LVU2428 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7346 .loc 2 531 4 discriminator 1 view .LVU2429 7347 0022 0C32 adds r2, r2, #12 7348 .LVL668: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7349 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2430 7350 .syntax unified 7351 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7352 0024 42E80031 strex r1, r3, [r2] 7353 @ 0 "" 2 7354 .LVL669: 7355 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2431 7356 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2432 7357 .thumb 7358 .syntax unified 7359 .LBE562: 7360 .LBE561: 3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 243 7361 .loc 1 3052 5 discriminator 1 view .LVU2433 7362 0028 0029 cmp r1, #0 7363 002a F3D1 bne .L370 7364 .LVL670: 7365 .L371: 3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7366 .loc 1 3052 5 discriminator 1 view .LVU2434 7367 .LBE558: 3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7368 .loc 1 3052 5 is_stmt 1 discriminator 1 view .LVU2435 3053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7369 .loc 1 3053 5 discriminator 1 view .LVU2436 7370 .LBB563: 3053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7371 .loc 1 3053 5 discriminator 1 view .LVU2437 3053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7372 .loc 1 3053 5 discriminator 1 view .LVU2438 3053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7373 .loc 1 3053 5 discriminator 1 view .LVU2439 7374 002c 0268 ldr r2, [r0] 7375 .LVL671: 7376 .LBB564: 7377 .LBI564: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7378 .loc 2 476 31 discriminator 1 view .LVU2440 7379 .LBB565: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 7380 .loc 2 478 5 discriminator 1 view .LVU2441 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7381 .loc 2 480 4 discriminator 1 view .LVU2442 7382 002e 02F11403 add r3, r2, #20 7383 .LVL672: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7384 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2443 7385 .syntax unified 7386 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7387 0032 53E8003F ldrex r3, [r3] 7388 @ 0 "" 2 7389 .LVL673: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7390 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2444 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7391 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2445 7392 .thumb 7393 .syntax unified 7394 .LBE565: 7395 .LBE564: 3053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7396 .loc 1 3053 5 discriminator 1 view .LVU2446 7397 0036 23F00103 bic r3, r3, #1 7398 .LVL674: 3053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7399 .loc 1 3053 5 is_stmt 1 discriminator 1 view .LVU2447 7400 .LBB566: 7401 .LBI566: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7402 .loc 2 527 31 discriminator 1 view .LVU2448 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 244 7403 .LBB567: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 7404 .loc 2 529 4 discriminator 1 view .LVU2449 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7405 .loc 2 531 4 discriminator 1 view .LVU2450 7406 003a 1432 adds r2, r2, #20 7407 .LVL675: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7408 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2451 7409 .syntax unified 7410 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7411 003c 42E80031 strex r1, r3, [r2] 7412 @ 0 "" 2 7413 .LVL676: 7414 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2452 7415 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2453 7416 .thumb 7417 .syntax unified 7418 .LBE567: 7419 .LBE566: 3053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7420 .loc 1 3053 5 discriminator 1 view .LVU2454 7421 0040 0029 cmp r1, #0 7422 0042 F3D1 bne .L371 7423 .LVL677: 7424 .L372: 3053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7425 .loc 1 3053 5 discriminator 1 view .LVU2455 7426 .LBE563: 3053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7427 .loc 1 3053 5 is_stmt 1 discriminator 1 view .LVU2456 3057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7428 .loc 1 3057 5 discriminator 1 view .LVU2457 7429 .LBB568: 3057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7430 .loc 1 3057 5 discriminator 1 view .LVU2458 3057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7431 .loc 1 3057 5 discriminator 1 view .LVU2459 3057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7432 .loc 1 3057 5 discriminator 1 view .LVU2460 7433 0044 0268 ldr r2, [r0] 7434 .LVL678: 7435 .LBB569: 7436 .LBI569: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7437 .loc 2 476 31 discriminator 1 view .LVU2461 7438 .LBB570: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 7439 .loc 2 478 5 discriminator 1 view .LVU2462 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7440 .loc 2 480 4 discriminator 1 view .LVU2463 7441 0046 02F11403 add r3, r2, #20 7442 .LVL679: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7443 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2464 7444 .syntax unified 7445 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 245 7446 004a 53E8003F ldrex r3, [r3] 7447 @ 0 "" 2 7448 .LVL680: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7449 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2465 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7450 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2466 7451 .thumb 7452 .syntax unified 7453 .LBE570: 7454 .LBE569: 3057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7455 .loc 1 3057 5 discriminator 1 view .LVU2467 7456 004e 23F04003 bic r3, r3, #64 7457 .LVL681: 3057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7458 .loc 1 3057 5 is_stmt 1 discriminator 1 view .LVU2468 7459 .LBB571: 7460 .LBI571: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7461 .loc 2 527 31 discriminator 1 view .LVU2469 7462 .LBB572: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 7463 .loc 2 529 4 discriminator 1 view .LVU2470 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7464 .loc 2 531 4 discriminator 1 view .LVU2471 7465 0052 1432 adds r2, r2, #20 7466 .LVL682: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7467 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2472 7468 .syntax unified 7469 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7470 0054 42E80031 strex r1, r3, [r2] 7471 @ 0 "" 2 7472 .LVL683: 7473 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2473 7474 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2474 7475 .thumb 7476 .syntax unified 7477 .LBE572: 7478 .LBE571: 3057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7479 .loc 1 3057 5 discriminator 1 view .LVU2475 7480 0058 0029 cmp r1, #0 7481 005a F3D1 bne .L372 7482 .LBE568: 3057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7483 .loc 1 3057 5 is_stmt 1 discriminator 2 view .LVU2476 3060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7484 .loc 1 3060 5 discriminator 2 view .LVU2477 3060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7485 .loc 1 3060 20 is_stmt 0 discriminator 2 view .LVU2478 7486 005c 2023 movs r3, #32 7487 .LVL684: 3060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7488 .loc 1 3060 20 discriminator 2 view .LVU2479 7489 005e 80F84230 strb r3, [r0, #66] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 246 3063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 7490 .loc 1 3063 5 is_stmt 1 discriminator 2 view .LVU2480 3063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 7491 .loc 1 3063 14 is_stmt 0 discriminator 2 view .LVU2481 7492 0062 036B ldr r3, [r0, #48] 3063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 7493 .loc 1 3063 8 discriminator 2 view .LVU2482 7494 0064 012B cmp r3, #1 7495 0066 07D0 beq .L373 7496 .L369: 3065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7497 .loc 1 3065 7 is_stmt 1 discriminator 2 view .LVU2483 3071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7498 .loc 1 3071 3 discriminator 2 view .LVU2484 3071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7499 .loc 1 3071 22 is_stmt 0 discriminator 2 view .LVU2485 7500 0068 0023 movs r3, #0 7501 006a 4363 str r3, [r0, #52] 3075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 7502 .loc 1 3075 3 is_stmt 1 discriminator 2 view .LVU2486 3075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 7503 .loc 1 3075 12 is_stmt 0 discriminator 2 view .LVU2487 7504 006c 036B ldr r3, [r0, #48] 3075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 7505 .loc 1 3075 6 discriminator 2 view .LVU2488 7506 006e 012B cmp r3, #1 7507 0070 0FD0 beq .L377 3093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7508 .loc 1 3093 5 is_stmt 1 view .LVU2489 7509 0072 FFF7FEFF bl HAL_UART_RxCpltCallback 7510 .LVL685: 7511 .L368: 3096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7512 .loc 1 3096 1 is_stmt 0 view .LVU2490 7513 0076 08BD pop {r3, pc} 7514 .LVL686: 7515 .L373: 3065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7516 .loc 1 3065 7 is_stmt 1 discriminator 1 view .LVU2491 7517 .LBB573: 3065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7518 .loc 1 3065 7 discriminator 1 view .LVU2492 3065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7519 .loc 1 3065 7 discriminator 1 view .LVU2493 3065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7520 .loc 1 3065 7 discriminator 1 view .LVU2494 7521 0078 0268 ldr r2, [r0] 7522 .LVL687: 7523 .LBB574: 7524 .LBI574: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7525 .loc 2 476 31 discriminator 1 view .LVU2495 7526 .LBB575: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 7527 .loc 2 478 5 discriminator 1 view .LVU2496 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7528 .loc 2 480 4 discriminator 1 view .LVU2497 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 247 7529 007a 02F10C03 add r3, r2, #12 7530 .LVL688: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7531 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2498 7532 .syntax unified 7533 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7534 007e 53E8003F ldrex r3, [r3] 7535 @ 0 "" 2 7536 .LVL689: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7537 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2499 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7538 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2500 7539 .thumb 7540 .syntax unified 7541 .LBE575: 7542 .LBE574: 3065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7543 .loc 1 3065 7 discriminator 1 view .LVU2501 7544 0082 23F01003 bic r3, r3, #16 7545 .LVL690: 3065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7546 .loc 1 3065 7 is_stmt 1 discriminator 1 view .LVU2502 7547 .LBB576: 7548 .LBI576: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7549 .loc 2 527 31 discriminator 1 view .LVU2503 7550 .LBB577: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 7551 .loc 2 529 4 discriminator 1 view .LVU2504 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7552 .loc 2 531 4 discriminator 1 view .LVU2505 7553 0086 0C32 adds r2, r2, #12 7554 .LVL691: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7555 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2506 7556 .syntax unified 7557 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7558 0088 42E80031 strex r1, r3, [r2] 7559 @ 0 "" 2 7560 .LVL692: 7561 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2507 7562 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2508 7563 .thumb 7564 .syntax unified 7565 .LBE577: 7566 .LBE576: 3065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7567 .loc 1 3065 7 discriminator 1 view .LVU2509 7568 008c 0029 cmp r1, #0 7569 008e F3D1 bne .L373 7570 0090 EAE7 b .L369 7571 .LVL693: 7572 .L377: 3065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7573 .loc 1 3065 7 discriminator 1 view .LVU2510 7574 .LBE573: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 248 3082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7575 .loc 1 3082 5 is_stmt 1 view .LVU2511 7576 0092 818D ldrh r1, [r0, #44] 7577 0094 FFF7FEFF bl HAL_UARTEx_RxEventCallback 7578 .LVL694: 3082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7579 .loc 1 3082 5 is_stmt 0 view .LVU2512 7580 0098 EDE7 b .L368 7581 .cfi_endproc 7582 .LFE284: 7584 .section .text.HAL_LIN_SendBreak,"ax",%progbits 7585 .align 1 7586 .global HAL_LIN_SendBreak 7587 .syntax unified 7588 .thumb 7589 .thumb_func 7591 HAL_LIN_SendBreak: 7592 .LVL695: 7593 .LFB275: 2754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */ 7594 .loc 1 2754 1 is_stmt 1 view -0 7595 .cfi_startproc 7596 @ args = 0, pretend = 0, frame = 0 7597 @ frame_needed = 0, uses_anonymous_args = 0 7598 @ link register save eliminated. 2756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7599 .loc 1 2756 3 view .LVU2514 2759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7600 .loc 1 2759 3 view .LVU2515 2759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7601 .loc 1 2759 3 view .LVU2516 7602 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 7603 0004 012B cmp r3, #1 7604 0006 19D0 beq .L381 2759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7605 .loc 1 2759 3 discriminator 2 view .LVU2517 7606 0008 0123 movs r3, #1 7607 000a 80F84030 strb r3, [r0, #64] 2759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7608 .loc 1 2759 3 discriminator 2 view .LVU2518 2761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7609 .loc 1 2761 3 discriminator 2 view .LVU2519 2761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7610 .loc 1 2761 17 is_stmt 0 discriminator 2 view .LVU2520 7611 000e 2423 movs r3, #36 7612 0010 80F84130 strb r3, [r0, #65] 7613 .L380: 2764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7614 .loc 1 2764 3 is_stmt 1 discriminator 1 view .LVU2521 7615 .LBB578: 2764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7616 .loc 1 2764 3 discriminator 1 view .LVU2522 2764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7617 .loc 1 2764 3 discriminator 1 view .LVU2523 2764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7618 .loc 1 2764 3 discriminator 1 view .LVU2524 7619 0014 0268 ldr r2, [r0] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 249 7620 .LVL696: 7621 .LBB579: 7622 .LBI579: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7623 .loc 2 476 31 discriminator 1 view .LVU2525 7624 .LBB580: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 7625 .loc 2 478 5 discriminator 1 view .LVU2526 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7626 .loc 2 480 4 discriminator 1 view .LVU2527 7627 0016 02F10C03 add r3, r2, #12 7628 .LVL697: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7629 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2528 7630 .syntax unified 7631 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7632 001a 53E8003F ldrex r3, [r3] 7633 @ 0 "" 2 7634 .LVL698: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7635 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2529 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7636 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2530 7637 .thumb 7638 .syntax unified 7639 .LBE580: 7640 .LBE579: 2764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7641 .loc 1 2764 3 discriminator 1 view .LVU2531 7642 001e 43F00103 orr r3, r3, #1 7643 .LVL699: 2764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7644 .loc 1 2764 3 is_stmt 1 discriminator 1 view .LVU2532 7645 .LBB581: 7646 .LBI581: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7647 .loc 2 527 31 discriminator 1 view .LVU2533 7648 .LBB582: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 7649 .loc 2 529 4 discriminator 1 view .LVU2534 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7650 .loc 2 531 4 discriminator 1 view .LVU2535 7651 0022 0C32 adds r2, r2, #12 7652 .LVL700: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7653 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2536 7654 .syntax unified 7655 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7656 0024 42E80031 strex r1, r3, [r2] 7657 @ 0 "" 2 7658 .LVL701: 7659 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2537 7660 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2538 7661 .thumb 7662 .syntax unified 7663 .LBE582: 7664 .LBE581: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 250 2764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7665 .loc 1 2764 3 discriminator 1 view .LVU2539 7666 0028 0029 cmp r1, #0 7667 002a F3D1 bne .L380 7668 .LBE578: 2764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7669 .loc 1 2764 3 is_stmt 1 discriminator 2 view .LVU2540 2766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7670 .loc 1 2766 3 discriminator 2 view .LVU2541 2766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7671 .loc 1 2766 17 is_stmt 0 discriminator 2 view .LVU2542 7672 002c 2023 movs r3, #32 7673 .LVL702: 2766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7674 .loc 1 2766 17 discriminator 2 view .LVU2543 7675 002e 80F84130 strb r3, [r0, #65] 2769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7676 .loc 1 2769 3 is_stmt 1 discriminator 2 view .LVU2544 2769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7677 .loc 1 2769 3 discriminator 2 view .LVU2545 7678 0032 0023 movs r3, #0 7679 0034 80F84030 strb r3, [r0, #64] 2769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7680 .loc 1 2769 3 discriminator 2 view .LVU2546 2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7681 .loc 1 2771 3 discriminator 2 view .LVU2547 2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7682 .loc 1 2771 10 is_stmt 0 discriminator 2 view .LVU2548 7683 0038 1846 mov r0, r3 7684 .LVL703: 2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7685 .loc 1 2771 10 discriminator 2 view .LVU2549 7686 003a 7047 bx lr 7687 .LVL704: 7688 .L381: 2759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7689 .loc 1 2759 3 view .LVU2550 7690 003c 0220 movs r0, #2 7691 .LVL705: 2772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7692 .loc 1 2772 1 view .LVU2551 7693 003e 7047 bx lr 7694 .cfi_endproc 7695 .LFE275: 7697 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits 7698 .align 1 7699 .global HAL_MultiProcessor_EnterMuteMode 7700 .syntax unified 7701 .thumb 7702 .thumb_func 7704 HAL_MultiProcessor_EnterMuteMode: 7705 .LVL706: 7706 .LFB276: 2781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */ 7707 .loc 1 2781 1 is_stmt 1 view -0 7708 .cfi_startproc 7709 @ args = 0, pretend = 0, frame = 0 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 251 7710 @ frame_needed = 0, uses_anonymous_args = 0 7711 @ link register save eliminated. 2783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7712 .loc 1 2783 3 view .LVU2553 2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7713 .loc 1 2786 3 view .LVU2554 2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7714 .loc 1 2786 3 view .LVU2555 7715 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 7716 0004 012B cmp r3, #1 7717 0006 1AD0 beq .L385 2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7718 .loc 1 2786 3 discriminator 2 view .LVU2556 7719 0008 0123 movs r3, #1 7720 000a 80F84030 strb r3, [r0, #64] 2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7721 .loc 1 2786 3 discriminator 2 view .LVU2557 2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7722 .loc 1 2788 3 discriminator 2 view .LVU2558 2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7723 .loc 1 2788 17 is_stmt 0 discriminator 2 view .LVU2559 7724 000e 2423 movs r3, #36 7725 0010 80F84130 strb r3, [r0, #65] 7726 .L384: 2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7727 .loc 1 2791 3 is_stmt 1 discriminator 1 view .LVU2560 7728 .LBB583: 2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7729 .loc 1 2791 3 discriminator 1 view .LVU2561 2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7730 .loc 1 2791 3 discriminator 1 view .LVU2562 2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7731 .loc 1 2791 3 discriminator 1 view .LVU2563 7732 0014 0268 ldr r2, [r0] 7733 .LVL707: 7734 .LBB584: 7735 .LBI584: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7736 .loc 2 476 31 discriminator 1 view .LVU2564 7737 .LBB585: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 7738 .loc 2 478 5 discriminator 1 view .LVU2565 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7739 .loc 2 480 4 discriminator 1 view .LVU2566 7740 0016 02F10C03 add r3, r2, #12 7741 .LVL708: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7742 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2567 7743 .syntax unified 7744 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7745 001a 53E8003F ldrex r3, [r3] 7746 @ 0 "" 2 7747 .LVL709: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7748 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2568 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7749 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2569 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 252 7750 .thumb 7751 .syntax unified 7752 .LBE585: 7753 .LBE584: 2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7754 .loc 1 2791 3 discriminator 1 view .LVU2570 7755 001e 43F00203 orr r3, r3, #2 7756 .LVL710: 2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7757 .loc 1 2791 3 is_stmt 1 discriminator 1 view .LVU2571 7758 .LBB586: 7759 .LBI586: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7760 .loc 2 527 31 discriminator 1 view .LVU2572 7761 .LBB587: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 7762 .loc 2 529 4 discriminator 1 view .LVU2573 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7763 .loc 2 531 4 discriminator 1 view .LVU2574 7764 0022 0C32 adds r2, r2, #12 7765 .LVL711: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7766 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2575 7767 .syntax unified 7768 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7769 0024 42E80031 strex r1, r3, [r2] 7770 @ 0 "" 2 7771 .LVL712: 7772 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2576 7773 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2577 7774 .thumb 7775 .syntax unified 7776 .LBE587: 7777 .LBE586: 2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7778 .loc 1 2791 3 discriminator 1 view .LVU2578 7779 0028 0029 cmp r1, #0 7780 002a F3D1 bne .L384 7781 .LBE583: 2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7782 .loc 1 2791 3 is_stmt 1 discriminator 2 view .LVU2579 2793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 7783 .loc 1 2793 3 discriminator 2 view .LVU2580 2793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 7784 .loc 1 2793 17 is_stmt 0 discriminator 2 view .LVU2581 7785 002c 2023 movs r3, #32 7786 .LVL713: 2793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 7787 .loc 1 2793 17 discriminator 2 view .LVU2582 7788 002e 80F84130 strb r3, [r0, #65] 2794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7789 .loc 1 2794 3 is_stmt 1 discriminator 2 view .LVU2583 2794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7790 .loc 1 2794 22 is_stmt 0 discriminator 2 view .LVU2584 7791 0032 0023 movs r3, #0 7792 0034 4363 str r3, [r0, #52] 2797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 253 7793 .loc 1 2797 3 is_stmt 1 discriminator 2 view .LVU2585 2797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7794 .loc 1 2797 3 discriminator 2 view .LVU2586 7795 0036 80F84030 strb r3, [r0, #64] 2797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7796 .loc 1 2797 3 discriminator 2 view .LVU2587 2799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7797 .loc 1 2799 3 discriminator 2 view .LVU2588 2799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7798 .loc 1 2799 10 is_stmt 0 discriminator 2 view .LVU2589 7799 003a 1846 mov r0, r3 7800 .LVL714: 2799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7801 .loc 1 2799 10 discriminator 2 view .LVU2590 7802 003c 7047 bx lr 7803 .LVL715: 7804 .L385: 2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7805 .loc 1 2786 3 view .LVU2591 7806 003e 0220 movs r0, #2 7807 .LVL716: 2800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7808 .loc 1 2800 1 view .LVU2592 7809 0040 7047 bx lr 7810 .cfi_endproc 7811 .LFE276: 7813 .section .text.HAL_MultiProcessor_ExitMuteMode,"ax",%progbits 7814 .align 1 7815 .global HAL_MultiProcessor_ExitMuteMode 7816 .syntax unified 7817 .thumb 7818 .thumb_func 7820 HAL_MultiProcessor_ExitMuteMode: 7821 .LVL717: 7822 .LFB277: 2809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */ 7823 .loc 1 2809 1 is_stmt 1 view -0 7824 .cfi_startproc 7825 @ args = 0, pretend = 0, frame = 0 7826 @ frame_needed = 0, uses_anonymous_args = 0 7827 @ link register save eliminated. 2811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7828 .loc 1 2811 3 view .LVU2594 2814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7829 .loc 1 2814 3 view .LVU2595 2814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7830 .loc 1 2814 3 view .LVU2596 7831 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 7832 0004 012B cmp r3, #1 7833 0006 1AD0 beq .L389 2814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7834 .loc 1 2814 3 discriminator 2 view .LVU2597 7835 0008 0123 movs r3, #1 7836 000a 80F84030 strb r3, [r0, #64] 2814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7837 .loc 1 2814 3 discriminator 2 view .LVU2598 2816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 254 7838 .loc 1 2816 3 discriminator 2 view .LVU2599 2816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7839 .loc 1 2816 17 is_stmt 0 discriminator 2 view .LVU2600 7840 000e 2423 movs r3, #36 7841 0010 80F84130 strb r3, [r0, #65] 7842 .L388: 2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7843 .loc 1 2819 3 is_stmt 1 discriminator 1 view .LVU2601 7844 .LBB588: 2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7845 .loc 1 2819 3 discriminator 1 view .LVU2602 2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7846 .loc 1 2819 3 discriminator 1 view .LVU2603 2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7847 .loc 1 2819 3 discriminator 1 view .LVU2604 7848 0014 0268 ldr r2, [r0] 7849 .LVL718: 7850 .LBB589: 7851 .LBI589: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7852 .loc 2 476 31 discriminator 1 view .LVU2605 7853 .LBB590: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 7854 .loc 2 478 5 discriminator 1 view .LVU2606 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7855 .loc 2 480 4 discriminator 1 view .LVU2607 7856 0016 02F10C03 add r3, r2, #12 7857 .LVL719: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7858 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2608 7859 .syntax unified 7860 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7861 001a 53E8003F ldrex r3, [r3] 7862 @ 0 "" 2 7863 .LVL720: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7864 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2609 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7865 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2610 7866 .thumb 7867 .syntax unified 7868 .LBE590: 7869 .LBE589: 2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7870 .loc 1 2819 3 discriminator 1 view .LVU2611 7871 001e 23F00203 bic r3, r3, #2 7872 .LVL721: 2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7873 .loc 1 2819 3 is_stmt 1 discriminator 1 view .LVU2612 7874 .LBB591: 7875 .LBI591: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7876 .loc 2 527 31 discriminator 1 view .LVU2613 7877 .LBB592: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 7878 .loc 2 529 4 discriminator 1 view .LVU2614 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 255 7879 .loc 2 531 4 discriminator 1 view .LVU2615 7880 0022 0C32 adds r2, r2, #12 7881 .LVL722: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7882 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2616 7883 .syntax unified 7884 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7885 0024 42E80031 strex r1, r3, [r2] 7886 @ 0 "" 2 7887 .LVL723: 7888 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2617 7889 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2618 7890 .thumb 7891 .syntax unified 7892 .LBE592: 7893 .LBE591: 2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7894 .loc 1 2819 3 discriminator 1 view .LVU2619 7895 0028 0029 cmp r1, #0 7896 002a F3D1 bne .L388 7897 .LBE588: 2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7898 .loc 1 2819 3 is_stmt 1 discriminator 2 view .LVU2620 2821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 7899 .loc 1 2821 3 discriminator 2 view .LVU2621 2821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 7900 .loc 1 2821 17 is_stmt 0 discriminator 2 view .LVU2622 7901 002c 2023 movs r3, #32 7902 .LVL724: 2821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 7903 .loc 1 2821 17 discriminator 2 view .LVU2623 7904 002e 80F84130 strb r3, [r0, #65] 2822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7905 .loc 1 2822 3 is_stmt 1 discriminator 2 view .LVU2624 2822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7906 .loc 1 2822 22 is_stmt 0 discriminator 2 view .LVU2625 7907 0032 0023 movs r3, #0 7908 0034 4363 str r3, [r0, #52] 2825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7909 .loc 1 2825 3 is_stmt 1 discriminator 2 view .LVU2626 2825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7910 .loc 1 2825 3 discriminator 2 view .LVU2627 7911 0036 80F84030 strb r3, [r0, #64] 2825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7912 .loc 1 2825 3 discriminator 2 view .LVU2628 2827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7913 .loc 1 2827 3 discriminator 2 view .LVU2629 2827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7914 .loc 1 2827 10 is_stmt 0 discriminator 2 view .LVU2630 7915 003a 1846 mov r0, r3 7916 .LVL725: 2827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7917 .loc 1 2827 10 discriminator 2 view .LVU2631 7918 003c 7047 bx lr 7919 .LVL726: 7920 .L389: 2814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 256 7921 .loc 1 2814 3 view .LVU2632 7922 003e 0220 movs r0, #2 7923 .LVL727: 2828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7924 .loc 1 2828 1 view .LVU2633 7925 0040 7047 bx lr 7926 .cfi_endproc 7927 .LFE277: 7929 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits 7930 .align 1 7931 .global HAL_HalfDuplex_EnableTransmitter 7932 .syntax unified 7933 .thumb 7934 .thumb_func 7936 HAL_HalfDuplex_EnableTransmitter: 7937 .LVL728: 7938 .LFB278: 2837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U; 7939 .loc 1 2837 1 is_stmt 1 view -0 7940 .cfi_startproc 7941 @ args = 0, pretend = 0, frame = 0 7942 @ frame_needed = 0, uses_anonymous_args = 0 7943 @ link register save eliminated. 2838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7944 .loc 1 2838 3 view .LVU2635 2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7945 .loc 1 2841 3 view .LVU2636 2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7946 .loc 1 2841 3 view .LVU2637 7947 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 7948 0004 012B cmp r3, #1 7949 0006 14D0 beq .L392 2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7950 .loc 1 2841 3 discriminator 2 view .LVU2638 7951 0008 0123 movs r3, #1 7952 000a 80F84030 strb r3, [r0, #64] 2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7953 .loc 1 2841 3 discriminator 2 view .LVU2639 2843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7954 .loc 1 2843 3 discriminator 2 view .LVU2640 2843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7955 .loc 1 2843 17 is_stmt 0 discriminator 2 view .LVU2641 7956 000e 2423 movs r3, #36 7957 0010 80F84130 strb r3, [r0, #65] 2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7958 .loc 1 2846 3 is_stmt 1 discriminator 2 view .LVU2642 2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7959 .loc 1 2846 17 is_stmt 0 discriminator 2 view .LVU2643 7960 0014 0268 ldr r2, [r0] 2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7961 .loc 1 2846 10 discriminator 2 view .LVU2644 7962 0016 D368 ldr r3, [r2, #12] 7963 .LVL729: 2849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7964 .loc 1 2849 3 is_stmt 1 discriminator 2 view .LVU2645 2849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7965 .loc 1 2849 10 is_stmt 0 discriminator 2 view .LVU2646 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 257 7966 0018 23F00C03 bic r3, r3, #12 7967 .LVL730: 2852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7968 .loc 1 2852 3 is_stmt 1 discriminator 2 view .LVU2647 2852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7969 .loc 1 2852 10 is_stmt 0 discriminator 2 view .LVU2648 7970 001c 43F00803 orr r3, r3, #8 7971 .LVL731: 2855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7972 .loc 1 2855 3 is_stmt 1 discriminator 2 view .LVU2649 7973 0020 D360 str r3, [r2, #12] 2857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7974 .loc 1 2857 3 discriminator 2 view .LVU2650 2857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7975 .loc 1 2857 17 is_stmt 0 discriminator 2 view .LVU2651 7976 0022 2023 movs r3, #32 7977 .LVL732: 2857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7978 .loc 1 2857 17 discriminator 2 view .LVU2652 7979 0024 80F84130 strb r3, [r0, #65] 7980 .LVL733: 2860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7981 .loc 1 2860 3 is_stmt 1 discriminator 2 view .LVU2653 2860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7982 .loc 1 2860 3 discriminator 2 view .LVU2654 7983 0028 0023 movs r3, #0 7984 002a 80F84030 strb r3, [r0, #64] 2860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7985 .loc 1 2860 3 discriminator 2 view .LVU2655 2862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7986 .loc 1 2862 3 discriminator 2 view .LVU2656 2862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7987 .loc 1 2862 10 is_stmt 0 discriminator 2 view .LVU2657 7988 002e 1846 mov r0, r3 7989 .LVL734: 2862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 7990 .loc 1 2862 10 discriminator 2 view .LVU2658 7991 0030 7047 bx lr 7992 .LVL735: 7993 .L392: 2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7994 .loc 1 2841 3 view .LVU2659 7995 0032 0220 movs r0, #2 7996 .LVL736: 2863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 7997 .loc 1 2863 1 view .LVU2660 7998 0034 7047 bx lr 7999 .cfi_endproc 8000 .LFE278: 8002 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits 8003 .align 1 8004 .global HAL_HalfDuplex_EnableReceiver 8005 .syntax unified 8006 .thumb 8007 .thumb_func 8009 HAL_HalfDuplex_EnableReceiver: 8010 .LVL737: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 258 8011 .LFB279: 2872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U; 8012 .loc 1 2872 1 is_stmt 1 view -0 8013 .cfi_startproc 8014 @ args = 0, pretend = 0, frame = 0 8015 @ frame_needed = 0, uses_anonymous_args = 0 8016 @ link register save eliminated. 2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8017 .loc 1 2873 3 view .LVU2662 2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8018 .loc 1 2876 3 view .LVU2663 2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8019 .loc 1 2876 3 view .LVU2664 8020 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 8021 0004 012B cmp r3, #1 8022 0006 14D0 beq .L395 2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8023 .loc 1 2876 3 discriminator 2 view .LVU2665 8024 0008 0123 movs r3, #1 8025 000a 80F84030 strb r3, [r0, #64] 2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8026 .loc 1 2876 3 discriminator 2 view .LVU2666 2878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8027 .loc 1 2878 3 discriminator 2 view .LVU2667 2878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8028 .loc 1 2878 17 is_stmt 0 discriminator 2 view .LVU2668 8029 000e 2423 movs r3, #36 8030 0010 80F84130 strb r3, [r0, #65] 2881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8031 .loc 1 2881 3 is_stmt 1 discriminator 2 view .LVU2669 2881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8032 .loc 1 2881 17 is_stmt 0 discriminator 2 view .LVU2670 8033 0014 0268 ldr r2, [r0] 2881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8034 .loc 1 2881 10 discriminator 2 view .LVU2671 8035 0016 D368 ldr r3, [r2, #12] 8036 .LVL738: 2884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8037 .loc 1 2884 3 is_stmt 1 discriminator 2 view .LVU2672 2884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8038 .loc 1 2884 10 is_stmt 0 discriminator 2 view .LVU2673 8039 0018 23F00C03 bic r3, r3, #12 8040 .LVL739: 2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8041 .loc 1 2887 3 is_stmt 1 discriminator 2 view .LVU2674 2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8042 .loc 1 2887 10 is_stmt 0 discriminator 2 view .LVU2675 8043 001c 43F00403 orr r3, r3, #4 8044 .LVL740: 2890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8045 .loc 1 2890 3 is_stmt 1 discriminator 2 view .LVU2676 8046 0020 D360 str r3, [r2, #12] 2892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8047 .loc 1 2892 3 discriminator 2 view .LVU2677 2892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8048 .loc 1 2892 17 is_stmt 0 discriminator 2 view .LVU2678 8049 0022 2023 movs r3, #32 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 259 8050 .LVL741: 2892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8051 .loc 1 2892 17 discriminator 2 view .LVU2679 8052 0024 80F84130 strb r3, [r0, #65] 8053 .LVL742: 2895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8054 .loc 1 2895 3 is_stmt 1 discriminator 2 view .LVU2680 2895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8055 .loc 1 2895 3 discriminator 2 view .LVU2681 8056 0028 0023 movs r3, #0 8057 002a 80F84030 strb r3, [r0, #64] 2895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8058 .loc 1 2895 3 discriminator 2 view .LVU2682 2897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8059 .loc 1 2897 3 discriminator 2 view .LVU2683 2897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8060 .loc 1 2897 10 is_stmt 0 discriminator 2 view .LVU2684 8061 002e 1846 mov r0, r3 8062 .LVL743: 2897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8063 .loc 1 2897 10 discriminator 2 view .LVU2685 8064 0030 7047 bx lr 8065 .LVL744: 8066 .L395: 2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8067 .loc 1 2876 3 view .LVU2686 8068 0032 0220 movs r0, #2 8069 .LVL745: 2898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8070 .loc 1 2898 1 view .LVU2687 8071 0034 7047 bx lr 8072 .cfi_endproc 8073 .LFE279: 8075 .section .text.HAL_UART_GetState,"ax",%progbits 8076 .align 1 8077 .global HAL_UART_GetState 8078 .syntax unified 8079 .thumb 8080 .thumb_func 8082 HAL_UART_GetState: 8083 .LVL746: 8084 .LFB280: 2929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t temp1 = 0x00U, temp2 = 0x00U; 8085 .loc 1 2929 1 is_stmt 1 view -0 8086 .cfi_startproc 8087 @ args = 0, pretend = 0, frame = 0 8088 @ frame_needed = 0, uses_anonymous_args = 0 8089 @ link register save eliminated. 2930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp1 = huart->gState; 8090 .loc 1 2930 3 view .LVU2689 2931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp2 = huart->RxState; 8091 .loc 1 2931 3 view .LVU2690 2931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp2 = huart->RxState; 8092 .loc 1 2931 16 is_stmt 0 view .LVU2691 8093 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 8094 .LVL747: 2932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 260 8095 .loc 1 2932 3 is_stmt 1 view .LVU2692 2932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8096 .loc 1 2932 16 is_stmt 0 view .LVU2693 8097 0004 90F84200 ldrb r0, [r0, #66] @ zero_extendqisi2 8098 .LVL748: 2934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8099 .loc 1 2934 3 is_stmt 1 view .LVU2694 2935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8100 .loc 1 2935 1 is_stmt 0 view .LVU2695 8101 0008 1843 orrs r0, r0, r3 8102 .LVL749: 2935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8103 .loc 1 2935 1 view .LVU2696 8104 000a 7047 bx lr 8105 .cfi_endproc 8106 .LFE280: 8108 .section .text.HAL_UART_GetError,"ax",%progbits 8109 .align 1 8110 .global HAL_UART_GetError 8111 .syntax unified 8112 .thumb 8113 .thumb_func 8115 HAL_UART_GetError: 8116 .LVL750: 8117 .LFB281: 2944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return huart->ErrorCode; 8118 .loc 1 2944 1 is_stmt 1 view -0 8119 .cfi_startproc 8120 @ args = 0, pretend = 0, frame = 0 8121 @ frame_needed = 0, uses_anonymous_args = 0 8122 @ link register save eliminated. 2945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8123 .loc 1 2945 3 view .LVU2698 2945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8124 .loc 1 2945 15 is_stmt 0 view .LVU2699 8125 0000 406C ldr r0, [r0, #68] 8126 .LVL751: 2946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8127 .loc 1 2946 1 view .LVU2700 8128 0002 7047 bx lr 8129 .cfi_endproc 8130 .LFE281: 8132 .section .text.UART_Start_Receive_IT,"ax",%progbits 8133 .align 1 8134 .global UART_Start_Receive_IT 8135 .syntax unified 8136 .thumb 8137 .thumb_func 8139 UART_Start_Receive_IT: 8140 .LVL752: 8141 .LFB288: 3237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr = pData; 8142 .loc 1 3237 1 is_stmt 1 view -0 8143 .cfi_startproc 8144 @ args = 0, pretend = 0, frame = 0 8145 @ frame_needed = 0, uses_anonymous_args = 0 8146 @ link register save eliminated. ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 261 3238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size; 8147 .loc 1 3238 3 view .LVU2702 3238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size; 8148 .loc 1 3238 21 is_stmt 0 view .LVU2703 8149 0000 8162 str r1, [r0, #40] 3239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size; 8150 .loc 1 3239 3 is_stmt 1 view .LVU2704 3239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size; 8151 .loc 1 3239 21 is_stmt 0 view .LVU2705 8152 0002 8285 strh r2, [r0, #44] @ movhi 3240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8153 .loc 1 3240 3 is_stmt 1 view .LVU2706 3240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8154 .loc 1 3240 22 is_stmt 0 view .LVU2707 8155 0004 C285 strh r2, [r0, #46] @ movhi 3242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 8156 .loc 1 3242 3 is_stmt 1 view .LVU2708 3242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 8157 .loc 1 3242 20 is_stmt 0 view .LVU2709 8158 0006 0023 movs r3, #0 8159 0008 4364 str r3, [r0, #68] 3243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8160 .loc 1 3243 3 is_stmt 1 view .LVU2710 3243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8161 .loc 1 3243 18 is_stmt 0 view .LVU2711 8162 000a 2223 movs r3, #34 8163 000c 80F84230 strb r3, [r0, #66] 3245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8164 .loc 1 3245 3 is_stmt 1 view .LVU2712 3245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8165 .loc 1 3245 18 is_stmt 0 view .LVU2713 8166 0010 0369 ldr r3, [r0, #16] 3245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8167 .loc 1 3245 6 view .LVU2714 8168 0012 23B1 cbz r3, .L399 3248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8169 .loc 1 3248 5 is_stmt 1 view .LVU2715 8170 0014 0268 ldr r2, [r0] 8171 .LVL753: 3248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8172 .loc 1 3248 5 is_stmt 0 view .LVU2716 8173 0016 D368 ldr r3, [r2, #12] 8174 0018 43F48073 orr r3, r3, #256 8175 001c D360 str r3, [r2, #12] 8176 .LVL754: 8177 .L399: 3252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8178 .loc 1 3252 3 is_stmt 1 view .LVU2717 8179 001e 0268 ldr r2, [r0] 8180 0020 5369 ldr r3, [r2, #20] 8181 0022 43F00103 orr r3, r3, #1 8182 0026 5361 str r3, [r2, #20] 3255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8183 .loc 1 3255 3 view .LVU2718 8184 0028 0268 ldr r2, [r0] 8185 002a D368 ldr r3, [r2, #12] 8186 002c 43F02003 orr r3, r3, #32 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 262 8187 0030 D360 str r3, [r2, #12] 3257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8188 .loc 1 3257 3 view .LVU2719 3258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8189 .loc 1 3258 1 is_stmt 0 view .LVU2720 8190 0032 0020 movs r0, #0 8191 .LVL755: 3258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8192 .loc 1 3258 1 view .LVU2721 8193 0034 7047 bx lr 8194 .cfi_endproc 8195 .LFE288: 8197 .section .text.HAL_UART_Receive_IT,"ax",%progbits 8198 .align 1 8199 .global HAL_UART_Receive_IT 8200 .syntax unified 8201 .thumb 8202 .thumb_func 8204 HAL_UART_Receive_IT: 8205 .LVL756: 8206 .LFB249: 1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 8207 .loc 1 1348 1 is_stmt 1 view -0 8208 .cfi_startproc 8209 @ args = 0, pretend = 0, frame = 0 8210 @ frame_needed = 0, uses_anonymous_args = 0 1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 8211 .loc 1 1348 1 is_stmt 0 view .LVU2723 8212 0000 08B5 push {r3, lr} 8213 .LCFI58: 8214 .cfi_def_cfa_offset 8 8215 .cfi_offset 3, -8 8216 .cfi_offset 14, -4 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8217 .loc 1 1350 3 is_stmt 1 view .LVU2724 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8218 .loc 1 1350 12 is_stmt 0 view .LVU2725 8219 0002 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2 8220 0006 DBB2 uxtb r3, r3 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8221 .loc 1 1350 6 view .LVU2726 8222 0008 202B cmp r3, #32 8223 000a 08D1 bne .L402 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8224 .loc 1 1352 5 is_stmt 1 view .LVU2727 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8225 .loc 1 1352 8 is_stmt 0 view .LVU2728 8226 000c 49B1 cbz r1, .L403 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8227 .loc 1 1352 25 discriminator 1 view .LVU2729 8228 000e 0AB9 cbnz r2, .L406 1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8229 .loc 1 1354 14 view .LVU2730 8230 0010 0120 movs r0, #1 8231 .LVL757: 8232 .L401: 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 263 8233 .loc 1 1366 1 view .LVU2731 8234 0012 08BD pop {r3, pc} 8235 .LVL758: 8236 .L406: 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8237 .loc 1 1358 5 is_stmt 1 view .LVU2732 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8238 .loc 1 1358 26 is_stmt 0 view .LVU2733 8239 0014 0023 movs r3, #0 8240 0016 0363 str r3, [r0, #48] 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8241 .loc 1 1360 5 is_stmt 1 view .LVU2734 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8242 .loc 1 1360 13 is_stmt 0 view .LVU2735 8243 0018 FFF7FEFF bl UART_Start_Receive_IT 8244 .LVL759: 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8245 .loc 1 1360 13 view .LVU2736 8246 001c F9E7 b .L401 8247 .LVL760: 8248 .L402: 1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8249 .loc 1 1364 12 view .LVU2737 8250 001e 0220 movs r0, #2 8251 .LVL761: 1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8252 .loc 1 1364 12 view .LVU2738 8253 0020 F7E7 b .L401 8254 .LVL762: 8255 .L403: 1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8256 .loc 1 1354 14 view .LVU2739 8257 0022 0120 movs r0, #1 8258 .LVL763: 1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8259 .loc 1 1354 14 view .LVU2740 8260 0024 F5E7 b .L401 8261 .cfi_endproc 8262 .LFE249: 8264 .section .text.HAL_UARTEx_ReceiveToIdle_IT,"ax",%progbits 8265 .align 1 8266 .global HAL_UARTEx_ReceiveToIdle_IT 8267 .syntax unified 8268 .thumb 8269 .thumb_func 8271 HAL_UARTEx_ReceiveToIdle_IT: 8272 .LVL764: 8273 .LFB256: 1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status; 8274 .loc 1 1714 1 is_stmt 1 view -0 8275 .cfi_startproc 8276 @ args = 0, pretend = 0, frame = 8 8277 @ frame_needed = 0, uses_anonymous_args = 0 1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8278 .loc 1 1715 3 view .LVU2742 1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8279 .loc 1 1718 3 view .LVU2743 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 264 1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8280 .loc 1 1718 12 is_stmt 0 view .LVU2744 8281 0000 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2 8282 0004 DBB2 uxtb r3, r3 1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8283 .loc 1 1718 6 view .LVU2745 8284 0006 202B cmp r3, #32 8285 0008 29D1 bne .L411 1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status; 8286 .loc 1 1714 1 view .LVU2746 8287 000a 10B5 push {r4, lr} 8288 .LCFI59: 8289 .cfi_def_cfa_offset 8 8290 .cfi_offset 4, -8 8291 .cfi_offset 14, -4 8292 000c 82B0 sub sp, sp, #8 8293 .LCFI60: 8294 .cfi_def_cfa_offset 16 8295 000e 0446 mov r4, r0 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8296 .loc 1 1720 5 is_stmt 1 view .LVU2747 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8297 .loc 1 1720 8 is_stmt 0 view .LVU2748 8298 0010 39B3 cbz r1, .L412 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8299 .loc 1 1720 25 discriminator 1 view .LVU2749 8300 0012 12B9 cbnz r2, .L419 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8301 .loc 1 1722 14 view .LVU2750 8302 0014 0120 movs r0, #1 8303 .LVL765: 8304 .L408: 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8305 .loc 1 1755 1 view .LVU2751 8306 0016 02B0 add sp, sp, #8 8307 .LCFI61: 8308 .cfi_remember_state 8309 .cfi_def_cfa_offset 8 8310 @ sp needed 8311 0018 10BD pop {r4, pc} 8312 .LVL766: 8313 .L419: 8314 .LCFI62: 8315 .cfi_restore_state 1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 8316 .loc 1 1726 5 is_stmt 1 view .LVU2752 1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 8317 .loc 1 1726 26 is_stmt 0 view .LVU2753 8318 001a 0123 movs r3, #1 8319 001c 0363 str r3, [r0, #48] 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8320 .loc 1 1727 5 is_stmt 1 view .LVU2754 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8321 .loc 1 1727 24 is_stmt 0 view .LVU2755 8322 001e 0023 movs r3, #0 8323 0020 4363 str r3, [r0, #52] 1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 265 8324 .loc 1 1729 5 is_stmt 1 view .LVU2756 1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8325 .loc 1 1729 15 is_stmt 0 view .LVU2757 8326 0022 FFF7FEFF bl UART_Start_Receive_IT 8327 .LVL767: 1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8328 .loc 1 1732 5 is_stmt 1 view .LVU2758 1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8329 .loc 1 1732 8 is_stmt 0 view .LVU2759 8330 0026 0028 cmp r0, #0 8331 0028 F5D1 bne .L408 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8332 .loc 1 1734 7 is_stmt 1 view .LVU2760 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8333 .loc 1 1734 16 is_stmt 0 view .LVU2761 8334 002a 236B ldr r3, [r4, #48] 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8335 .loc 1 1734 10 view .LVU2762 8336 002c 012B cmp r3, #1 8337 002e 01D0 beq .L420 1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8338 .loc 1 1745 16 view .LVU2763 8339 0030 0120 movs r0, #1 8340 .LVL768: 1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8341 .loc 1 1749 5 is_stmt 1 view .LVU2764 1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8342 .loc 1 1749 12 is_stmt 0 view .LVU2765 8343 0032 F0E7 b .L408 8344 .LVL769: 8345 .L420: 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 8346 .loc 1 1736 9 is_stmt 1 view .LVU2766 8347 .LBB593: 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 8348 .loc 1 1736 9 view .LVU2767 8349 0034 0023 movs r3, #0 8350 0036 0193 str r3, [sp, #4] 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 8351 .loc 1 1736 9 view .LVU2768 8352 0038 2368 ldr r3, [r4] 8353 003a 1A68 ldr r2, [r3] 8354 003c 0192 str r2, [sp, #4] 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 8355 .loc 1 1736 9 view .LVU2769 8356 003e 5B68 ldr r3, [r3, #4] 8357 0040 0193 str r3, [sp, #4] 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 8358 .loc 1 1736 9 view .LVU2770 8359 0042 019B ldr r3, [sp, #4] 8360 .L410: 8361 .LBE593: 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 8362 .loc 1 1736 9 discriminator 1 view .LVU2771 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8363 .loc 1 1737 9 discriminator 1 view .LVU2772 8364 .LBB594: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 266 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8365 .loc 1 1737 9 discriminator 1 view .LVU2773 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8366 .loc 1 1737 9 discriminator 1 view .LVU2774 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8367 .loc 1 1737 9 discriminator 1 view .LVU2775 8368 0044 2268 ldr r2, [r4] 8369 .LVL770: 8370 .LBB595: 8371 .LBI595: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8372 .loc 2 476 31 discriminator 1 view .LVU2776 8373 .LBB596: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 8374 .loc 2 478 5 discriminator 1 view .LVU2777 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8375 .loc 2 480 4 discriminator 1 view .LVU2778 8376 0046 02F10C03 add r3, r2, #12 8377 .LVL771: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8378 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2779 8379 .syntax unified 8380 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8381 004a 53E8003F ldrex r3, [r3] 8382 @ 0 "" 2 8383 .LVL772: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8384 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2780 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8385 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2781 8386 .thumb 8387 .syntax unified 8388 .LBE596: 8389 .LBE595: 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8390 .loc 1 1737 9 discriminator 1 view .LVU2782 8391 004e 43F01003 orr r3, r3, #16 8392 .LVL773: 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8393 .loc 1 1737 9 is_stmt 1 discriminator 1 view .LVU2783 8394 .LBB597: 8395 .LBI597: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8396 .loc 2 527 31 discriminator 1 view .LVU2784 8397 .LBB598: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 8398 .loc 2 529 4 discriminator 1 view .LVU2785 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8399 .loc 2 531 4 discriminator 1 view .LVU2786 8400 0052 0C32 adds r2, r2, #12 8401 .LVL774: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8402 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2787 8403 .syntax unified 8404 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8405 0054 42E80031 strex r1, r3, [r2] 8406 @ 0 "" 2 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 267 8407 .LVL775: 8408 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2788 8409 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2789 8410 .thumb 8411 .syntax unified 8412 .LBE598: 8413 .LBE597: 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8414 .loc 1 1737 9 discriminator 1 view .LVU2790 8415 0058 0029 cmp r1, #0 8416 005a F3D1 bne .L410 8417 005c DBE7 b .L408 8418 .LVL776: 8419 .L411: 8420 .LCFI63: 8421 .cfi_def_cfa_offset 0 8422 .cfi_restore 4 8423 .cfi_restore 14 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8424 .loc 1 1737 9 discriminator 1 view .LVU2791 8425 .LBE594: 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8426 .loc 1 1753 12 view .LVU2792 8427 005e 0220 movs r0, #2 8428 .LVL777: 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8429 .loc 1 1755 1 view .LVU2793 8430 0060 7047 bx lr 8431 .LVL778: 8432 .L412: 8433 .LCFI64: 8434 .cfi_def_cfa_offset 16 8435 .cfi_offset 4, -8 8436 .cfi_offset 14, -4 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8437 .loc 1 1722 14 view .LVU2794 8438 0062 0120 movs r0, #1 8439 .LVL779: 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8440 .loc 1 1722 14 view .LVU2795 8441 0064 D7E7 b .L408 8442 .cfi_endproc 8443 .LFE256: 8445 .section .text.UART_Start_Receive_DMA,"ax",%progbits 8446 .align 1 8447 .global UART_Start_Receive_DMA 8448 .syntax unified 8449 .thumb 8450 .thumb_func 8452 UART_Start_Receive_DMA: 8453 .LVL780: 8454 .LFB289: 3272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp; 8455 .loc 1 3272 1 is_stmt 1 view -0 8456 .cfi_startproc 8457 @ args = 0, pretend = 0, frame = 8 8458 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 268 3272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp; 8459 .loc 1 3272 1 is_stmt 0 view .LVU2797 8460 0000 30B5 push {r4, r5, lr} 8461 .LCFI65: 8462 .cfi_def_cfa_offset 12 8463 .cfi_offset 4, -12 8464 .cfi_offset 5, -8 8465 .cfi_offset 14, -4 8466 0002 83B0 sub sp, sp, #12 8467 .LCFI66: 8468 .cfi_def_cfa_offset 24 8469 0004 0446 mov r4, r0 8470 0006 1346 mov r3, r2 3273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8471 .loc 1 3273 3 is_stmt 1 view .LVU2798 3275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size; 8472 .loc 1 3275 3 view .LVU2799 3275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size; 8473 .loc 1 3275 21 is_stmt 0 view .LVU2800 8474 0008 8162 str r1, [r0, #40] 3276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8475 .loc 1 3276 3 is_stmt 1 view .LVU2801 3276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8476 .loc 1 3276 21 is_stmt 0 view .LVU2802 8477 000a 8285 strh r2, [r0, #44] @ movhi 3278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 8478 .loc 1 3278 3 is_stmt 1 view .LVU2803 3278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 8479 .loc 1 3278 20 is_stmt 0 view .LVU2804 8480 000c 0025 movs r5, #0 8481 000e 4564 str r5, [r0, #68] 3279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8482 .loc 1 3279 3 is_stmt 1 view .LVU2805 3279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8483 .loc 1 3279 18 is_stmt 0 view .LVU2806 8484 0010 2222 movs r2, #34 8485 .LVL781: 3279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8486 .loc 1 3279 18 view .LVU2807 8487 0012 80F84220 strb r2, [r0, #66] 3282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8488 .loc 1 3282 3 is_stmt 1 view .LVU2808 3282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8489 .loc 1 3282 8 is_stmt 0 view .LVU2809 8490 0016 C26B ldr r2, [r0, #60] 3282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8491 .loc 1 3282 35 view .LVU2810 8492 0018 1F48 ldr r0, .L427 8493 .LVL782: 3282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8494 .loc 1 3282 35 view .LVU2811 8495 001a D063 str r0, [r2, #60] 8496 .LVL783: 3285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8497 .loc 1 3285 3 is_stmt 1 view .LVU2812 3285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8498 .loc 1 3285 8 is_stmt 0 view .LVU2813 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 269 8499 001c E26B ldr r2, [r4, #60] 3285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8500 .loc 1 3285 39 view .LVU2814 8501 001e 1F48 ldr r0, .L427+4 8502 0020 1064 str r0, [r2, #64] 3288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8503 .loc 1 3288 3 is_stmt 1 view .LVU2815 3288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8504 .loc 1 3288 8 is_stmt 0 view .LVU2816 8505 0022 E26B ldr r2, [r4, #60] 3288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8506 .loc 1 3288 36 view .LVU2817 8507 0024 1E48 ldr r0, .L427+8 8508 0026 D064 str r0, [r2, #76] 3291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8509 .loc 1 3291 3 is_stmt 1 view .LVU2818 3291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8510 .loc 1 3291 8 is_stmt 0 view .LVU2819 8511 0028 E26B ldr r2, [r4, #60] 3291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8512 .loc 1 3291 36 view .LVU2820 8513 002a 1565 str r5, [r2, #80] 3294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->DR, *(uint32_t *)tmp, Size); 8514 .loc 1 3294 3 is_stmt 1 view .LVU2821 8515 .LVL784: 3295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8516 .loc 1 3295 3 view .LVU2822 3295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8517 .loc 1 3295 51 is_stmt 0 view .LVU2823 8518 002c 2068 ldr r0, [r4] 3295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8519 .loc 1 3295 3 view .LVU2824 8520 002e 0A46 mov r2, r1 8521 0030 011D adds r1, r0, #4 8522 .LVL785: 3295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8523 .loc 1 3295 3 view .LVU2825 8524 0032 E06B ldr r0, [r4, #60] 8525 0034 FFF7FEFF bl HAL_DMA_Start_IT 8526 .LVL786: 3298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8527 .loc 1 3298 3 is_stmt 1 view .LVU2826 8528 .LBB599: 3298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8529 .loc 1 3298 3 view .LVU2827 8530 0038 0195 str r5, [sp, #4] 3298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8531 .loc 1 3298 3 view .LVU2828 8532 003a 2368 ldr r3, [r4] 8533 003c 1A68 ldr r2, [r3] 8534 003e 0192 str r2, [sp, #4] 3298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8535 .loc 1 3298 3 view .LVU2829 8536 0040 5B68 ldr r3, [r3, #4] 8537 0042 0193 str r3, [sp, #4] 3298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8538 .loc 1 3298 3 view .LVU2830 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 270 8539 0044 019B ldr r3, [sp, #4] 8540 .LBE599: 3298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8541 .loc 1 3298 3 view .LVU2831 3300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8542 .loc 1 3300 3 view .LVU2832 3300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8543 .loc 1 3300 18 is_stmt 0 view .LVU2833 8544 0046 2369 ldr r3, [r4, #16] 3300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8545 .loc 1 3300 6 view .LVU2834 8546 0048 5BB1 cbz r3, .L424 8547 .L423: 3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8548 .loc 1 3303 5 is_stmt 1 discriminator 1 view .LVU2835 8549 .LBB600: 3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8550 .loc 1 3303 5 discriminator 1 view .LVU2836 3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8551 .loc 1 3303 5 discriminator 1 view .LVU2837 3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8552 .loc 1 3303 5 discriminator 1 view .LVU2838 8553 004a 2268 ldr r2, [r4] 8554 .LVL787: 8555 .LBB601: 8556 .LBI601: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8557 .loc 2 476 31 discriminator 1 view .LVU2839 8558 .LBB602: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 8559 .loc 2 478 5 discriminator 1 view .LVU2840 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8560 .loc 2 480 4 discriminator 1 view .LVU2841 8561 004c 02F10C03 add r3, r2, #12 8562 .LVL788: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8563 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2842 8564 .syntax unified 8565 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8566 0050 53E8003F ldrex r3, [r3] 8567 @ 0 "" 2 8568 .LVL789: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8569 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2843 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8570 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2844 8571 .thumb 8572 .syntax unified 8573 .LBE602: 8574 .LBE601: 3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8575 .loc 1 3303 5 discriminator 1 view .LVU2845 8576 0054 43F48073 orr r3, r3, #256 8577 .LVL790: 3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8578 .loc 1 3303 5 is_stmt 1 discriminator 1 view .LVU2846 8579 .LBB603: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 271 8580 .LBI603: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8581 .loc 2 527 31 discriminator 1 view .LVU2847 8582 .LBB604: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 8583 .loc 2 529 4 discriminator 1 view .LVU2848 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8584 .loc 2 531 4 discriminator 1 view .LVU2849 8585 0058 0C32 adds r2, r2, #12 8586 .LVL791: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8587 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2850 8588 .syntax unified 8589 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8590 005a 42E80031 strex r1, r3, [r2] 8591 @ 0 "" 2 8592 .LVL792: 8593 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2851 8594 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2852 8595 .thumb 8596 .syntax unified 8597 .LBE604: 8598 .LBE603: 3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8599 .loc 1 3303 5 discriminator 1 view .LVU2853 8600 005e 0029 cmp r1, #0 8601 0060 F3D1 bne .L423 8602 .LVL793: 8603 .L424: 3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8604 .loc 1 3303 5 discriminator 1 view .LVU2854 8605 .LBE600: 3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8606 .loc 1 3303 5 is_stmt 1 discriminator 1 view .LVU2855 3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8607 .loc 1 3307 3 discriminator 1 view .LVU2856 8608 .LBB605: 3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8609 .loc 1 3307 3 discriminator 1 view .LVU2857 3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8610 .loc 1 3307 3 discriminator 1 view .LVU2858 3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8611 .loc 1 3307 3 discriminator 1 view .LVU2859 8612 0062 2268 ldr r2, [r4] 8613 .LVL794: 8614 .LBB606: 8615 .LBI606: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8616 .loc 2 476 31 discriminator 1 view .LVU2860 8617 .LBB607: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 8618 .loc 2 478 5 discriminator 1 view .LVU2861 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8619 .loc 2 480 4 discriminator 1 view .LVU2862 8620 0064 02F11403 add r3, r2, #20 8621 .LVL795: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 272 8622 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2863 8623 .syntax unified 8624 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8625 0068 53E8003F ldrex r3, [r3] 8626 @ 0 "" 2 8627 .LVL796: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8628 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2864 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8629 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2865 8630 .thumb 8631 .syntax unified 8632 .LBE607: 8633 .LBE606: 3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8634 .loc 1 3307 3 discriminator 1 view .LVU2866 8635 006c 43F00103 orr r3, r3, #1 8636 .LVL797: 3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8637 .loc 1 3307 3 is_stmt 1 discriminator 1 view .LVU2867 8638 .LBB608: 8639 .LBI608: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8640 .loc 2 527 31 discriminator 1 view .LVU2868 8641 .LBB609: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 8642 .loc 2 529 4 discriminator 1 view .LVU2869 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8643 .loc 2 531 4 discriminator 1 view .LVU2870 8644 0070 1432 adds r2, r2, #20 8645 .LVL798: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8646 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2871 8647 .syntax unified 8648 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8649 0072 42E80031 strex r1, r3, [r2] 8650 @ 0 "" 2 8651 .LVL799: 8652 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2872 8653 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2873 8654 .thumb 8655 .syntax unified 8656 .LBE609: 8657 .LBE608: 3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8658 .loc 1 3307 3 discriminator 1 view .LVU2874 8659 0076 0029 cmp r1, #0 8660 0078 F3D1 bne .L424 8661 .LVL800: 8662 .L425: 3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8663 .loc 1 3307 3 discriminator 1 view .LVU2875 8664 .LBE605: 3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8665 .loc 1 3307 3 is_stmt 1 discriminator 1 view .LVU2876 3311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8666 .loc 1 3311 3 discriminator 1 view .LVU2877 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 273 8667 .LBB610: 3311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8668 .loc 1 3311 3 discriminator 1 view .LVU2878 3311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8669 .loc 1 3311 3 discriminator 1 view .LVU2879 3311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8670 .loc 1 3311 3 discriminator 1 view .LVU2880 8671 007a 2268 ldr r2, [r4] 8672 .LVL801: 8673 .LBB611: 8674 .LBI611: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8675 .loc 2 476 31 discriminator 1 view .LVU2881 8676 .LBB612: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 8677 .loc 2 478 5 discriminator 1 view .LVU2882 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8678 .loc 2 480 4 discriminator 1 view .LVU2883 8679 007c 02F11403 add r3, r2, #20 8680 .LVL802: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8681 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2884 8682 .syntax unified 8683 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8684 0080 53E8003F ldrex r3, [r3] 8685 @ 0 "" 2 8686 .LVL803: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8687 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2885 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8688 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2886 8689 .thumb 8690 .syntax unified 8691 .LBE612: 8692 .LBE611: 3311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8693 .loc 1 3311 3 discriminator 1 view .LVU2887 8694 0084 43F04003 orr r3, r3, #64 8695 .LVL804: 3311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8696 .loc 1 3311 3 is_stmt 1 discriminator 1 view .LVU2888 8697 .LBB613: 8698 .LBI613: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8699 .loc 2 527 31 discriminator 1 view .LVU2889 8700 .LBB614: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 8701 .loc 2 529 4 discriminator 1 view .LVU2890 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8702 .loc 2 531 4 discriminator 1 view .LVU2891 8703 0088 1432 adds r2, r2, #20 8704 .LVL805: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8705 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2892 8706 .syntax unified 8707 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8708 008a 42E80031 strex r1, r3, [r2] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 274 8709 @ 0 "" 2 8710 .LVL806: 8711 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2893 8712 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2894 8713 .thumb 8714 .syntax unified 8715 .LBE614: 8716 .LBE613: 3311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8717 .loc 1 3311 3 discriminator 1 view .LVU2895 8718 008e 0029 cmp r1, #0 8719 0090 F3D1 bne .L425 8720 .LBE610: 3311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8721 .loc 1 3311 3 is_stmt 1 discriminator 2 view .LVU2896 3313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8722 .loc 1 3313 3 discriminator 2 view .LVU2897 3314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8723 .loc 1 3314 1 is_stmt 0 discriminator 2 view .LVU2898 8724 0092 0020 movs r0, #0 8725 0094 03B0 add sp, sp, #12 8726 .LCFI67: 8727 .cfi_def_cfa_offset 12 8728 @ sp needed 8729 0096 30BD pop {r4, r5, pc} 8730 .LVL807: 8731 .L428: 3314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8732 .loc 1 3314 1 discriminator 2 view .LVU2899 8733 .align 2 8734 .L427: 8735 0098 00000000 .word UART_DMAReceiveCplt 8736 009c 00000000 .word UART_DMARxHalfCplt 8737 00a0 00000000 .word UART_DMAError 8738 .cfi_endproc 8739 .LFE289: 8741 .section .text.HAL_UART_Receive_DMA,"ax",%progbits 8742 .align 1 8743 .global HAL_UART_Receive_DMA 8744 .syntax unified 8745 .thumb 8746 .thumb_func 8748 HAL_UART_Receive_DMA: 8749 .LVL808: 8750 .LFB251: 1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 8751 .loc 1 1442 1 is_stmt 1 view -0 8752 .cfi_startproc 8753 @ args = 0, pretend = 0, frame = 0 8754 @ frame_needed = 0, uses_anonymous_args = 0 1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 8755 .loc 1 1442 1 is_stmt 0 view .LVU2901 8756 0000 08B5 push {r3, lr} 8757 .LCFI68: 8758 .cfi_def_cfa_offset 8 8759 .cfi_offset 3, -8 8760 .cfi_offset 14, -4 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 275 1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8761 .loc 1 1444 3 is_stmt 1 view .LVU2902 1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8762 .loc 1 1444 12 is_stmt 0 view .LVU2903 8763 0002 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2 8764 0006 DBB2 uxtb r3, r3 1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8765 .loc 1 1444 6 view .LVU2904 8766 0008 202B cmp r3, #32 8767 000a 08D1 bne .L431 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8768 .loc 1 1446 5 is_stmt 1 view .LVU2905 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8769 .loc 1 1446 8 is_stmt 0 view .LVU2906 8770 000c 49B1 cbz r1, .L432 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8771 .loc 1 1446 25 discriminator 1 view .LVU2907 8772 000e 0AB9 cbnz r2, .L435 1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8773 .loc 1 1448 14 view .LVU2908 8774 0010 0120 movs r0, #1 8775 .LVL809: 8776 .L430: 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8777 .loc 1 1460 1 view .LVU2909 8778 0012 08BD pop {r3, pc} 8779 .LVL810: 8780 .L435: 1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8781 .loc 1 1452 5 is_stmt 1 view .LVU2910 1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8782 .loc 1 1452 26 is_stmt 0 view .LVU2911 8783 0014 0023 movs r3, #0 8784 0016 0363 str r3, [r0, #48] 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8785 .loc 1 1454 5 is_stmt 1 view .LVU2912 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8786 .loc 1 1454 13 is_stmt 0 view .LVU2913 8787 0018 FFF7FEFF bl UART_Start_Receive_DMA 8788 .LVL811: 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8789 .loc 1 1454 13 view .LVU2914 8790 001c F9E7 b .L430 8791 .LVL812: 8792 .L431: 1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8793 .loc 1 1458 12 view .LVU2915 8794 001e 0220 movs r0, #2 8795 .LVL813: 1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8796 .loc 1 1458 12 view .LVU2916 8797 0020 F7E7 b .L430 8798 .LVL814: 8799 .L432: 1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8800 .loc 1 1448 14 view .LVU2917 8801 0022 0120 movs r0, #1 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 276 8802 .LVL815: 1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8803 .loc 1 1448 14 view .LVU2918 8804 0024 F5E7 b .L430 8805 .cfi_endproc 8806 .LFE251: 8808 .section .text.HAL_UARTEx_ReceiveToIdle_DMA,"ax",%progbits 8809 .align 1 8810 .global HAL_UARTEx_ReceiveToIdle_DMA 8811 .syntax unified 8812 .thumb 8813 .thumb_func 8815 HAL_UARTEx_ReceiveToIdle_DMA: 8816 .LVL816: 8817 .LFB257: 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status; 8818 .loc 1 1774 1 is_stmt 1 view -0 8819 .cfi_startproc 8820 @ args = 0, pretend = 0, frame = 8 8821 @ frame_needed = 0, uses_anonymous_args = 0 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8822 .loc 1 1775 3 view .LVU2920 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8823 .loc 1 1778 3 view .LVU2921 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8824 .loc 1 1778 12 is_stmt 0 view .LVU2922 8825 0000 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2 8826 0004 DBB2 uxtb r3, r3 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8827 .loc 1 1778 6 view .LVU2923 8828 0006 202B cmp r3, #32 8829 0008 29D1 bne .L440 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status; 8830 .loc 1 1774 1 view .LVU2924 8831 000a 10B5 push {r4, lr} 8832 .LCFI69: 8833 .cfi_def_cfa_offset 8 8834 .cfi_offset 4, -8 8835 .cfi_offset 14, -4 8836 000c 82B0 sub sp, sp, #8 8837 .LCFI70: 8838 .cfi_def_cfa_offset 16 8839 000e 0446 mov r4, r0 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8840 .loc 1 1780 5 is_stmt 1 view .LVU2925 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8841 .loc 1 1780 8 is_stmt 0 view .LVU2926 8842 0010 39B3 cbz r1, .L441 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8843 .loc 1 1780 25 discriminator 1 view .LVU2927 8844 0012 12B9 cbnz r2, .L448 1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8845 .loc 1 1782 14 view .LVU2928 8846 0014 0120 movs r0, #1 8847 .LVL817: 8848 .L437: 1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 277 8849 .loc 1 1815 1 view .LVU2929 8850 0016 02B0 add sp, sp, #8 8851 .LCFI71: 8852 .cfi_remember_state 8853 .cfi_def_cfa_offset 8 8854 @ sp needed 8855 0018 10BD pop {r4, pc} 8856 .LVL818: 8857 .L448: 8858 .LCFI72: 8859 .cfi_restore_state 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 8860 .loc 1 1786 5 is_stmt 1 view .LVU2930 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 8861 .loc 1 1786 26 is_stmt 0 view .LVU2931 8862 001a 0123 movs r3, #1 8863 001c 0363 str r3, [r0, #48] 1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8864 .loc 1 1787 5 is_stmt 1 view .LVU2932 1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8865 .loc 1 1787 24 is_stmt 0 view .LVU2933 8866 001e 0023 movs r3, #0 8867 0020 4363 str r3, [r0, #52] 1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8868 .loc 1 1789 5 is_stmt 1 view .LVU2934 1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8869 .loc 1 1789 15 is_stmt 0 view .LVU2935 8870 0022 FFF7FEFF bl UART_Start_Receive_DMA 8871 .LVL819: 1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8872 .loc 1 1792 5 is_stmt 1 view .LVU2936 1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8873 .loc 1 1792 8 is_stmt 0 view .LVU2937 8874 0026 0028 cmp r0, #0 8875 0028 F5D1 bne .L437 1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8876 .loc 1 1794 7 is_stmt 1 view .LVU2938 1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8877 .loc 1 1794 16 is_stmt 0 view .LVU2939 8878 002a 236B ldr r3, [r4, #48] 1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** { 8879 .loc 1 1794 10 view .LVU2940 8880 002c 012B cmp r3, #1 8881 002e 01D0 beq .L449 1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8882 .loc 1 1805 16 view .LVU2941 8883 0030 0120 movs r0, #1 8884 .LVL820: 1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8885 .loc 1 1809 5 is_stmt 1 view .LVU2942 1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8886 .loc 1 1809 12 is_stmt 0 view .LVU2943 8887 0032 F0E7 b .L437 8888 .LVL821: 8889 .L449: 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 8890 .loc 1 1796 9 is_stmt 1 view .LVU2944 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 278 8891 .LBB615: 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 8892 .loc 1 1796 9 view .LVU2945 8893 0034 0023 movs r3, #0 8894 0036 0193 str r3, [sp, #4] 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 8895 .loc 1 1796 9 view .LVU2946 8896 0038 2368 ldr r3, [r4] 8897 003a 1A68 ldr r2, [r3] 8898 003c 0192 str r2, [sp, #4] 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 8899 .loc 1 1796 9 view .LVU2947 8900 003e 5B68 ldr r3, [r3, #4] 8901 0040 0193 str r3, [sp, #4] 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 8902 .loc 1 1796 9 view .LVU2948 8903 0042 019B ldr r3, [sp, #4] 8904 .L439: 8905 .LBE615: 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 8906 .loc 1 1796 9 discriminator 1 view .LVU2949 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8907 .loc 1 1797 9 discriminator 1 view .LVU2950 8908 .LBB616: 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8909 .loc 1 1797 9 discriminator 1 view .LVU2951 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8910 .loc 1 1797 9 discriminator 1 view .LVU2952 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8911 .loc 1 1797 9 discriminator 1 view .LVU2953 8912 0044 2268 ldr r2, [r4] 8913 .LVL822: 8914 .LBB617: 8915 .LBI617: 476:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8916 .loc 2 476 31 discriminator 1 view .LVU2954 8917 .LBB618: 478:Drivers/CMSIS/Include/cmsis_gcc.h **** 8918 .loc 2 478 5 discriminator 1 view .LVU2955 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8919 .loc 2 480 4 discriminator 1 view .LVU2956 8920 0046 02F10C03 add r3, r2, #12 8921 .LVL823: 480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8922 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2957 8923 .syntax unified 8924 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8925 004a 53E8003F ldrex r3, [r3] 8926 @ 0 "" 2 8927 .LVL824: 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8928 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2958 481:Drivers/CMSIS/Include/cmsis_gcc.h **** } 8929 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2959 8930 .thumb 8931 .syntax unified 8932 .LBE618: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 279 8933 .LBE617: 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8934 .loc 1 1797 9 discriminator 1 view .LVU2960 8935 004e 43F01003 orr r3, r3, #16 8936 .LVL825: 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8937 .loc 1 1797 9 is_stmt 1 discriminator 1 view .LVU2961 8938 .LBB619: 8939 .LBI619: 527:Drivers/CMSIS/Include/cmsis_gcc.h **** { 8940 .loc 2 527 31 discriminator 1 view .LVU2962 8941 .LBB620: 529:Drivers/CMSIS/Include/cmsis_gcc.h **** 8942 .loc 2 529 4 discriminator 1 view .LVU2963 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8943 .loc 2 531 4 discriminator 1 view .LVU2964 8944 0052 0C32 adds r2, r2, #12 8945 .LVL826: 531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 8946 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2965 8947 .syntax unified 8948 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 8949 0054 42E80031 strex r1, r3, [r2] 8950 @ 0 "" 2 8951 .LVL827: 8952 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2966 8953 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2967 8954 .thumb 8955 .syntax unified 8956 .LBE620: 8957 .LBE619: 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8958 .loc 1 1797 9 discriminator 1 view .LVU2968 8959 0058 0029 cmp r1, #0 8960 005a F3D1 bne .L439 8961 005c DBE7 b .L437 8962 .LVL828: 8963 .L440: 8964 .LCFI73: 8965 .cfi_def_cfa_offset 0 8966 .cfi_restore 4 8967 .cfi_restore 14 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8968 .loc 1 1797 9 discriminator 1 view .LVU2969 8969 .LBE616: 1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8970 .loc 1 1813 12 view .LVU2970 8971 005e 0220 movs r0, #2 8972 .LVL829: 1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** 8973 .loc 1 1815 1 view .LVU2971 8974 0060 7047 bx lr 8975 .LVL830: 8976 .L441: 8977 .LCFI74: 8978 .cfi_def_cfa_offset 16 8979 .cfi_offset 4, -8 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 280 8980 .cfi_offset 14, -4 1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8981 .loc 1 1782 14 view .LVU2972 8982 0062 0120 movs r0, #1 8983 .LVL831: 1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } 8984 .loc 1 1782 14 view .LVU2973 8985 0064 D7E7 b .L437 8986 .cfi_endproc 8987 .LFE257: 8989 .text 8990 .Letext0: 8991 .file 3 "c:\\tools\\gcc-arm-none-eabi-10.3-2021.10-win32\\gcc-arm-none-eabi-10.3-2021.10\\arm-none 8992 .file 4 "c:\\tools\\gcc-arm-none-eabi-10.3-2021.10-win32\\gcc-arm-none-eabi-10.3-2021.10\\arm-none 8993 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h" 8994 .file 6 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h" 8995 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h" 8996 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h" 8997 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h" 8998 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h" 8999 .file 11 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h" ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 281 DEFINED SYMBOLS *ABS*:00000000 stm32f4xx_hal_uart.c C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:20 .text.UART_EndTxTransfer:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:25 .text.UART_EndTxTransfer:00000000 UART_EndTxTransfer C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:104 .text.UART_EndRxTransfer:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:109 .text.UART_EndRxTransfer:00000000 UART_EndRxTransfer C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:313 .text.UART_Transmit_IT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:318 .text.UART_Transmit_IT:00000000 UART_Transmit_IT C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:421 .text.UART_SetConfig:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:426 .text.UART_SetConfig:00000000 UART_SetConfig C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:601 .text.UART_SetConfig:00000108 $d C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:607 .text.UART_WaitOnFlagUntilTimeout:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:612 .text.UART_WaitOnFlagUntilTimeout:00000000 UART_WaitOnFlagUntilTimeout C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:744 .text.HAL_UART_MspInit:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:750 .text.HAL_UART_MspInit:00000000 HAL_UART_MspInit C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:765 .text.HAL_UART_Init:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:771 .text.HAL_UART_Init:00000000 HAL_UART_Init C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:869 .text.HAL_HalfDuplex_Init:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:875 .text.HAL_HalfDuplex_Init:00000000 HAL_HalfDuplex_Init C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:978 .text.HAL_LIN_Init:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:984 .text.HAL_LIN_Init:00000000 HAL_LIN_Init C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:1106 .text.HAL_MultiProcessor_Init:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:1112 .text.HAL_MultiProcessor_Init:00000000 HAL_MultiProcessor_Init C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:1241 .text.HAL_UART_MspDeInit:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:1247 .text.HAL_UART_MspDeInit:00000000 HAL_UART_MspDeInit C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:1262 .text.HAL_UART_DeInit:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:1268 .text.HAL_UART_DeInit:00000000 HAL_UART_DeInit C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:1336 .text.HAL_UART_Transmit:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:1342 .text.HAL_UART_Transmit:00000000 HAL_UART_Transmit C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:1562 .text.HAL_UART_Receive:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:1568 .text.HAL_UART_Receive:00000000 HAL_UART_Receive C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:1798 .text.HAL_UART_Transmit_IT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:1804 .text.HAL_UART_Transmit_IT:00000000 HAL_UART_Transmit_IT C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:1882 .text.HAL_UART_Transmit_DMA:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:1888 .text.HAL_UART_Transmit_DMA:00000000 HAL_UART_Transmit_DMA C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:2064 .text.HAL_UART_Transmit_DMA:00000078 $d C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4219 .text.UART_DMATransmitCplt:00000000 UART_DMATransmitCplt C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4445 .text.UART_DMATxHalfCplt:00000000 UART_DMATxHalfCplt C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4540 .text.UART_DMAError:00000000 UART_DMAError C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:2071 .text.HAL_UART_DMAPause:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:2077 .text.HAL_UART_DMAPause:00000000 HAL_UART_DMAPause C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:2373 .text.HAL_UART_DMAResume:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:2379 .text.HAL_UART_DMAResume:00000000 HAL_UART_DMAResume C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:2685 .text.HAL_UART_DMAStop:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:2691 .text.HAL_UART_DMAStop:00000000 HAL_UART_DMAStop C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:2901 .text.HAL_UARTEx_ReceiveToIdle:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:2907 .text.HAL_UARTEx_ReceiveToIdle:00000000 HAL_UARTEx_ReceiveToIdle C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:3214 .text.HAL_UARTEx_GetRxEventType:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:3220 .text.HAL_UARTEx_GetRxEventType:00000000 HAL_UARTEx_GetRxEventType C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:3238 .text.HAL_UART_Abort:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:3244 .text.HAL_UART_Abort:00000000 HAL_UART_Abort C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:3671 .text.HAL_UART_AbortTransmit:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:3677 .text.HAL_UART_AbortTransmit:00000000 HAL_UART_AbortTransmit C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:3868 .text.HAL_UART_AbortReceive:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:3874 .text.HAL_UART_AbortReceive:00000000 HAL_UART_AbortReceive C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4193 .text.HAL_UART_TxCpltCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4199 .text.HAL_UART_TxCpltCallback:00000000 HAL_UART_TxCpltCallback ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 282 C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4214 .text.UART_DMATransmitCplt:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4381 .text.UART_EndTransmit_IT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4386 .text.UART_EndTransmit_IT:00000000 UART_EndTransmit_IT C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4419 .text.HAL_UART_TxHalfCpltCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4425 .text.HAL_UART_TxHalfCpltCallback:00000000 HAL_UART_TxHalfCpltCallback C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4440 .text.UART_DMATxHalfCplt:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4472 .text.HAL_UART_RxCpltCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4478 .text.HAL_UART_RxCpltCallback:00000000 HAL_UART_RxCpltCallback C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4493 .text.HAL_UART_RxHalfCpltCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4499 .text.HAL_UART_RxHalfCpltCallback:00000000 HAL_UART_RxHalfCpltCallback C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4514 .text.HAL_UART_ErrorCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4520 .text.HAL_UART_ErrorCallback:00000000 HAL_UART_ErrorCallback C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4535 .text.UART_DMAError:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4637 .text.UART_DMAAbortOnError:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4642 .text.UART_DMAAbortOnError:00000000 UART_DMAAbortOnError C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4675 .text.HAL_UART_AbortCpltCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4681 .text.HAL_UART_AbortCpltCallback:00000000 HAL_UART_AbortCpltCallback C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4696 .text.HAL_UART_Abort_IT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:4702 .text.HAL_UART_Abort_IT:00000000 HAL_UART_Abort_IT C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5175 .text.HAL_UART_Abort_IT:0000011c $d C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5255 .text.UART_DMATxAbortCallback:00000000 UART_DMATxAbortCallback C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5186 .text.UART_DMARxAbortCallback:00000000 UART_DMARxAbortCallback C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5181 .text.UART_DMARxAbortCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5250 .text.UART_DMATxAbortCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5319 .text.HAL_UART_AbortTransmitCpltCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5325 .text.HAL_UART_AbortTransmitCpltCallback:00000000 HAL_UART_AbortTransmitCpltCallback C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5340 .text.HAL_UART_AbortTransmit_IT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5346 .text.HAL_UART_AbortTransmit_IT:00000000 HAL_UART_AbortTransmit_IT C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5554 .text.HAL_UART_AbortTransmit_IT:0000007c $d C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5564 .text.UART_DMATxOnlyAbortCallback:00000000 UART_DMATxOnlyAbortCallback C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5559 .text.UART_DMATxOnlyAbortCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5598 .text.HAL_UART_AbortReceiveCpltCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5604 .text.HAL_UART_AbortReceiveCpltCallback:00000000 HAL_UART_AbortReceiveCpltCallback C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5619 .text.HAL_UART_AbortReceive_IT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5625 .text.HAL_UART_AbortReceive_IT:00000000 HAL_UART_AbortReceive_IT C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5964 .text.HAL_UART_AbortReceive_IT:000000b8 $d C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5974 .text.UART_DMARxOnlyAbortCallback:00000000 UART_DMARxOnlyAbortCallback C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:5969 .text.UART_DMARxOnlyAbortCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:6011 .text.HAL_UARTEx_RxEventCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:6017 .text.HAL_UARTEx_RxEventCallback:00000000 HAL_UARTEx_RxEventCallback C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:6033 .text.UART_Receive_IT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:6038 .text.UART_Receive_IT:00000000 UART_Receive_IT C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:6316 .text.HAL_UART_IRQHandler:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:6322 .text.HAL_UART_IRQHandler:00000000 HAL_UART_IRQHandler C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:7215 .text.HAL_UART_IRQHandler:00000284 $d C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:7220 .text.UART_DMARxHalfCplt:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:7225 .text.UART_DMARxHalfCplt:00000000 UART_DMARxHalfCplt C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:7273 .text.UART_DMAReceiveCplt:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:7278 .text.UART_DMAReceiveCplt:00000000 UART_DMAReceiveCplt C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:7585 .text.HAL_LIN_SendBreak:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:7591 .text.HAL_LIN_SendBreak:00000000 HAL_LIN_SendBreak C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:7698 .text.HAL_MultiProcessor_EnterMuteMode:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:7704 .text.HAL_MultiProcessor_EnterMuteMode:00000000 HAL_MultiProcessor_EnterMuteMode C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:7814 .text.HAL_MultiProcessor_ExitMuteMode:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:7820 .text.HAL_MultiProcessor_ExitMuteMode:00000000 HAL_MultiProcessor_ExitMuteMode C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:7930 .text.HAL_HalfDuplex_EnableTransmitter:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:7936 .text.HAL_HalfDuplex_EnableTransmitter:00000000 HAL_HalfDuplex_EnableTransmitter ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s page 283 C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8003 .text.HAL_HalfDuplex_EnableReceiver:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8009 .text.HAL_HalfDuplex_EnableReceiver:00000000 HAL_HalfDuplex_EnableReceiver C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8076 .text.HAL_UART_GetState:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8082 .text.HAL_UART_GetState:00000000 HAL_UART_GetState C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8109 .text.HAL_UART_GetError:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8115 .text.HAL_UART_GetError:00000000 HAL_UART_GetError C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8133 .text.UART_Start_Receive_IT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8139 .text.UART_Start_Receive_IT:00000000 UART_Start_Receive_IT C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8198 .text.HAL_UART_Receive_IT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8204 .text.HAL_UART_Receive_IT:00000000 HAL_UART_Receive_IT C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8265 .text.HAL_UARTEx_ReceiveToIdle_IT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8271 .text.HAL_UARTEx_ReceiveToIdle_IT:00000000 HAL_UARTEx_ReceiveToIdle_IT C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8446 .text.UART_Start_Receive_DMA:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8452 .text.UART_Start_Receive_DMA:00000000 UART_Start_Receive_DMA C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8735 .text.UART_Start_Receive_DMA:00000098 $d C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8742 .text.HAL_UART_Receive_DMA:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8748 .text.HAL_UART_Receive_DMA:00000000 HAL_UART_Receive_DMA C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8809 .text.HAL_UARTEx_ReceiveToIdle_DMA:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\cclM7ggM.s:8815 .text.HAL_UARTEx_ReceiveToIdle_DMA:00000000 HAL_UARTEx_ReceiveToIdle_DMA UNDEFINED SYMBOLS __aeabi_uldivmod HAL_RCC_GetPCLK1Freq HAL_RCC_GetPCLK2Freq HAL_GetTick HAL_DMA_Start_IT HAL_DMA_Abort HAL_DMA_GetError HAL_DMA_Abort_IT
Report a bug