|
|
ARM GAS /tmp/cc7An1gz.s page 1
|
|
|
|
|
|
|
|
|
1 .cpu cortex-m0plus
|
|
|
2 .eabi_attribute 20, 1
|
|
|
3 .eabi_attribute 21, 1
|
|
|
4 .eabi_attribute 23, 3
|
|
|
5 .eabi_attribute 24, 1
|
|
|
6 .eabi_attribute 25, 1
|
|
|
7 .eabi_attribute 26, 1
|
|
|
8 .eabi_attribute 30, 1
|
|
|
9 .eabi_attribute 34, 0
|
|
|
10 .eabi_attribute 18, 4
|
|
|
11 .file "stm32l0xx_hal_uart.c"
|
|
|
12 .text
|
|
|
13 .Ltext0:
|
|
|
14 .cfi_sections .debug_frame
|
|
|
15 .section .text.HAL_UART_MspInit,"ax",%progbits
|
|
|
16 .align 1
|
|
|
17 .weak HAL_UART_MspInit
|
|
|
18 .syntax unified
|
|
|
19 .code 16
|
|
|
20 .thumb_func
|
|
|
21 .fpu softvfp
|
|
|
23 HAL_UART_MspInit:
|
|
|
24 .LFB44:
|
|
|
25 .file 1 "./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c"
|
|
|
1:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ******************************************************************************
|
|
|
3:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @file stm32l0xx_hal_uart.c
|
|
|
4:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @author MCD Application Team
|
|
|
5:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief UART HAL module driver.
|
|
|
6:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * This file provides firmware functions to manage the following
|
|
|
7:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART).
|
|
|
8:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * + Initialization and de-initialization functions
|
|
|
9:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * + IO operation functions
|
|
|
10:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * + Peripheral Control functions
|
|
|
11:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** *
|
|
|
12:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** *
|
|
|
13:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** @verbatim
|
|
|
14:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ===============================================================================
|
|
|
15:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ##### How to use this driver #####
|
|
|
16:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ===============================================================================
|
|
|
17:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** [..]
|
|
|
18:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** The UART HAL driver can be used as follows:
|
|
|
19:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
20:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart).
|
|
|
21:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API:
|
|
|
22:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) Enable the USARTx interface clock.
|
|
|
23:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) UART pins configuration:
|
|
|
24:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs.
|
|
|
25:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+++) Configure these UART pins as alternate function pull-up.
|
|
|
26:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT()
|
|
|
27:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs):
|
|
|
28:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority.
|
|
|
29:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle.
|
|
|
30:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) UART interrupts handling:
|
|
|
31:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** -@@- The specific UART interrupts (Transmission complete interrupt,
|
|
|
32:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** RXNE interrupt and Error Interrupts) are managed using the macros
|
|
|
33:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT() inside the transmit and receive
|
|
|
ARM GAS /tmp/cc7An1gz.s page 2
|
|
|
|
|
|
|
|
|
34:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA()
|
|
|
35:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs):
|
|
|
36:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx channel.
|
|
|
37:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+++) Enable the DMAx interface clock.
|
|
|
38:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters.
|
|
|
39:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx channel.
|
|
|
40:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle.
|
|
|
41:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on
|
|
|
42:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
43:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware
|
|
|
44:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** flow control and Mode (Receiver/Transmitter) in the huart handle Init structure.
|
|
|
45:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
46:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) If required, program UART advanced features (TX/RX pins swap, auto Baud rate detection,...)
|
|
|
47:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** in the huart handle AdvancedInit structure.
|
|
|
48:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
49:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling
|
|
|
50:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** the HAL_UART_Init() API.
|
|
|
51:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
52:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling
|
|
|
53:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** the HAL_HalfDuplex_Init() API.
|
|
|
54:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
55:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) For the UART LIN (Local Interconnection Network) mode, initialize the UART registers
|
|
|
56:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** by calling the HAL_LIN_Init() API.
|
|
|
57:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
58:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) For the UART Multiprocessor mode, initialize the UART registers
|
|
|
59:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** by calling the HAL_MultiProcessor_Init() API.
|
|
|
60:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
61:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) For the UART RS485 Driver Enabled mode, initialize the UART registers
|
|
|
62:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** by calling the HAL_RS485Ex_Init() API.
|
|
|
63:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
64:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** [..]
|
|
|
65:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (@) These API's (HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init(), HAL_MultiProcessor_Ini
|
|
|
66:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** also configure the low level Hardware GPIO, CLOCK, CORTEX...etc) by
|
|
|
67:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** calling the customized HAL_UART_MspInit() API.
|
|
|
68:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
69:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** @endverbatim
|
|
|
70:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ******************************************************************************
|
|
|
71:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @attention
|
|
|
72:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** *
|
|
|
73:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
|
|
|
74:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** *
|
|
|
75:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * Redistribution and use in source and binary forms, with or without modification,
|
|
|
76:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * are permitted provided that the following conditions are met:
|
|
|
77:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * 1. Redistributions of source code must retain the above copyright notice,
|
|
|
78:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * this list of conditions and the following disclaimer.
|
|
|
79:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
|
80:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * this list of conditions and the following disclaimer in the documentation
|
|
|
81:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * and/or other materials provided with the distribution.
|
|
|
82:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
|
83:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * may be used to endorse or promote products derived from this software
|
|
|
84:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * without specific prior written permission.
|
|
|
85:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** *
|
|
|
86:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
|
87:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
88:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
|
89:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
|
90:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
ARM GAS /tmp/cc7An1gz.s page 3
|
|
|
|
|
|
|
|
|
91:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
|
92:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
|
93:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
|
94:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
|
95:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
96:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** *
|
|
|
97:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ******************************************************************************
|
|
|
98:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
99:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
100:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/
|
|
|
101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** #include "stm32l0xx_hal.h"
|
|
|
102:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
103:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /** @addtogroup STM32L0xx_HAL_Driver
|
|
|
104:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @{
|
|
|
105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
106:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
107:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /** @defgroup UART UART
|
|
|
108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief HAL UART module driver
|
|
|
109:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @{
|
|
|
110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
111:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
112:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED
|
|
|
113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
114:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/
|
|
|
115:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/
|
|
|
116:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /** @defgroup UART_Private_Constants UART Private Constants
|
|
|
117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @{
|
|
|
118:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
119:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** #define UART_CR1_FIELDS ((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | \
|
|
|
120:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** USART_CR1_TE | USART_CR1_RE | USART_CR1_OVER8)) /*!< UART or U
|
|
|
121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
122:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** #define UART_LPUART_BRR_MIN ((uint32_t)0x00000300) /* LPUART BRR minimum authorized valu
|
|
|
123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** #define UART_LPUART_BRR_MAX ((uint32_t)0x000FFFFF) /* LPUART BRR maximum authorized valu
|
|
|
124:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
125:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @}
|
|
|
126:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
127:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
128:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Private macros ------------------------------------------------------------*/
|
|
|
129:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/
|
|
|
130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/
|
|
|
131:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /** @addtogroup UART_Private_Functions
|
|
|
132:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @{
|
|
|
133:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
134:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart);
|
|
|
135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart);
|
|
|
136:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma);
|
|
|
137:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
|
|
|
138:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma);
|
|
|
139:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma);
|
|
|
140:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma);
|
|
|
141:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma);
|
|
|
142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
|
|
|
143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
|
|
|
144:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
|
|
|
145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
|
|
|
146:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart);
|
|
|
147:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart);
|
|
|
ARM GAS /tmp/cc7An1gz.s page 4
|
|
|
|
|
|
|
|
|
148:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart);
|
|
|
149:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
150:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @}
|
|
|
151:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
152:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
153:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Exported functions --------------------------------------------------------*/
|
|
|
154:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions
|
|
|
156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @{
|
|
|
157:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions
|
|
|
160:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Initialization and Configuration functions
|
|
|
161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** *
|
|
|
162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** @verbatim
|
|
|
163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ===============================================================================
|
|
|
164:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ##### Initialization and Configuration functions #####
|
|
|
165:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ===============================================================================
|
|
|
166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** [..]
|
|
|
167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy
|
|
|
168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** in asynchronous mode.
|
|
|
169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) For the asynchronous mode the parameters below can be configured:
|
|
|
170:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) Baud Rate
|
|
|
171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) Word Length
|
|
|
172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) Stop Bit
|
|
|
173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written
|
|
|
174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit.
|
|
|
175:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) Hardware flow control
|
|
|
176:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) Receiver/transmitter modes
|
|
|
177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) Over Sampling Method
|
|
|
178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) One-Bit Sampling Method
|
|
|
179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) For the asynchronous mode, the following advanced features can be configured as well:
|
|
|
180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) TX and/or RX pin level inversion
|
|
|
181:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) data logical level inversion
|
|
|
182:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) RX and TX pins swap
|
|
|
183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) RX overrun detection disabling
|
|
|
184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) DMA disabling on RX error
|
|
|
185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) MSB first on communication line
|
|
|
186:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (++) auto Baud rate detection
|
|
|
187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** [..]
|
|
|
188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init()and HAL_MultiProcessor_Init()API
|
|
|
189:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** follow respectively the UART asynchronous, UART Half duplex, UART LIN mode
|
|
|
190:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** and UART multiprocessor mode configuration procedures (details for the procedures
|
|
|
191:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** are available in reference manual).
|
|
|
192:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
193:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** @endverbatim
|
|
|
194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** Depending on the frame length defined by the M1 and M0 bits (7-bit,
|
|
|
196:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** 8-bit or 9-bit), the possible UART formats are listed in the
|
|
|
197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** following table.
|
|
|
198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
199:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** Table 1. UART frame format.
|
|
|
200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** +-----------------------------------------------------------------------+
|
|
|
201:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** | M1 bit | M0 bit | PCE bit | UART frame |
|
|
|
202:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
|
|
|
203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** | 0 | 0 | 0 | | SB | 8 bit data | STB | |
|
|
|
204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
|
|
|
ARM GAS /tmp/cc7An1gz.s page 5
|
|
|
|
|
|
|
|
|
205:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** | 0 | 0 | 1 | | SB | 7 bit data | PB | STB | |
|
|
|
206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
|
|
|
207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** | 0 | 1 | 0 | | SB | 9 bit data | STB | |
|
|
|
208:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
|
|
|
209:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** | 0 | 1 | 1 | | SB | 8 bit data | PB | STB | |
|
|
|
210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
|
|
|
211:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** | 1 | 0 | 0 | | SB | 7 bit data | STB | |
|
|
|
212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
|
|
|
213:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** | 1 | 0 | 1 | | SB | 6 bit data | PB | STB | |
|
|
|
214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** +-----------------------------------------------------------------------+
|
|
|
215:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @{
|
|
|
217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
219:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
220:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Initialize the UART mode according to the specified
|
|
|
221:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle.
|
|
|
222:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
|
|
|
226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the UART handle allocation */
|
|
|
228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart == NULL)
|
|
|
229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
233:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->Init.HwFlowCtl != UART_HWCONTROL_NONE)
|
|
|
234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the parameters */
|
|
|
236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance));
|
|
|
237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
240:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the parameters */
|
|
|
241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
|
|
|
242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->gState == HAL_UART_STATE_RESET)
|
|
|
245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Allocate lock resource and initialize it */
|
|
|
247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
|
|
|
248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
249:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
|
|
|
250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_MspInit(huart);
|
|
|
251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
252:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
|
|
|
254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the Peripheral */
|
|
|
256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
|
|
|
257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
258:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART Communication parameters */
|
|
|
259:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
|
|
|
260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
|
|
|
ARM GAS /tmp/cc7An1gz.s page 6
|
|
|
|
|
|
|
|
|
262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
|
|
|
265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
268:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared:
|
|
|
270:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
|
|
|
271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/
|
|
|
272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
|
|
|
273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
|
|
|
274:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
275:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the Peripheral */
|
|
|
276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
|
|
|
277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
278:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
|
|
|
279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return (UART_CheckIdleState(huart));
|
|
|
280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Initialize the half-duplex mode according to the specified
|
|
|
284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle.
|
|
|
285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
286:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
|
|
|
289:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the UART handle allocation */
|
|
|
291:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart == NULL)
|
|
|
292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
294:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check UART instance */
|
|
|
297:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance));
|
|
|
298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->gState == HAL_UART_STATE_RESET)
|
|
|
300:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Allocate lock resource and initialize it */
|
|
|
302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
|
|
|
303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
|
|
|
305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_MspInit(huart);
|
|
|
306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
|
|
|
309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the Peripheral */
|
|
|
311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
|
|
|
312:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
313:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART Communication parameters */
|
|
|
314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
|
|
|
315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
|
|
|
317:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
318:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
ARM GAS /tmp/cc7An1gz.s page 7
|
|
|
|
|
|
|
|
|
319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
|
|
|
320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
321:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
324:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared:
|
|
|
325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
|
|
|
326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/
|
|
|
327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
|
|
|
328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
|
|
|
329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
330:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */
|
|
|
331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL);
|
|
|
332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the Peripheral */
|
|
|
334:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
|
|
|
335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
336:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
|
|
|
337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return (UART_CheckIdleState(huart));
|
|
|
338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
340:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
342:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Initialize the LIN mode according to the specified
|
|
|
343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle .
|
|
|
344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
345:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param BreakDetectLength: specifies the LIN break detection length.
|
|
|
346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * This parameter can be one of the following values:
|
|
|
347:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_10B 10-bit break detection
|
|
|
348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_11B 11-bit break detection
|
|
|
349:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
351:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
|
|
|
352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the UART handle allocation */
|
|
|
354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart == NULL)
|
|
|
355:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
357:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
358:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
359:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the LIN UART instance */
|
|
|
360:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
|
|
|
361:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the Break detection length parameter */
|
|
|
362:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength));
|
|
|
363:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
364:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* LIN mode limited to 16-bit oversampling only */
|
|
|
365:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->Init.OverSampling == UART_OVERSAMPLING_8)
|
|
|
366:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
367:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
368:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
369:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* LIN mode limited to 8-bit data length */
|
|
|
370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->Init.WordLength != UART_WORDLENGTH_8B)
|
|
|
371:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
372:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
374:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
375:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->gState == HAL_UART_STATE_RESET)
|
|
|
ARM GAS /tmp/cc7An1gz.s page 8
|
|
|
|
|
|
|
|
|
376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Allocate lock resource and initialize it */
|
|
|
378:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
|
|
|
379:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
|
|
|
381:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_MspInit(huart);
|
|
|
382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
383:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
|
|
|
385:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
386:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the Peripheral */
|
|
|
387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
|
|
|
388:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
389:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART Communication parameters */
|
|
|
390:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
|
|
|
391:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
|
|
|
393:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
394:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
|
|
|
396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared:
|
|
|
401:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
|
|
|
402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/
|
|
|
403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN);
|
|
|
404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
|
|
|
405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */
|
|
|
407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN);
|
|
|
408:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
409:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the USART LIN Break detection length. */
|
|
|
410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_LBDL, BreakDetectLength);
|
|
|
411:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the Peripheral */
|
|
|
413:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
|
|
|
414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
415:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
|
|
|
416:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return (UART_CheckIdleState(huart));
|
|
|
417:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
418:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
420:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
421:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Initialize the multiprocessor mode according to the specified
|
|
|
422:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle.
|
|
|
423:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
424:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param Address: UART node address (4-, 6-, 7- or 8-bit long).
|
|
|
425:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param WakeUpMethod: specifies the UART wakeup method.
|
|
|
426:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * This parameter can be one of the following values:
|
|
|
427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_IDLELINE WakeUp by an idle line detection
|
|
|
428:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_ADDRESSMARK WakeUp by an address mark
|
|
|
429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note If the user resorts to idle line detection wake up, the Address parameter
|
|
|
430:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * is useless and ignored by the initialization function.
|
|
|
431:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note If the user resorts to address mark wake up, the address length detection
|
|
|
432:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * is configured by default to 4 bits only. For the UART to be able to
|
|
|
ARM GAS /tmp/cc7An1gz.s page 9
|
|
|
|
|
|
|
|
|
433:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * manage 6-, 7- or 8-bit long addresses detection, the API
|
|
|
434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * HAL_MultiProcessorEx_AddressLength_Set() must be called after
|
|
|
435:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * HAL_MultiProcessor_Init().
|
|
|
436:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake
|
|
|
439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the UART handle allocation */
|
|
|
441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart == NULL)
|
|
|
442:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
443:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
444:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
446:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the wake up method parameter */
|
|
|
447:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod));
|
|
|
448:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
449:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->gState == HAL_UART_STATE_RESET)
|
|
|
450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
451:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Allocate lock resource and initialize it */
|
|
|
452:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
|
|
|
453:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
454:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
|
|
|
455:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_MspInit(huart);
|
|
|
456:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
|
|
|
459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
460:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the Peripheral */
|
|
|
461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
|
|
|
462:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
463:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART Communication parameters */
|
|
|
464:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
|
|
|
465:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
|
|
|
467:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
468:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
|
|
|
470:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
474:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* In multiprocessor mode, the following bits must be kept cleared:
|
|
|
475:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
|
|
|
476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register. */
|
|
|
477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
|
|
|
478:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
|
|
|
479:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (WakeUpMethod == UART_WAKEUPMETHOD_ADDRESSMARK)
|
|
|
481:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
482:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* If address mark wake up method is chosen, set the USART address node */
|
|
|
483:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ADD, ((uint32_t)Address << UART_CR2_ADDRESS_LSB_POS)
|
|
|
484:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
485:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
486:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */
|
|
|
487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_WAKE, WakeUpMethod);
|
|
|
488:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
489:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the Peripheral */
|
|
|
ARM GAS /tmp/cc7An1gz.s page 10
|
|
|
|
|
|
|
|
|
490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
|
|
|
491:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
|
|
|
493:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return (UART_CheckIdleState(huart));
|
|
|
494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief DeInitialize the UART peripheral.
|
|
|
499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
501:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
502:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
|
|
|
503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
504:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the UART handle allocation */
|
|
|
505:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart == NULL)
|
|
|
506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
507:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
509:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
510:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the parameters */
|
|
|
511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
|
|
|
512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
513:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
|
|
|
514:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
515:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the Peripheral */
|
|
|
516:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
|
|
|
517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
518:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->CR1 = 0x0U;
|
|
|
519:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->CR2 = 0x0U;
|
|
|
520:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->CR3 = 0x0U;
|
|
|
521:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
522:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* DeInit the low level hardware */
|
|
|
523:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_MspDeInit(huart);
|
|
|
524:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
525:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
|
|
|
526:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
|
|
|
527:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
|
|
|
528:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
529:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Unlock */
|
|
|
530:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UNLOCK(huart);
|
|
|
531:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
532:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
533:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
534:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
535:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
536:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Initialize the UART MSP.
|
|
|
537:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
538:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
539:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
540:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart)
|
|
|
541:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
26 .loc 1 541 0
|
|
|
27 .cfi_startproc
|
|
|
28 @ args = 0, pretend = 0, frame = 0
|
|
|
29 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
30 @ link register save eliminated.
|
|
|
ARM GAS /tmp/cc7An1gz.s page 11
|
|
|
|
|
|
|
|
|
31 .LVL0:
|
|
|
542:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
543:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UNUSED(huart);
|
|
|
544:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
545:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
546:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** the HAL_UART_MspInit can be implemented in the user file
|
|
|
547:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
548:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
32 .loc 1 548 0
|
|
|
33 @ sp needed
|
|
|
34 0000 7047 bx lr
|
|
|
35 .cfi_endproc
|
|
|
36 .LFE44:
|
|
|
38 .section .text.HAL_UART_MspDeInit,"ax",%progbits
|
|
|
39 .align 1
|
|
|
40 .weak HAL_UART_MspDeInit
|
|
|
41 .syntax unified
|
|
|
42 .code 16
|
|
|
43 .thumb_func
|
|
|
44 .fpu softvfp
|
|
|
46 HAL_UART_MspDeInit:
|
|
|
47 .LFB45:
|
|
|
549:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
550:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
551:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief DeInitialize the UART MSP.
|
|
|
552:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
553:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
554:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
555:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
|
|
|
556:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
48 .loc 1 556 0
|
|
|
49 .cfi_startproc
|
|
|
50 @ args = 0, pretend = 0, frame = 0
|
|
|
51 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
52 @ link register save eliminated.
|
|
|
53 .LVL1:
|
|
|
557:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
558:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UNUSED(huart);
|
|
|
559:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
560:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
561:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** the HAL_UART_MspDeInit can be implemented in the user file
|
|
|
562:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
563:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
54 .loc 1 563 0
|
|
|
55 @ sp needed
|
|
|
56 0000 7047 bx lr
|
|
|
57 .cfi_endproc
|
|
|
58 .LFE45:
|
|
|
60 .section .text.HAL_UART_DeInit,"ax",%progbits
|
|
|
61 .align 1
|
|
|
62 .global HAL_UART_DeInit
|
|
|
63 .syntax unified
|
|
|
64 .code 16
|
|
|
65 .thumb_func
|
|
|
66 .fpu softvfp
|
|
|
68 HAL_UART_DeInit:
|
|
|
69 .LFB43:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 12
|
|
|
|
|
|
|
|
|
503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the UART handle allocation */
|
|
|
70 .loc 1 503 0
|
|
|
71 .cfi_startproc
|
|
|
72 @ args = 0, pretend = 0, frame = 0
|
|
|
73 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
74 .LVL2:
|
|
|
75 0000 70B5 push {r4, r5, r6, lr}
|
|
|
76 .LCFI0:
|
|
|
77 .cfi_def_cfa_offset 16
|
|
|
78 .cfi_offset 4, -16
|
|
|
79 .cfi_offset 5, -12
|
|
|
80 .cfi_offset 6, -8
|
|
|
81 .cfi_offset 14, -4
|
|
|
82 0002 041E subs r4, r0, #0
|
|
|
505:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
83 .loc 1 505 0
|
|
|
84 0004 18D0 beq .L5
|
|
|
513:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
85 .loc 1 513 0
|
|
|
86 0006 6926 movs r6, #105
|
|
|
87 0008 2423 movs r3, #36
|
|
|
88 000a 8355 strb r3, [r0, r6]
|
|
|
516:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
89 .loc 1 516 0
|
|
|
90 000c 0268 ldr r2, [r0]
|
|
|
91 000e 1368 ldr r3, [r2]
|
|
|
92 0010 0121 movs r1, #1
|
|
|
93 0012 8B43 bics r3, r1
|
|
|
94 0014 1360 str r3, [r2]
|
|
|
518:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->CR2 = 0x0U;
|
|
|
95 .loc 1 518 0
|
|
|
96 0016 0368 ldr r3, [r0]
|
|
|
97 0018 0025 movs r5, #0
|
|
|
98 001a 1D60 str r5, [r3]
|
|
|
519:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->CR3 = 0x0U;
|
|
|
99 .loc 1 519 0
|
|
|
100 001c 0368 ldr r3, [r0]
|
|
|
101 001e 5D60 str r5, [r3, #4]
|
|
|
520:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
102 .loc 1 520 0
|
|
|
103 0020 0368 ldr r3, [r0]
|
|
|
104 0022 9D60 str r5, [r3, #8]
|
|
|
523:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
105 .loc 1 523 0
|
|
|
106 0024 FFF7FEFF bl HAL_UART_MspDeInit
|
|
|
107 .LVL3:
|
|
|
525:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
|
|
|
108 .loc 1 525 0
|
|
|
109 0028 E566 str r5, [r4, #108]
|
|
|
526:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
|
|
|
110 .loc 1 526 0
|
|
|
111 002a A555 strb r5, [r4, r6]
|
|
|
527:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
112 .loc 1 527 0
|
|
|
113 002c 6A23 movs r3, #106
|
|
|
114 002e E554 strb r5, [r4, r3]
|
|
|
530:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
ARM GAS /tmp/cc7An1gz.s page 13
|
|
|
|
|
|
|
|
|
115 .loc 1 530 0
|
|
|
116 0030 023B subs r3, r3, #2
|
|
|
117 0032 E554 strb r5, [r4, r3]
|
|
|
532:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
118 .loc 1 532 0
|
|
|
119 0034 0020 movs r0, #0
|
|
|
120 .L4:
|
|
|
533:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
121 .loc 1 533 0
|
|
|
122 @ sp needed
|
|
|
123 .LVL4:
|
|
|
124 0036 70BD pop {r4, r5, r6, pc}
|
|
|
125 .LVL5:
|
|
|
126 .L5:
|
|
|
507:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
127 .loc 1 507 0
|
|
|
128 0038 0120 movs r0, #1
|
|
|
129 .LVL6:
|
|
|
130 003a FCE7 b .L4
|
|
|
131 .cfi_endproc
|
|
|
132 .LFE43:
|
|
|
134 .section .text.HAL_UART_Transmit_IT,"ax",%progbits
|
|
|
135 .align 1
|
|
|
136 .global HAL_UART_Transmit_IT
|
|
|
137 .syntax unified
|
|
|
138 .code 16
|
|
|
139 .thumb_func
|
|
|
140 .fpu softvfp
|
|
|
142 HAL_UART_Transmit_IT:
|
|
|
143 .LFB48:
|
|
|
564:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
565:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
566:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @}
|
|
|
567:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
568:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
569:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions
|
|
|
570:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief UART Transmit/Receive functions
|
|
|
571:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** *
|
|
|
572:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** @verbatim
|
|
|
573:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ===============================================================================
|
|
|
574:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ##### IO operation functions #####
|
|
|
575:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ===============================================================================
|
|
|
576:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous
|
|
|
577:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** and Half duplex data transfers.
|
|
|
578:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
579:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) There are two mode of transfer:
|
|
|
580:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode.
|
|
|
581:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** The HAL status of all data processing is returned by the same function
|
|
|
582:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** after finishing transfer.
|
|
|
583:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts
|
|
|
584:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** or DMA, These API's return the HAL status.
|
|
|
585:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** The end of the data processing will be indicated through the
|
|
|
586:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when
|
|
|
587:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** using DMA mode.
|
|
|
588:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks
|
|
|
589:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** will be executed respectively at the end of the transmit or Receive process
|
|
|
590:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is
|
|
|
ARM GAS /tmp/cc7An1gz.s page 14
|
|
|
|
|
|
|
|
|
591:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
592:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) Blocking mode API's are :
|
|
|
593:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_Transmit()
|
|
|
594:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_Receive()
|
|
|
595:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
596:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are :
|
|
|
597:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_Transmit_IT()
|
|
|
598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_Receive_IT()
|
|
|
599:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_IRQHandler()
|
|
|
600:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
601:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are :
|
|
|
602:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA()
|
|
|
603:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_Receive_DMA()
|
|
|
604:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_DMAPause()
|
|
|
605:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_DMAResume()
|
|
|
606:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_DMAStop()
|
|
|
607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
608:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode:
|
|
|
609:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback()
|
|
|
610:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback()
|
|
|
611:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback()
|
|
|
612:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback()
|
|
|
613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_ErrorCallback()
|
|
|
614:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
615:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's :
|
|
|
616:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_Abort()
|
|
|
617:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_AbortTransmit()
|
|
|
618:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_AbortReceive()
|
|
|
619:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_Abort_IT()
|
|
|
620:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT()
|
|
|
621:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT()
|
|
|
622:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
623:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call
|
|
|
624:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback()
|
|
|
625:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback()
|
|
|
626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback()
|
|
|
627:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
628:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories.
|
|
|
629:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** Errors are handled as follows :
|
|
|
630:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er
|
|
|
631:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error in Inte
|
|
|
632:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** Received character is then retrieved and stored in Rx buffer, Error code is set to allow
|
|
|
633:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** and HAL_UART_ErrorCallback() user callback is executed. Transfer is kept ongoing on UART
|
|
|
634:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user.
|
|
|
635:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte
|
|
|
636:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode.
|
|
|
637:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback() use
|
|
|
638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
639:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit
|
|
|
640:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful.
|
|
|
641:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
642:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** @endverbatim
|
|
|
643:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @{
|
|
|
644:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
645:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
646:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
647:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Send an amount of data in blocking mode.
|
|
|
ARM GAS /tmp/cc7An1gz.s page 15
|
|
|
|
|
|
|
|
|
648:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
649:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param pData: Pointer to data buffer.
|
|
|
650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param Size: Amount of data to be sent.
|
|
|
651:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param Timeout: Timeout duration.
|
|
|
652:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
|
|
|
653:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * address of user data buffer containing data to be sent, should be aligned on a half wor
|
|
|
654:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * (as sent data will be handled using u16 pointer cast). Depending on compilation chain,
|
|
|
655:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required to ensure
|
|
|
656:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
657:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
658:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint3
|
|
|
659:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
660:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint16_t* tmp;
|
|
|
661:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t tickstart = 0;
|
|
|
662:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
663:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
|
|
|
664:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->gState == HAL_UART_STATE_READY)
|
|
|
665:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if((pData == NULL ) || (Size == 0U))
|
|
|
667:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
668:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
669:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
670:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
671:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input paramter
|
|
|
672:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** should be aligned on a u16 frontier, as data to be filled into TDR will be
|
|
|
673:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** handled through a u16 cast. */
|
|
|
674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
|
|
|
675:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
676:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if((((uint32_t)pData)&1) != 0)
|
|
|
677:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
678:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
679:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
680:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
681:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
682:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_LOCK(huart);
|
|
|
684:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
685:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
|
|
|
686:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
|
|
|
687:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
688:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Init tickstart for timeout managment*/
|
|
|
689:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tickstart = HAL_GetTick();
|
|
|
690:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
691:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferSize = Size;
|
|
|
692:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount = Size;
|
|
|
693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** while(huart->TxXferCount > 0U)
|
|
|
694:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
695:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount--;
|
|
|
696:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
|
|
|
697:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
698:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_TIMEOUT;
|
|
|
699:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
700:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE
|
|
|
701:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
702:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tmp = (uint16_t*) pData;
|
|
|
703:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->TDR = (*tmp & (uint16_t)0x01FFU);
|
|
|
704:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** pData += 2U;
|
|
|
ARM GAS /tmp/cc7An1gz.s page 16
|
|
|
|
|
|
|
|
|
705:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
706:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
707:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
708:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->TDR = (*pData++ & (uint8_t)0xFFU);
|
|
|
709:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
710:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
711:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK)
|
|
|
712:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_TIMEOUT;
|
|
|
714:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
715:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
716:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
|
|
|
717:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
718:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
719:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Unlocked */
|
|
|
720:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UNLOCK(huart);
|
|
|
721:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
722:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
723:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
724:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
725:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
726:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_BUSY;
|
|
|
727:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
729:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
730:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
731:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode.
|
|
|
732:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
733:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param pData: pointer to data buffer.
|
|
|
734:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param Size: amount of data to be received.
|
|
|
735:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param Timeout: Timeout duration.
|
|
|
736:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
|
|
|
737:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * address of user data buffer for storing data to be received, should be aligned on a hal
|
|
|
738:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * (as received data will be handled using u16 pointer cast). Depending on compilation cha
|
|
|
739:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required to ensure
|
|
|
740:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
741:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
742:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32
|
|
|
743:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
744:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint16_t* tmp;
|
|
|
745:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint16_t uhMask;
|
|
|
746:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t tickstart = 0;
|
|
|
747:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
748:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
|
|
|
749:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->RxState == HAL_UART_STATE_READY)
|
|
|
750:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
751:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if((pData == NULL ) || (Size == 0U))
|
|
|
752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
753:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
754:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
755:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
756:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input paramter
|
|
|
757:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** should be aligned on a u16 frontier, as data to be received from RDR will be
|
|
|
758:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** handled through a u16 cast. */
|
|
|
759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
|
|
|
760:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
761:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if((((uint32_t)pData)&1) != 0)
|
|
|
ARM GAS /tmp/cc7An1gz.s page 17
|
|
|
|
|
|
|
|
|
762:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
763:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
764:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
765:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
766:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
767:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
768:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_LOCK(huart);
|
|
|
769:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
770:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
|
|
|
771:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
|
|
|
772:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
773:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Init tickstart for timeout managment*/
|
|
|
774:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tickstart = HAL_GetTick();
|
|
|
775:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
776:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferSize = Size;
|
|
|
777:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = Size;
|
|
|
778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
779:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */
|
|
|
780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_MASK_COMPUTATION(huart);
|
|
|
781:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uhMask = huart->Mask;
|
|
|
782:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
783:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* as long as data have to be received */
|
|
|
784:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** while(huart->RxXferCount > 0U)
|
|
|
785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
786:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount--;
|
|
|
787:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK)
|
|
|
788:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
789:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_TIMEOUT;
|
|
|
790:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
791:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE
|
|
|
792:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
793:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tmp = (uint16_t*) pData ;
|
|
|
794:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** *tmp = (uint16_t)(huart->Instance->RDR & uhMask);
|
|
|
795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** pData +=2U;
|
|
|
796:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
797:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
798:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
799:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** *pData++ = (uint8_t)(huart->Instance->RDR & (uint8_t)uhMask);
|
|
|
800:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
801:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
802:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
803:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
|
|
|
804:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
805:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
806:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Unlocked */
|
|
|
807:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UNLOCK(huart);
|
|
|
808:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
809:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
810:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
811:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
812:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
813:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_BUSY;
|
|
|
814:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
815:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
816:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
817:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
818:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Send an amount of data in interrupt mode.
|
|
|
ARM GAS /tmp/cc7An1gz.s page 18
|
|
|
|
|
|
|
|
|
819:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
820:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param pData: pointer to data buffer.
|
|
|
821:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param Size: amount of data to be sent.
|
|
|
822:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
|
|
|
823:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * address of user data buffer containing data to be sent, should be aligned on a half wor
|
|
|
824:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * (as sent data will be handled using u16 pointer cast). Depending on compilation chain,
|
|
|
825:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required to ensure
|
|
|
826:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
827:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
828:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
|
|
|
829:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
144 .loc 1 829 0
|
|
|
145 .cfi_startproc
|
|
|
146 @ args = 0, pretend = 0, frame = 0
|
|
|
147 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
148 .LVL7:
|
|
|
149 0000 10B5 push {r4, lr}
|
|
|
150 .LCFI1:
|
|
|
151 .cfi_def_cfa_offset 8
|
|
|
152 .cfi_offset 4, -8
|
|
|
153 .cfi_offset 14, -4
|
|
|
830:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
|
|
|
831:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->gState == HAL_UART_STATE_READY)
|
|
|
154 .loc 1 831 0
|
|
|
155 0002 6923 movs r3, #105
|
|
|
156 0004 C35C ldrb r3, [r0, r3]
|
|
|
157 0006 202B cmp r3, #32
|
|
|
158 0008 26D1 bne .L9
|
|
|
832:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
833:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if((pData == NULL ) || (Size == 0U))
|
|
|
159 .loc 1 833 0
|
|
|
160 000a 0029 cmp r1, #0
|
|
|
161 000c 26D0 beq .L10
|
|
|
162 .loc 1 833 0 is_stmt 0 discriminator 1
|
|
|
163 000e 002A cmp r2, #0
|
|
|
164 0010 26D0 beq .L11
|
|
|
834:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
835:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
836:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
837:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
838:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input paramter
|
|
|
839:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** should be aligned on a u16 frontier, as data to be filled into TDR will be
|
|
|
840:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** handled through a u16 cast. */
|
|
|
841:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
|
|
|
165 .loc 1 841 0 is_stmt 1
|
|
|
166 0012 8023 movs r3, #128
|
|
|
167 0014 5B01 lsls r3, r3, #5
|
|
|
168 0016 8468 ldr r4, [r0, #8]
|
|
|
169 0018 9C42 cmp r4, r3
|
|
|
170 001a 16D0 beq .L14
|
|
|
171 .L8:
|
|
|
842:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
843:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if((((uint32_t)pData)&1) != 0)
|
|
|
844:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
845:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
846:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
847:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
ARM GAS /tmp/cc7An1gz.s page 19
|
|
|
|
|
|
|
|
|
848:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
849:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
850:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_LOCK(huart);
|
|
|
172 .loc 1 850 0
|
|
|
173 001c 6823 movs r3, #104
|
|
|
174 001e C35C ldrb r3, [r0, r3]
|
|
|
175 0020 012B cmp r3, #1
|
|
|
176 0022 1FD0 beq .L13
|
|
|
851:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
852:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->pTxBuffPtr = pData;
|
|
|
177 .loc 1 852 0 discriminator 2
|
|
|
178 0024 C164 str r1, [r0, #76]
|
|
|
853:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferSize = Size;
|
|
|
179 .loc 1 853 0 discriminator 2
|
|
|
180 0026 5023 movs r3, #80
|
|
|
181 0028 C252 strh r2, [r0, r3]
|
|
|
854:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount = Size;
|
|
|
182 .loc 1 854 0 discriminator 2
|
|
|
183 002a 0233 adds r3, r3, #2
|
|
|
184 002c C252 strh r2, [r0, r3]
|
|
|
855:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
856:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
|
|
|
185 .loc 1 856 0 discriminator 2
|
|
|
186 002e 0023 movs r3, #0
|
|
|
187 0030 C366 str r3, [r0, #108]
|
|
|
857:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
|
|
|
188 .loc 1 857 0 discriminator 2
|
|
|
189 0032 6922 movs r2, #105
|
|
|
190 .LVL8:
|
|
|
191 0034 2121 movs r1, #33
|
|
|
192 .LVL9:
|
|
|
193 0036 8154 strb r1, [r0, r2]
|
|
|
858:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
859:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Unlocked */
|
|
|
860:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UNLOCK(huart);
|
|
|
194 .loc 1 860 0 discriminator 2
|
|
|
195 0038 013A subs r2, r2, #1
|
|
|
196 003a 8354 strb r3, [r0, r2]
|
|
|
861:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
862:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the UART Transmit Data Register Empty Interrupt */
|
|
|
863:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TXEIE);
|
|
|
197 .loc 1 863 0 discriminator 2
|
|
|
198 003c 0268 ldr r2, [r0]
|
|
|
199 003e 1368 ldr r3, [r2]
|
|
|
200 0040 5F31 adds r1, r1, #95
|
|
|
201 0042 0B43 orrs r3, r1
|
|
|
202 0044 1360 str r3, [r2]
|
|
|
864:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
865:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
203 .loc 1 865 0 discriminator 2
|
|
|
204 0046 0020 movs r0, #0
|
|
|
205 .LVL10:
|
|
|
206 0048 07E0 b .L7
|
|
|
207 .LVL11:
|
|
|
208 .L14:
|
|
|
841:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
209 .loc 1 841 0 discriminator 1
|
|
|
ARM GAS /tmp/cc7An1gz.s page 20
|
|
|
|
|
|
|
|
|
210 004a 0369 ldr r3, [r0, #16]
|
|
|
211 004c 002B cmp r3, #0
|
|
|
212 004e E5D1 bne .L8
|
|
|
843:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
213 .loc 1 843 0
|
|
|
214 0050 CB07 lsls r3, r1, #31
|
|
|
215 0052 E3D5 bpl .L8
|
|
|
845:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
216 .loc 1 845 0
|
|
|
217 0054 0120 movs r0, #1
|
|
|
218 .LVL12:
|
|
|
219 0056 00E0 b .L7
|
|
|
220 .LVL13:
|
|
|
221 .L9:
|
|
|
866:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
867:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
868:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
869:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_BUSY;
|
|
|
222 .loc 1 869 0
|
|
|
223 0058 0220 movs r0, #2
|
|
|
224 .LVL14:
|
|
|
225 .L7:
|
|
|
870:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
871:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
226 .loc 1 871 0
|
|
|
227 @ sp needed
|
|
|
228 005a 10BD pop {r4, pc}
|
|
|
229 .LVL15:
|
|
|
230 .L10:
|
|
|
835:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
231 .loc 1 835 0
|
|
|
232 005c 0120 movs r0, #1
|
|
|
233 .LVL16:
|
|
|
234 005e FCE7 b .L7
|
|
|
235 .LVL17:
|
|
|
236 .L11:
|
|
|
237 0060 0120 movs r0, #1
|
|
|
238 .LVL18:
|
|
|
239 0062 FAE7 b .L7
|
|
|
240 .LVL19:
|
|
|
241 .L13:
|
|
|
850:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
242 .loc 1 850 0
|
|
|
243 0064 0220 movs r0, #2
|
|
|
244 .LVL20:
|
|
|
245 0066 F8E7 b .L7
|
|
|
246 .cfi_endproc
|
|
|
247 .LFE48:
|
|
|
249 .section .text.HAL_UART_Receive_IT,"ax",%progbits
|
|
|
250 .align 1
|
|
|
251 .global HAL_UART_Receive_IT
|
|
|
252 .syntax unified
|
|
|
253 .code 16
|
|
|
254 .thumb_func
|
|
|
255 .fpu softvfp
|
|
|
257 HAL_UART_Receive_IT:
|
|
|
258 .LFB49:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 21
|
|
|
|
|
|
|
|
|
872:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
873:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
874:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode.
|
|
|
875:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
876:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param pData: pointer to data buffer.
|
|
|
877:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param Size: amount of data to be received.
|
|
|
878:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
|
|
|
879:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * address of user data buffer containing data to be sent, should be aligned on a half wor
|
|
|
880:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * (as sent data will be handled using u16 pointer cast). Depending on compilation chain,
|
|
|
881:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required to ensure
|
|
|
882:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
883:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
884:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
|
|
|
885:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
259 .loc 1 885 0
|
|
|
260 .cfi_startproc
|
|
|
261 @ args = 0, pretend = 0, frame = 0
|
|
|
262 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
263 .LVL21:
|
|
|
264 0000 30B5 push {r4, r5, lr}
|
|
|
265 .LCFI2:
|
|
|
266 .cfi_def_cfa_offset 12
|
|
|
267 .cfi_offset 4, -12
|
|
|
268 .cfi_offset 5, -8
|
|
|
269 .cfi_offset 14, -4
|
|
|
886:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
|
|
|
887:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->RxState == HAL_UART_STATE_READY)
|
|
|
270 .loc 1 887 0
|
|
|
271 0002 6A23 movs r3, #106
|
|
|
272 0004 C35C ldrb r3, [r0, r3]
|
|
|
273 0006 202B cmp r3, #32
|
|
|
274 0008 5AD1 bne .L24
|
|
|
888:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
889:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if((pData == NULL ) || (Size == 0U))
|
|
|
275 .loc 1 889 0
|
|
|
276 000a 0029 cmp r1, #0
|
|
|
277 000c 5AD0 beq .L25
|
|
|
278 .loc 1 889 0 is_stmt 0 discriminator 1
|
|
|
279 000e 002A cmp r2, #0
|
|
|
280 0010 5AD0 beq .L26
|
|
|
890:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
891:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
892:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
893:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
894:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input paramter
|
|
|
895:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** should be aligned on a u16 frontier, as data to be received from RDR will be
|
|
|
896:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** handled through a u16 cast. */
|
|
|
897:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
|
|
|
281 .loc 1 897 0 is_stmt 1
|
|
|
282 0012 8368 ldr r3, [r0, #8]
|
|
|
283 0014 8024 movs r4, #128
|
|
|
284 0016 6401 lsls r4, r4, #5
|
|
|
285 0018 A342 cmp r3, r4
|
|
|
286 001a 18D0 beq .L29
|
|
|
287 .L17:
|
|
|
898:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
899:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if((((uint32_t)pData)&1) != 0)
|
|
|
ARM GAS /tmp/cc7An1gz.s page 22
|
|
|
|
|
|
|
|
|
900:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
901:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
902:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
903:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
904:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
905:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
906:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_LOCK(huart);
|
|
|
288 .loc 1 906 0
|
|
|
289 001c 6824 movs r4, #104
|
|
|
290 001e 045D ldrb r4, [r0, r4]
|
|
|
291 0020 012C cmp r4, #1
|
|
|
292 0022 53D0 beq .L28
|
|
|
293 .loc 1 906 0 is_stmt 0 discriminator 2
|
|
|
294 0024 6824 movs r4, #104
|
|
|
295 0026 0125 movs r5, #1
|
|
|
296 0028 0555 strb r5, [r0, r4]
|
|
|
907:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
908:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->pRxBuffPtr = pData;
|
|
|
297 .loc 1 908 0 is_stmt 1 discriminator 2
|
|
|
298 002a 4165 str r1, [r0, #84]
|
|
|
909:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferSize = Size;
|
|
|
299 .loc 1 909 0 discriminator 2
|
|
|
300 002c 5821 movs r1, #88
|
|
|
301 .LVL22:
|
|
|
302 002e 4252 strh r2, [r0, r1]
|
|
|
303 .LVL23:
|
|
|
910:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = Size;
|
|
|
304 .loc 1 910 0 discriminator 2
|
|
|
305 0030 0231 adds r1, r1, #2
|
|
|
306 0032 4252 strh r2, [r0, r1]
|
|
|
911:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
912:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */
|
|
|
913:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_MASK_COMPUTATION(huart);
|
|
|
307 .loc 1 913 0 discriminator 2
|
|
|
308 0034 8022 movs r2, #128
|
|
|
309 .LVL24:
|
|
|
310 0036 5201 lsls r2, r2, #5
|
|
|
311 0038 9342 cmp r3, r2
|
|
|
312 003a 0FD0 beq .L30
|
|
|
313 003c 002B cmp r3, #0
|
|
|
314 003e 1CD1 bne .L21
|
|
|
315 .loc 1 913 0 is_stmt 0 discriminator 5
|
|
|
316 0040 0369 ldr r3, [r0, #16]
|
|
|
317 0042 002B cmp r3, #0
|
|
|
318 0044 15D1 bne .L22
|
|
|
319 .loc 1 913 0 discriminator 7
|
|
|
320 0046 5C33 adds r3, r3, #92
|
|
|
321 0048 FF22 movs r2, #255
|
|
|
322 004a C252 strh r2, [r0, r3]
|
|
|
323 .LVL25:
|
|
|
324 004c 19E0 b .L20
|
|
|
325 .LVL26:
|
|
|
326 .L29:
|
|
|
897:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
327 .loc 1 897 0 is_stmt 1 discriminator 1
|
|
|
328 004e 0469 ldr r4, [r0, #16]
|
|
|
329 0050 002C cmp r4, #0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 23
|
|
|
|
|
|
|
|
|
330 0052 E3D1 bne .L17
|
|
|
899:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
331 .loc 1 899 0
|
|
|
332 0054 CC07 lsls r4, r1, #31
|
|
|
333 0056 E1D5 bpl .L17
|
|
|
901:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
334 .loc 1 901 0
|
|
|
335 0058 0120 movs r0, #1
|
|
|
336 .LVL27:
|
|
|
337 005a 32E0 b .L16
|
|
|
338 .LVL28:
|
|
|
339 .L30:
|
|
|
340 .loc 1 913 0 discriminator 1
|
|
|
341 005c 0369 ldr r3, [r0, #16]
|
|
|
342 005e 002B cmp r3, #0
|
|
|
343 0060 03D1 bne .L19
|
|
|
344 .loc 1 913 0 is_stmt 0 discriminator 3
|
|
|
345 0062 5C33 adds r3, r3, #92
|
|
|
346 0064 1A4A ldr r2, .L32
|
|
|
347 0066 C252 strh r2, [r0, r3]
|
|
|
348 .LVL29:
|
|
|
349 0068 0BE0 b .L20
|
|
|
350 .LVL30:
|
|
|
351 .L19:
|
|
|
352 .loc 1 913 0 discriminator 4
|
|
|
353 006a 5C23 movs r3, #92
|
|
|
354 006c FF22 movs r2, #255
|
|
|
355 006e C252 strh r2, [r0, r3]
|
|
|
356 .LVL31:
|
|
|
357 0070 07E0 b .L20
|
|
|
358 .LVL32:
|
|
|
359 .L22:
|
|
|
360 .loc 1 913 0 discriminator 8
|
|
|
361 0072 5C23 movs r3, #92
|
|
|
362 0074 7F22 movs r2, #127
|
|
|
363 0076 C252 strh r2, [r0, r3]
|
|
|
364 .LVL33:
|
|
|
365 0078 03E0 b .L20
|
|
|
366 .LVL34:
|
|
|
367 .L21:
|
|
|
368 .loc 1 913 0 discriminator 6
|
|
|
369 007a 8022 movs r2, #128
|
|
|
370 007c 5205 lsls r2, r2, #21
|
|
|
371 007e 9342 cmp r3, r2
|
|
|
372 0080 13D0 beq .L31
|
|
|
373 .LVL35:
|
|
|
374 .L20:
|
|
|
914:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
915:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
|
|
|
375 .loc 1 915 0 is_stmt 1
|
|
|
376 0082 0023 movs r3, #0
|
|
|
377 0084 C366 str r3, [r0, #108]
|
|
|
916:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
|
|
|
378 .loc 1 916 0
|
|
|
379 0086 6A22 movs r2, #106
|
|
|
380 0088 2221 movs r1, #34
|
|
|
381 008a 8154 strb r1, [r0, r2]
|
|
|
ARM GAS /tmp/cc7An1gz.s page 24
|
|
|
|
|
|
|
|
|
917:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
918:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Unlocked */
|
|
|
919:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UNLOCK(huart);
|
|
|
382 .loc 1 919 0
|
|
|
383 008c 023A subs r2, r2, #2
|
|
|
384 008e 8354 strb r3, [r0, r2]
|
|
|
920:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
921:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
|
|
|
922:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
385 .loc 1 922 0
|
|
|
386 0090 0268 ldr r2, [r0]
|
|
|
387 0092 9368 ldr r3, [r2, #8]
|
|
|
388 0094 2139 subs r1, r1, #33
|
|
|
389 0096 0B43 orrs r3, r1
|
|
|
390 0098 9360 str r3, [r2, #8]
|
|
|
923:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
924:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the UART Parity Error and Data Register not empty Interrupts */
|
|
|
925:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE);
|
|
|
391 .loc 1 925 0
|
|
|
392 009a 0268 ldr r2, [r0]
|
|
|
393 009c 1168 ldr r1, [r2]
|
|
|
394 009e 9023 movs r3, #144
|
|
|
395 00a0 5B00 lsls r3, r3, #1
|
|
|
396 00a2 0B43 orrs r3, r1
|
|
|
397 00a4 1360 str r3, [r2]
|
|
|
926:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
927:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
398 .loc 1 927 0
|
|
|
399 00a6 0020 movs r0, #0
|
|
|
400 .LVL36:
|
|
|
401 00a8 0BE0 b .L16
|
|
|
402 .LVL37:
|
|
|
403 .L31:
|
|
|
913:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
404 .loc 1 913 0 discriminator 9
|
|
|
405 00aa 0369 ldr r3, [r0, #16]
|
|
|
406 00ac 002B cmp r3, #0
|
|
|
407 00ae 03D1 bne .L23
|
|
|
913:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
408 .loc 1 913 0 is_stmt 0 discriminator 10
|
|
|
409 00b0 5C33 adds r3, r3, #92
|
|
|
410 00b2 7F22 movs r2, #127
|
|
|
411 00b4 C252 strh r2, [r0, r3]
|
|
|
412 .LVL38:
|
|
|
413 00b6 E4E7 b .L20
|
|
|
414 .LVL39:
|
|
|
415 .L23:
|
|
|
913:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
416 .loc 1 913 0 discriminator 11
|
|
|
417 00b8 5C23 movs r3, #92
|
|
|
418 00ba 3F22 movs r2, #63
|
|
|
419 00bc C252 strh r2, [r0, r3]
|
|
|
420 .LVL40:
|
|
|
421 00be E0E7 b .L20
|
|
|
422 .LVL41:
|
|
|
423 .L24:
|
|
|
928:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
ARM GAS /tmp/cc7An1gz.s page 25
|
|
|
|
|
|
|
|
|
929:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
930:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
931:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_BUSY;
|
|
|
424 .loc 1 931 0 is_stmt 1
|
|
|
425 00c0 0220 movs r0, #2
|
|
|
426 .LVL42:
|
|
|
427 .L16:
|
|
|
932:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
933:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
428 .loc 1 933 0
|
|
|
429 @ sp needed
|
|
|
430 00c2 30BD pop {r4, r5, pc}
|
|
|
431 .LVL43:
|
|
|
432 .L25:
|
|
|
891:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
433 .loc 1 891 0
|
|
|
434 00c4 0120 movs r0, #1
|
|
|
435 .LVL44:
|
|
|
436 00c6 FCE7 b .L16
|
|
|
437 .LVL45:
|
|
|
438 .L26:
|
|
|
439 00c8 0120 movs r0, #1
|
|
|
440 .LVL46:
|
|
|
441 00ca FAE7 b .L16
|
|
|
442 .LVL47:
|
|
|
443 .L28:
|
|
|
906:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
444 .loc 1 906 0
|
|
|
445 00cc 0220 movs r0, #2
|
|
|
446 .LVL48:
|
|
|
447 00ce F8E7 b .L16
|
|
|
448 .L33:
|
|
|
449 .align 2
|
|
|
450 .L32:
|
|
|
451 00d0 FF010000 .word 511
|
|
|
452 .cfi_endproc
|
|
|
453 .LFE49:
|
|
|
455 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits
|
|
|
456 .align 1
|
|
|
457 .global HAL_UART_Transmit_DMA
|
|
|
458 .syntax unified
|
|
|
459 .code 16
|
|
|
460 .thumb_func
|
|
|
461 .fpu softvfp
|
|
|
463 HAL_UART_Transmit_DMA:
|
|
|
464 .LFB50:
|
|
|
934:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
935:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
936:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Send an amount of data in DMA mode.
|
|
|
937:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
938:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param pData: pointer to data buffer.
|
|
|
939:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param Size: amount of data to be sent.
|
|
|
940:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
|
|
|
941:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * address of user data buffer containing data to be sent, should be aligned on a half wor
|
|
|
942:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * (as sent data will be handled using u16 pointer cast). Depending on compilation chain,
|
|
|
943:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required to ensure
|
|
|
944:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
ARM GAS /tmp/cc7An1gz.s page 26
|
|
|
|
|
|
|
|
|
945:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
946:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
|
|
|
947:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
465 .loc 1 947 0
|
|
|
466 .cfi_startproc
|
|
|
467 @ args = 0, pretend = 0, frame = 0
|
|
|
468 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
469 .LVL49:
|
|
|
470 0000 70B5 push {r4, r5, r6, lr}
|
|
|
471 .LCFI3:
|
|
|
472 .cfi_def_cfa_offset 16
|
|
|
473 .cfi_offset 4, -16
|
|
|
474 .cfi_offset 5, -12
|
|
|
475 .cfi_offset 6, -8
|
|
|
476 .cfi_offset 14, -4
|
|
|
477 0002 0400 movs r4, r0
|
|
|
948:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
|
|
|
949:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->gState == HAL_UART_STATE_READY)
|
|
|
478 .loc 1 949 0
|
|
|
479 0004 6920 movs r0, #105
|
|
|
480 .LVL50:
|
|
|
481 0006 205C ldrb r0, [r4, r0]
|
|
|
482 0008 2028 cmp r0, #32
|
|
|
483 000a 3ED1 bne .L37
|
|
|
950:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
951:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if((pData == NULL ) || (Size == 0U))
|
|
|
484 .loc 1 951 0
|
|
|
485 000c 0029 cmp r1, #0
|
|
|
486 000e 3ED0 beq .L38
|
|
|
487 .loc 1 951 0 is_stmt 0 discriminator 1
|
|
|
488 0010 002A cmp r2, #0
|
|
|
489 0012 3ED0 beq .L39
|
|
|
952:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
953:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
954:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
955:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
956:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input paramter
|
|
|
957:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** should be aligned on a u16 frontier, as data copy into TDR will be
|
|
|
958:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** handled by DMA from a u16 frontier. */
|
|
|
959:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
|
|
|
490 .loc 1 959 0 is_stmt 1
|
|
|
491 0014 8023 movs r3, #128
|
|
|
492 0016 5B01 lsls r3, r3, #5
|
|
|
493 0018 A068 ldr r0, [r4, #8]
|
|
|
494 001a 9842 cmp r0, r3
|
|
|
495 001c 2ED0 beq .L42
|
|
|
496 .L36:
|
|
|
960:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
961:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if((((uint32_t)pData)&1) != 0)
|
|
|
962:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
963:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
964:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
965:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
966:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
967:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
968:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_LOCK(huart);
|
|
|
497 .loc 1 968 0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 27
|
|
|
|
|
|
|
|
|
498 001e 6823 movs r3, #104
|
|
|
499 0020 E35C ldrb r3, [r4, r3]
|
|
|
500 0022 012B cmp r3, #1
|
|
|
501 0024 37D0 beq .L41
|
|
|
502 .loc 1 968 0 is_stmt 0 discriminator 2
|
|
|
503 0026 6826 movs r6, #104
|
|
|
504 0028 0123 movs r3, #1
|
|
|
505 002a A355 strb r3, [r4, r6]
|
|
|
969:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
970:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->pTxBuffPtr = pData;
|
|
|
506 .loc 1 970 0 is_stmt 1 discriminator 2
|
|
|
507 002c E164 str r1, [r4, #76]
|
|
|
971:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferSize = Size;
|
|
|
508 .loc 1 971 0 discriminator 2
|
|
|
509 002e 4F33 adds r3, r3, #79
|
|
|
510 0030 E252 strh r2, [r4, r3]
|
|
|
972:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount = Size;
|
|
|
511 .loc 1 972 0 discriminator 2
|
|
|
512 0032 0233 adds r3, r3, #2
|
|
|
513 0034 E252 strh r2, [r4, r3]
|
|
|
973:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
974:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
|
|
|
514 .loc 1 974 0 discriminator 2
|
|
|
515 0036 0025 movs r5, #0
|
|
|
516 0038 E566 str r5, [r4, #108]
|
|
|
975:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
|
|
|
517 .loc 1 975 0 discriminator 2
|
|
|
518 003a 1733 adds r3, r3, #23
|
|
|
519 003c 2121 movs r1, #33
|
|
|
520 .LVL51:
|
|
|
521 003e E154 strb r1, [r4, r3]
|
|
|
976:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
977:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
|
|
|
978:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt;
|
|
|
522 .loc 1 978 0 discriminator 2
|
|
|
523 0040 236E ldr r3, [r4, #96]
|
|
|
524 0042 1649 ldr r1, .L43
|
|
|
525 0044 D962 str r1, [r3, #44]
|
|
|
979:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
980:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
|
|
|
981:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt;
|
|
|
526 .loc 1 981 0 discriminator 2
|
|
|
527 0046 236E ldr r3, [r4, #96]
|
|
|
528 0048 1549 ldr r1, .L43+4
|
|
|
529 004a 1963 str r1, [r3, #48]
|
|
|
982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
983:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the DMA error callback */
|
|
|
984:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError;
|
|
|
530 .loc 1 984 0 discriminator 2
|
|
|
531 004c 236E ldr r3, [r4, #96]
|
|
|
532 004e 1549 ldr r1, .L43+8
|
|
|
533 0050 5963 str r1, [r3, #52]
|
|
|
985:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
986:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the DMA abort callback */
|
|
|
987:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
|
|
|
534 .loc 1 987 0 discriminator 2
|
|
|
535 0052 236E ldr r3, [r4, #96]
|
|
|
ARM GAS /tmp/cc7An1gz.s page 28
|
|
|
|
|
|
|
|
|
536 0054 9D63 str r5, [r3, #56]
|
|
|
988:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
989:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the UART transmit DMA channel */
|
|
|
990:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance->TDR, S
|
|
|
537 .loc 1 990 0 discriminator 2
|
|
|
538 0056 2168 ldr r1, [r4]
|
|
|
539 0058 2831 adds r1, r1, #40
|
|
|
540 005a 1300 movs r3, r2
|
|
|
541 005c 0A00 movs r2, r1
|
|
|
542 .LVL52:
|
|
|
543 005e E16C ldr r1, [r4, #76]
|
|
|
544 0060 206E ldr r0, [r4, #96]
|
|
|
545 0062 FFF7FEFF bl HAL_DMA_Start_IT
|
|
|
546 .LVL53:
|
|
|
991:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
992:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Clear the TC flag in the ICR register */
|
|
|
993:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF);
|
|
|
547 .loc 1 993 0 discriminator 2
|
|
|
548 0066 2368 ldr r3, [r4]
|
|
|
549 0068 4022 movs r2, #64
|
|
|
550 006a 1A62 str r2, [r3, #32]
|
|
|
994:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
995:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Unlocked */
|
|
|
996:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UNLOCK(huart);
|
|
|
551 .loc 1 996 0 discriminator 2
|
|
|
552 006c A555 strb r5, [r4, r6]
|
|
|
997:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
998:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit
|
|
|
999:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** in the UART CR3 register */
|
|
|
1000:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
|
|
|
553 .loc 1 1000 0 discriminator 2
|
|
|
554 006e 2268 ldr r2, [r4]
|
|
|
555 0070 9368 ldr r3, [r2, #8]
|
|
|
556 0072 8021 movs r1, #128
|
|
|
557 0074 0B43 orrs r3, r1
|
|
|
558 0076 9360 str r3, [r2, #8]
|
|
|
1001:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1002:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
559 .loc 1 1002 0 discriminator 2
|
|
|
560 0078 0020 movs r0, #0
|
|
|
561 007a 07E0 b .L35
|
|
|
562 .LVL54:
|
|
|
563 .L42:
|
|
|
959:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
564 .loc 1 959 0 discriminator 1
|
|
|
565 007c 2369 ldr r3, [r4, #16]
|
|
|
566 007e 002B cmp r3, #0
|
|
|
567 0080 CDD1 bne .L36
|
|
|
961:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
568 .loc 1 961 0
|
|
|
569 0082 CB07 lsls r3, r1, #31
|
|
|
570 0084 CBD5 bpl .L36
|
|
|
963:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
571 .loc 1 963 0
|
|
|
572 0086 0120 movs r0, #1
|
|
|
573 0088 00E0 b .L35
|
|
|
574 .L37:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 29
|
|
|
|
|
|
|
|
|
1003:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1004:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
1005:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1006:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_BUSY;
|
|
|
575 .loc 1 1006 0
|
|
|
576 008a 0220 movs r0, #2
|
|
|
577 .LVL55:
|
|
|
578 .L35:
|
|
|
1007:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1008:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
579 .loc 1 1008 0
|
|
|
580 @ sp needed
|
|
|
581 .LVL56:
|
|
|
582 008c 70BD pop {r4, r5, r6, pc}
|
|
|
583 .LVL57:
|
|
|
584 .L38:
|
|
|
953:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
585 .loc 1 953 0
|
|
|
586 008e 0120 movs r0, #1
|
|
|
587 0090 FCE7 b .L35
|
|
|
588 .L39:
|
|
|
589 0092 0120 movs r0, #1
|
|
|
590 0094 FAE7 b .L35
|
|
|
591 .L41:
|
|
|
968:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
592 .loc 1 968 0
|
|
|
593 0096 0220 movs r0, #2
|
|
|
594 0098 F8E7 b .L35
|
|
|
595 .L44:
|
|
|
596 009a C046 .align 2
|
|
|
597 .L43:
|
|
|
598 009c 00000000 .word UART_DMATransmitCplt
|
|
|
599 00a0 00000000 .word UART_DMATxHalfCplt
|
|
|
600 00a4 00000000 .word UART_DMAError
|
|
|
601 .cfi_endproc
|
|
|
602 .LFE50:
|
|
|
604 .section .text.HAL_UART_Receive_DMA,"ax",%progbits
|
|
|
605 .align 1
|
|
|
606 .global HAL_UART_Receive_DMA
|
|
|
607 .syntax unified
|
|
|
608 .code 16
|
|
|
609 .thumb_func
|
|
|
610 .fpu softvfp
|
|
|
612 HAL_UART_Receive_DMA:
|
|
|
613 .LFB51:
|
|
|
1009:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1010:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1011:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode.
|
|
|
1012:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
1013:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param pData: pointer to data buffer.
|
|
|
1014:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param Size: amount of data to be received.
|
|
|
1015:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1) the data received contain the parity bit.
|
|
|
1016:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
|
|
|
1017:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * address of user data buffer containing data to be sent, should be aligned on a half wor
|
|
|
1018:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * (as sent data will be handled using u16 pointer cast). Depending on compilation chain,
|
|
|
1019:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required to ensure
|
|
|
1020:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
ARM GAS /tmp/cc7An1gz.s page 30
|
|
|
|
|
|
|
|
|
1021:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1022:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
|
|
|
1023:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
614 .loc 1 1023 0
|
|
|
615 .cfi_startproc
|
|
|
616 @ args = 0, pretend = 0, frame = 0
|
|
|
617 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
618 .LVL58:
|
|
|
619 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
|
|
|
620 .LCFI4:
|
|
|
621 .cfi_def_cfa_offset 24
|
|
|
622 .cfi_offset 3, -24
|
|
|
623 .cfi_offset 4, -20
|
|
|
624 .cfi_offset 5, -16
|
|
|
625 .cfi_offset 6, -12
|
|
|
626 .cfi_offset 7, -8
|
|
|
627 .cfi_offset 14, -4
|
|
|
628 0002 0400 movs r4, r0
|
|
|
1024:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
|
|
|
1025:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->RxState == HAL_UART_STATE_READY)
|
|
|
629 .loc 1 1025 0
|
|
|
630 0004 6A20 movs r0, #106
|
|
|
631 .LVL59:
|
|
|
632 0006 205C ldrb r0, [r4, r0]
|
|
|
633 0008 2028 cmp r0, #32
|
|
|
634 000a 42D1 bne .L48
|
|
|
1026:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1027:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if((pData == NULL ) || (Size == 0U))
|
|
|
635 .loc 1 1027 0
|
|
|
636 000c 0029 cmp r1, #0
|
|
|
637 000e 42D0 beq .L49
|
|
|
638 .loc 1 1027 0 is_stmt 0 discriminator 1
|
|
|
639 0010 002A cmp r2, #0
|
|
|
640 0012 42D0 beq .L50
|
|
|
1028:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1029:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
1030:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1031:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1032:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input paramter
|
|
|
1033:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** should be aligned on a u16 frontier, as data copy from RDR will be
|
|
|
1034:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** handled by DMA from a u16 frontier. */
|
|
|
1035:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
|
|
|
641 .loc 1 1035 0 is_stmt 1
|
|
|
642 0014 8023 movs r3, #128
|
|
|
643 0016 5B01 lsls r3, r3, #5
|
|
|
644 0018 A068 ldr r0, [r4, #8]
|
|
|
645 001a 9842 cmp r0, r3
|
|
|
646 001c 32D0 beq .L53
|
|
|
647 .L47:
|
|
|
1036:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1037:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if((((uint32_t)pData)&1) != 0)
|
|
|
1038:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1039:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_ERROR;
|
|
|
1040:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1041:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1042:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1043:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
ARM GAS /tmp/cc7An1gz.s page 31
|
|
|
|
|
|
|
|
|
1044:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_LOCK(huart);
|
|
|
648 .loc 1 1044 0
|
|
|
649 001e 6823 movs r3, #104
|
|
|
650 0020 E35C ldrb r3, [r4, r3]
|
|
|
651 0022 012B cmp r3, #1
|
|
|
652 0024 3BD0 beq .L52
|
|
|
653 .loc 1 1044 0 is_stmt 0 discriminator 2
|
|
|
654 0026 6827 movs r7, #104
|
|
|
655 0028 0126 movs r6, #1
|
|
|
656 002a E655 strb r6, [r4, r7]
|
|
|
1045:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1046:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->pRxBuffPtr = pData;
|
|
|
657 .loc 1 1046 0 is_stmt 1 discriminator 2
|
|
|
658 002c 6165 str r1, [r4, #84]
|
|
|
1047:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferSize = Size;
|
|
|
659 .loc 1 1047 0 discriminator 2
|
|
|
660 002e 5823 movs r3, #88
|
|
|
661 0030 E252 strh r2, [r4, r3]
|
|
|
1048:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1049:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
|
|
|
662 .loc 1 1049 0 discriminator 2
|
|
|
663 0032 0025 movs r5, #0
|
|
|
664 0034 E566 str r5, [r4, #108]
|
|
|
1050:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
|
|
|
665 .loc 1 1050 0 discriminator 2
|
|
|
666 0036 1233 adds r3, r3, #18
|
|
|
667 0038 2221 movs r1, #34
|
|
|
668 .LVL60:
|
|
|
669 003a E154 strb r1, [r4, r3]
|
|
|
1051:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1052:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
|
|
|
1053:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt;
|
|
|
670 .loc 1 1053 0 discriminator 2
|
|
|
671 003c 636E ldr r3, [r4, #100]
|
|
|
672 003e 1949 ldr r1, .L54
|
|
|
673 0040 D962 str r1, [r3, #44]
|
|
|
1054:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1055:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
|
|
|
1056:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt;
|
|
|
674 .loc 1 1056 0 discriminator 2
|
|
|
675 0042 636E ldr r3, [r4, #100]
|
|
|
676 0044 1849 ldr r1, .L54+4
|
|
|
677 0046 1963 str r1, [r3, #48]
|
|
|
1057:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1058:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the DMA error callback */
|
|
|
1059:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError;
|
|
|
678 .loc 1 1059 0 discriminator 2
|
|
|
679 0048 636E ldr r3, [r4, #100]
|
|
|
680 004a 1849 ldr r1, .L54+8
|
|
|
681 004c 5963 str r1, [r3, #52]
|
|
|
1060:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1061:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the DMA abort callback */
|
|
|
1062:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
|
|
|
682 .loc 1 1062 0 discriminator 2
|
|
|
683 004e 636E ldr r3, [r4, #100]
|
|
|
684 0050 9D63 str r5, [r3, #56]
|
|
|
1063:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
ARM GAS /tmp/cc7An1gz.s page 32
|
|
|
|
|
|
|
|
|
1064:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the DMA channel */
|
|
|
1065:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->RDR, (uint32_t)huart->pRxBuffPtr, S
|
|
|
685 .loc 1 1065 0 discriminator 2
|
|
|
686 0052 2168 ldr r1, [r4]
|
|
|
687 0054 2431 adds r1, r1, #36
|
|
|
688 0056 1300 movs r3, r2
|
|
|
689 0058 626D ldr r2, [r4, #84]
|
|
|
690 .LVL61:
|
|
|
691 005a 606E ldr r0, [r4, #100]
|
|
|
692 005c FFF7FEFF bl HAL_DMA_Start_IT
|
|
|
693 .LVL62:
|
|
|
1066:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1067:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Unlocked */
|
|
|
1068:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UNLOCK(huart);
|
|
|
694 .loc 1 1068 0 discriminator 2
|
|
|
695 0060 E555 strb r5, [r4, r7]
|
|
|
1069:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1070:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */
|
|
|
1071:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
|
|
|
696 .loc 1 1071 0 discriminator 2
|
|
|
697 0062 2268 ldr r2, [r4]
|
|
|
698 0064 1168 ldr r1, [r2]
|
|
|
699 0066 8023 movs r3, #128
|
|
|
700 0068 5B00 lsls r3, r3, #1
|
|
|
701 006a 0B43 orrs r3, r1
|
|
|
702 006c 1360 str r3, [r2]
|
|
|
1072:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1073:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
|
|
|
1074:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
703 .loc 1 1074 0 discriminator 2
|
|
|
704 006e 2268 ldr r2, [r4]
|
|
|
705 0070 9368 ldr r3, [r2, #8]
|
|
|
706 0072 3343 orrs r3, r6
|
|
|
707 0074 9360 str r3, [r2, #8]
|
|
|
1075:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1076:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit
|
|
|
1077:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** in the UART CR3 register */
|
|
|
1078:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
|
|
|
708 .loc 1 1078 0 discriminator 2
|
|
|
709 0076 2268 ldr r2, [r4]
|
|
|
710 0078 9368 ldr r3, [r2, #8]
|
|
|
711 007a 4021 movs r1, #64
|
|
|
712 007c 0B43 orrs r3, r1
|
|
|
713 007e 9360 str r3, [r2, #8]
|
|
|
1079:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1080:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
714 .loc 1 1080 0 discriminator 2
|
|
|
715 0080 0020 movs r0, #0
|
|
|
716 0082 07E0 b .L46
|
|
|
717 .LVL63:
|
|
|
718 .L53:
|
|
|
1035:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
719 .loc 1 1035 0 discriminator 1
|
|
|
720 0084 2369 ldr r3, [r4, #16]
|
|
|
721 0086 002B cmp r3, #0
|
|
|
722 0088 C9D1 bne .L47
|
|
|
1037:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
ARM GAS /tmp/cc7An1gz.s page 33
|
|
|
|
|
|
|
|
|
723 .loc 1 1037 0
|
|
|
724 008a CB07 lsls r3, r1, #31
|
|
|
725 008c C7D5 bpl .L47
|
|
|
1039:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
726 .loc 1 1039 0
|
|
|
727 008e 0120 movs r0, #1
|
|
|
728 0090 00E0 b .L46
|
|
|
729 .L48:
|
|
|
1081:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1082:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
1083:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1084:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_BUSY;
|
|
|
730 .loc 1 1084 0
|
|
|
731 0092 0220 movs r0, #2
|
|
|
732 .LVL64:
|
|
|
733 .L46:
|
|
|
1085:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1086:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
734 .loc 1 1086 0
|
|
|
735 @ sp needed
|
|
|
736 .LVL65:
|
|
|
737 0094 F8BD pop {r3, r4, r5, r6, r7, pc}
|
|
|
738 .LVL66:
|
|
|
739 .L49:
|
|
|
1029:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
740 .loc 1 1029 0
|
|
|
741 0096 0120 movs r0, #1
|
|
|
742 0098 FCE7 b .L46
|
|
|
743 .L50:
|
|
|
744 009a 0120 movs r0, #1
|
|
|
745 009c FAE7 b .L46
|
|
|
746 .L52:
|
|
|
1044:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
747 .loc 1 1044 0
|
|
|
748 009e 0220 movs r0, #2
|
|
|
749 00a0 F8E7 b .L46
|
|
|
750 .L55:
|
|
|
751 00a2 C046 .align 2
|
|
|
752 .L54:
|
|
|
753 00a4 00000000 .word UART_DMAReceiveCplt
|
|
|
754 00a8 00000000 .word UART_DMARxHalfCplt
|
|
|
755 00ac 00000000 .word UART_DMAError
|
|
|
756 .cfi_endproc
|
|
|
757 .LFE51:
|
|
|
759 .section .text.HAL_UART_DMAPause,"ax",%progbits
|
|
|
760 .align 1
|
|
|
761 .global HAL_UART_DMAPause
|
|
|
762 .syntax unified
|
|
|
763 .code 16
|
|
|
764 .thumb_func
|
|
|
765 .fpu softvfp
|
|
|
767 HAL_UART_DMAPause:
|
|
|
768 .LFB52:
|
|
|
1087:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1088:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1089:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Pause the DMA Transfer.
|
|
|
1090:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
ARM GAS /tmp/cc7An1gz.s page 34
|
|
|
|
|
|
|
|
|
1091:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
1092:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1093:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
|
|
|
1094:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
769 .loc 1 1094 0
|
|
|
770 .cfi_startproc
|
|
|
771 @ args = 0, pretend = 0, frame = 0
|
|
|
772 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
773 @ link register save eliminated.
|
|
|
774 .LVL67:
|
|
|
1095:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
1096:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_LOCK(huart);
|
|
|
775 .loc 1 1096 0
|
|
|
776 0000 6823 movs r3, #104
|
|
|
777 0002 C35C ldrb r3, [r0, r3]
|
|
|
778 0004 012B cmp r3, #1
|
|
|
779 0006 2CD0 beq .L60
|
|
|
780 .loc 1 1096 0 is_stmt 0 discriminator 2
|
|
|
781 0008 6823 movs r3, #104
|
|
|
782 000a 0122 movs r2, #1
|
|
|
783 000c C254 strb r2, [r0, r3]
|
|
|
1097:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1098:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) &&
|
|
|
784 .loc 1 1098 0 is_stmt 1 discriminator 2
|
|
|
785 000e 0133 adds r3, r3, #1
|
|
|
786 0010 C35C ldrb r3, [r0, r3]
|
|
|
787 0012 212B cmp r3, #33
|
|
|
788 0014 08D0 beq .L61
|
|
|
789 .L58:
|
|
|
1099:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)))
|
|
|
1100:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the UART DMA Tx request */
|
|
|
1102:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
|
|
|
1103:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1104:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) &&
|
|
|
790 .loc 1 1104 0
|
|
|
791 0016 6A23 movs r3, #106
|
|
|
792 0018 C35C ldrb r3, [r0, r3]
|
|
|
793 001a 222B cmp r3, #34
|
|
|
794 001c 0DD0 beq .L62
|
|
|
795 .L59:
|
|
|
1105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)))
|
|
|
1106:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1107:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
|
|
|
1108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
|
|
|
1109:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
1110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1111:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the UART DMA Rx request */
|
|
|
1112:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
|
|
|
1113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1114:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1115:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Unlocked */
|
|
|
1116:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UNLOCK(huart);
|
|
|
796 .loc 1 1116 0
|
|
|
797 001e 6823 movs r3, #104
|
|
|
798 0020 0022 movs r2, #0
|
|
|
799 0022 C254 strb r2, [r0, r3]
|
|
|
ARM GAS /tmp/cc7An1gz.s page 35
|
|
|
|
|
|
|
|
|
1117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1118:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
800 .loc 1 1118 0
|
|
|
801 0024 0020 movs r0, #0
|
|
|
802 .LVL68:
|
|
|
803 .L57:
|
|
|
1119:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
804 .loc 1 1119 0
|
|
|
805 @ sp needed
|
|
|
806 0026 7047 bx lr
|
|
|
807 .LVL69:
|
|
|
808 .L61:
|
|
|
1099:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
809 .loc 1 1099 0 discriminator 1
|
|
|
810 0028 0368 ldr r3, [r0]
|
|
|
811 002a 9A68 ldr r2, [r3, #8]
|
|
|
1098:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)))
|
|
|
812 .loc 1 1098 0 discriminator 1
|
|
|
813 002c 1206 lsls r2, r2, #24
|
|
|
814 002e F2D5 bpl .L58
|
|
|
1102:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
815 .loc 1 1102 0
|
|
|
816 0030 9A68 ldr r2, [r3, #8]
|
|
|
817 0032 8021 movs r1, #128
|
|
|
818 0034 8A43 bics r2, r1
|
|
|
819 0036 9A60 str r2, [r3, #8]
|
|
|
820 0038 EDE7 b .L58
|
|
|
821 .L62:
|
|
|
1105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
822 .loc 1 1105 0 discriminator 1
|
|
|
823 003a 0368 ldr r3, [r0]
|
|
|
824 003c 9A68 ldr r2, [r3, #8]
|
|
|
1104:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)))
|
|
|
825 .loc 1 1104 0 discriminator 1
|
|
|
826 003e 5206 lsls r2, r2, #25
|
|
|
827 0040 EDD5 bpl .L59
|
|
|
1108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
828 .loc 1 1108 0
|
|
|
829 0042 1A68 ldr r2, [r3]
|
|
|
830 0044 0849 ldr r1, .L63
|
|
|
831 0046 0A40 ands r2, r1
|
|
|
832 0048 1A60 str r2, [r3]
|
|
|
1109:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
833 .loc 1 1109 0
|
|
|
834 004a 0268 ldr r2, [r0]
|
|
|
835 004c 9368 ldr r3, [r2, #8]
|
|
|
836 004e 0331 adds r1, r1, #3
|
|
|
837 0050 FF31 adds r1, r1, #255
|
|
|
838 0052 8B43 bics r3, r1
|
|
|
839 0054 9360 str r3, [r2, #8]
|
|
|
1112:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
840 .loc 1 1112 0
|
|
|
841 0056 0268 ldr r2, [r0]
|
|
|
842 0058 9368 ldr r3, [r2, #8]
|
|
|
843 005a 3F31 adds r1, r1, #63
|
|
|
844 005c 8B43 bics r3, r1
|
|
|
845 005e 9360 str r3, [r2, #8]
|
|
|
ARM GAS /tmp/cc7An1gz.s page 36
|
|
|
|
|
|
|
|
|
846 0060 DDE7 b .L59
|
|
|
847 .L60:
|
|
|
1096:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
848 .loc 1 1096 0
|
|
|
849 0062 0220 movs r0, #2
|
|
|
850 .LVL70:
|
|
|
851 0064 DFE7 b .L57
|
|
|
852 .L64:
|
|
|
853 0066 C046 .align 2
|
|
|
854 .L63:
|
|
|
855 0068 FFFEFFFF .word -257
|
|
|
856 .cfi_endproc
|
|
|
857 .LFE52:
|
|
|
859 .section .text.HAL_UART_DMAResume,"ax",%progbits
|
|
|
860 .align 1
|
|
|
861 .global HAL_UART_DMAResume
|
|
|
862 .syntax unified
|
|
|
863 .code 16
|
|
|
864 .thumb_func
|
|
|
865 .fpu softvfp
|
|
|
867 HAL_UART_DMAResume:
|
|
|
868 .LFB53:
|
|
|
1120:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1122:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Resume the DMA Transfer.
|
|
|
1123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
1124:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
1125:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1126:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
|
|
|
1127:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
869 .loc 1 1127 0
|
|
|
870 .cfi_startproc
|
|
|
871 @ args = 0, pretend = 0, frame = 0
|
|
|
872 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
873 @ link register save eliminated.
|
|
|
874 .LVL71:
|
|
|
1128:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
1129:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_LOCK(huart);
|
|
|
875 .loc 1 1129 0
|
|
|
876 0000 6823 movs r3, #104
|
|
|
877 0002 C35C ldrb r3, [r0, r3]
|
|
|
878 0004 012B cmp r3, #1
|
|
|
879 0006 29D0 beq .L69
|
|
|
880 .loc 1 1129 0 is_stmt 0 discriminator 2
|
|
|
881 0008 6823 movs r3, #104
|
|
|
882 000a 0122 movs r2, #1
|
|
|
883 000c C254 strb r2, [r0, r3]
|
|
|
1130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1131:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->gState == HAL_UART_STATE_BUSY_TX)
|
|
|
884 .loc 1 1131 0 is_stmt 1 discriminator 2
|
|
|
885 000e 0133 adds r3, r3, #1
|
|
|
886 0010 C35C ldrb r3, [r0, r3]
|
|
|
887 0012 212B cmp r3, #33
|
|
|
888 0014 08D0 beq .L70
|
|
|
889 .L67:
|
|
|
1132:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1133:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the UART DMA Tx request */
|
|
|
ARM GAS /tmp/cc7An1gz.s page 37
|
|
|
|
|
|
|
|
|
1134:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
|
|
|
1135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1136:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->RxState == HAL_UART_STATE_BUSY_RX)
|
|
|
890 .loc 1 1136 0
|
|
|
891 0016 6A23 movs r3, #106
|
|
|
892 0018 C35C ldrb r3, [r0, r3]
|
|
|
893 001a 222B cmp r3, #34
|
|
|
894 001c 0AD0 beq .L71
|
|
|
895 .L68:
|
|
|
1137:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1138:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer */
|
|
|
1139:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
|
|
|
1140:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1141:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Reenable PE and ERR (Frame error, noise error, overrun error) interrupts */
|
|
|
1142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
|
|
|
1143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
1144:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the UART DMA Rx request */
|
|
|
1146:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
|
|
|
1147:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1148:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1149:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Unlocked */
|
|
|
1150:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UNLOCK(huart);
|
|
|
896 .loc 1 1150 0
|
|
|
897 001e 6823 movs r3, #104
|
|
|
898 0020 0022 movs r2, #0
|
|
|
899 0022 C254 strb r2, [r0, r3]
|
|
|
1151:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1152:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
900 .loc 1 1152 0
|
|
|
901 0024 0020 movs r0, #0
|
|
|
902 .LVL72:
|
|
|
903 .L66:
|
|
|
1153:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
904 .loc 1 1153 0
|
|
|
905 @ sp needed
|
|
|
906 0026 7047 bx lr
|
|
|
907 .LVL73:
|
|
|
908 .L70:
|
|
|
1134:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
909 .loc 1 1134 0
|
|
|
910 0028 0268 ldr r2, [r0]
|
|
|
911 002a 9368 ldr r3, [r2, #8]
|
|
|
912 002c 8021 movs r1, #128
|
|
|
913 002e 0B43 orrs r3, r1
|
|
|
914 0030 9360 str r3, [r2, #8]
|
|
|
915 0032 F0E7 b .L67
|
|
|
916 .L71:
|
|
|
1139:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
917 .loc 1 1139 0
|
|
|
918 0034 0368 ldr r3, [r0]
|
|
|
919 0036 0822 movs r2, #8
|
|
|
920 0038 1A62 str r2, [r3, #32]
|
|
|
1142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
921 .loc 1 1142 0
|
|
|
922 003a 0268 ldr r2, [r0]
|
|
|
923 003c 1168 ldr r1, [r2]
|
|
|
ARM GAS /tmp/cc7An1gz.s page 38
|
|
|
|
|
|
|
|
|
924 003e 8023 movs r3, #128
|
|
|
925 0040 5B00 lsls r3, r3, #1
|
|
|
926 0042 0B43 orrs r3, r1
|
|
|
927 0044 1360 str r3, [r2]
|
|
|
1143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
928 .loc 1 1143 0
|
|
|
929 0046 0268 ldr r2, [r0]
|
|
|
930 0048 9368 ldr r3, [r2, #8]
|
|
|
931 004a 0121 movs r1, #1
|
|
|
932 004c 0B43 orrs r3, r1
|
|
|
933 004e 9360 str r3, [r2, #8]
|
|
|
1146:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
934 .loc 1 1146 0
|
|
|
935 0050 0268 ldr r2, [r0]
|
|
|
936 0052 9368 ldr r3, [r2, #8]
|
|
|
937 0054 3F31 adds r1, r1, #63
|
|
|
938 0056 0B43 orrs r3, r1
|
|
|
939 0058 9360 str r3, [r2, #8]
|
|
|
940 005a E0E7 b .L68
|
|
|
941 .L69:
|
|
|
1129:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
942 .loc 1 1129 0
|
|
|
943 005c 0220 movs r0, #2
|
|
|
944 .LVL74:
|
|
|
945 005e E2E7 b .L66
|
|
|
946 .cfi_endproc
|
|
|
947 .LFE53:
|
|
|
949 .section .text.HAL_UART_DMAStop,"ax",%progbits
|
|
|
950 .align 1
|
|
|
951 .global HAL_UART_DMAStop
|
|
|
952 .syntax unified
|
|
|
953 .code 16
|
|
|
954 .thumb_func
|
|
|
955 .fpu softvfp
|
|
|
957 HAL_UART_DMAStop:
|
|
|
958 .LFB54:
|
|
|
1154:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Stop the DMA Transfer.
|
|
|
1157:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
1158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
1159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1160:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
|
|
|
1161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
959 .loc 1 1161 0
|
|
|
960 .cfi_startproc
|
|
|
961 @ args = 0, pretend = 0, frame = 0
|
|
|
962 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
963 .LVL75:
|
|
|
964 0000 10B5 push {r4, lr}
|
|
|
965 .LCFI5:
|
|
|
966 .cfi_def_cfa_offset 8
|
|
|
967 .cfi_offset 4, -8
|
|
|
968 .cfi_offset 14, -4
|
|
|
969 0002 0400 movs r4, r0
|
|
|
1162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
|
|
|
1163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
|
|
|
ARM GAS /tmp/cc7An1gz.s page 39
|
|
|
|
|
|
|
|
|
1164:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback / HAL_UART_RxHalfCpltCallback:
|
|
|
1165:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** indeed, when HAL_DMA_Abort() API is called, the DMA TX/RX Transfer or Half Transfer complete
|
|
|
1166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** interrupt is generated if the DMA transfer interruption occurs at the middle or at the end of
|
|
|
1167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** the stream and the corresponding call back is executed. */
|
|
|
1168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
|
|
|
1170:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) &&
|
|
|
970 .loc 1 1170 0
|
|
|
971 0004 6923 movs r3, #105
|
|
|
972 0006 C35C ldrb r3, [r0, r3]
|
|
|
973 0008 212B cmp r3, #33
|
|
|
974 000a 05D0 beq .L77
|
|
|
975 .LVL76:
|
|
|
976 .L73:
|
|
|
1171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)))
|
|
|
1172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
|
|
|
1174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1175:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Abort the UART DMA Tx channel */
|
|
|
1176:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmatx != NULL)
|
|
|
1177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmatx);
|
|
|
1179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1181:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_EndTxTransfer(huart);
|
|
|
1182:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
|
|
|
1185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) &&
|
|
|
977 .loc 1 1185 0
|
|
|
978 000c 6A23 movs r3, #106
|
|
|
979 000e E35C ldrb r3, [r4, r3]
|
|
|
980 0010 222B cmp r3, #34
|
|
|
981 0012 17D0 beq .L78
|
|
|
982 .L75:
|
|
|
1186:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)))
|
|
|
1187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
|
|
|
1189:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1190:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Abort the UART DMA Rx channel */
|
|
|
1191:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmarx != NULL)
|
|
|
1192:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1193:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmarx);
|
|
|
1194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1196:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_EndRxTransfer(huart);
|
|
|
1197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1199:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
1200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
983 .loc 1 1200 0
|
|
|
984 0014 0020 movs r0, #0
|
|
|
985 @ sp needed
|
|
|
986 .LVL77:
|
|
|
987 0016 10BD pop {r4, pc}
|
|
|
988 .LVL78:
|
|
|
989 .L77:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 40
|
|
|
|
|
|
|
|
|
1171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)))
|
|
|
990 .loc 1 1171 0 discriminator 1
|
|
|
991 0018 0368 ldr r3, [r0]
|
|
|
992 001a 9A68 ldr r2, [r3, #8]
|
|
|
1170:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)))
|
|
|
993 .loc 1 1170 0 discriminator 1
|
|
|
994 001c 1206 lsls r2, r2, #24
|
|
|
995 001e F5D5 bpl .L73
|
|
|
1173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
996 .loc 1 1173 0
|
|
|
997 0020 9A68 ldr r2, [r3, #8]
|
|
|
998 0022 8021 movs r1, #128
|
|
|
999 0024 8A43 bics r2, r1
|
|
|
1000 0026 9A60 str r2, [r3, #8]
|
|
|
1176:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1001 .loc 1 1176 0
|
|
|
1002 0028 006E ldr r0, [r0, #96]
|
|
|
1003 .LVL79:
|
|
|
1004 002a 0028 cmp r0, #0
|
|
|
1005 002c 01D0 beq .L74
|
|
|
1178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1006 .loc 1 1178 0
|
|
|
1007 002e FFF7FEFF bl HAL_DMA_Abort
|
|
|
1008 .LVL80:
|
|
|
1009 .L74:
|
|
|
1010 .LBB14:
|
|
|
1011 .LBB15:
|
|
|
1201:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1202:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode).
|
|
|
1204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart UART handle.
|
|
|
1205:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
|
|
|
1206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * This procedure performs following operations :
|
|
|
1207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
|
|
|
1208:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
|
|
|
1209:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
|
|
|
1210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Set handle State to READY
|
|
|
1211:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
|
|
|
1212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
1213:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
|
|
|
1215:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
|
|
|
1217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_
|
|
|
1218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
1219:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1220:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
|
|
|
1221:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
|
|
|
1222:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
|
|
|
1224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */
|
|
|
1226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmatx != NULL)
|
|
|
1227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
|
|
|
1229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
|
|
|
1230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
|
|
|
ARM GAS /tmp/cc7An1gz.s page 41
|
|
|
|
|
|
|
|
|
1231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmatx);
|
|
|
1233:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
|
|
|
1237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
|
|
|
1238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
|
|
|
1240:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */
|
|
|
1242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmarx != NULL)
|
|
|
1243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
|
|
|
1245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
|
|
|
1246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
|
|
|
1247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmarx);
|
|
|
1249:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1252:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
|
|
|
1253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount = 0;
|
|
|
1254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = 0;
|
|
|
1255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
|
|
|
1257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
|
|
|
1258:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1259:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
|
|
|
1260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
1261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
1262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Reset Handle ErrorCode to No Error */
|
|
|
1264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
|
|
|
1265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
1267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1268:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1270:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode).
|
|
|
1271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart UART handle.
|
|
|
1272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
|
|
|
1273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * This procedure performs following operations :
|
|
|
1274:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
|
|
|
1275:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
|
|
|
1276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
|
|
|
1277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Set handle State to READY
|
|
|
1278:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
|
|
|
1279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
1280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
|
|
|
1282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
|
|
|
1284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
|
|
|
1285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1286:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
|
|
|
1287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
|
|
|
ARM GAS /tmp/cc7An1gz.s page 42
|
|
|
|
|
|
|
|
|
1288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1289:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
|
|
|
1290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1291:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */
|
|
|
1292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmatx != NULL)
|
|
|
1293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1294:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
|
|
|
1295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
|
|
|
1296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
|
|
|
1297:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmatx);
|
|
|
1299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1300:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Reset Tx transfer counter */
|
|
|
1303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount = 0;
|
|
|
1304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Restore huart->gState to Ready */
|
|
|
1306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
1307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
1309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1312:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode).
|
|
|
1313:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart UART handle.
|
|
|
1314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
|
|
|
1315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * This procedure performs following operations :
|
|
|
1316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
|
|
|
1317:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
|
|
|
1318:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
|
|
|
1319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Set handle State to READY
|
|
|
1320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
|
|
|
1321:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
1322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
|
|
|
1324:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
|
|
|
1326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
|
|
|
1327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
1328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
|
|
|
1330:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
|
|
|
1331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
|
|
|
1333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1334:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */
|
|
|
1335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmarx != NULL)
|
|
|
1336:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
|
|
|
1338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
|
|
|
1339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
|
|
|
1340:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmarx);
|
|
|
1342:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
ARM GAS /tmp/cc7An1gz.s page 43
|
|
|
|
|
|
|
|
|
1345:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Reset Rx transfer counter */
|
|
|
1346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = 0;
|
|
|
1347:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
|
|
|
1349:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
|
|
|
1350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1351:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Restore huart->RxState to Ready */
|
|
|
1352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
1353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
1355:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1357:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1358:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode).
|
|
|
1359:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart UART handle.
|
|
|
1360:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
|
|
|
1361:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * This procedure performs following operations :
|
|
|
1362:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
|
|
|
1363:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
|
|
|
1364:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
|
|
|
1365:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Set handle State to READY
|
|
|
1366:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - At abort completion, call user abort complete callback
|
|
|
1367:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
|
|
|
1368:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
|
|
|
1369:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
1370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1371:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
|
|
|
1372:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t abortcplt = 1;
|
|
|
1374:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1375:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
|
|
|
1376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_
|
|
|
1377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
1378:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1379:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh
|
|
|
1380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** before any call to DMA Abort functions */
|
|
|
1381:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* DMA Tx Handle is valid */
|
|
|
1382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmatx != NULL)
|
|
|
1383:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
|
|
|
1385:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** Otherwise, set it to NULL */
|
|
|
1386:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
|
|
|
1387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1388:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback;
|
|
|
1389:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1390:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
1391:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
|
|
|
1393:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1394:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* DMA Rx Handle is valid */
|
|
|
1396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmarx != NULL)
|
|
|
1397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
|
|
|
1399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** Otherwise, set it to NULL */
|
|
|
1400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
|
|
|
1401:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
ARM GAS /tmp/cc7An1gz.s page 44
|
|
|
|
|
|
|
|
|
1402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback;
|
|
|
1403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
1405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
|
|
|
1407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1408:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1409:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
|
|
|
1411:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
|
|
|
1412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1413:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable DMA Tx at UART level */
|
|
|
1414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
|
|
|
1415:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1416:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */
|
|
|
1417:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmatx != NULL)
|
|
|
1418:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised :
|
|
|
1420:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
|
|
|
1421:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1422:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Abort DMA TX */
|
|
|
1423:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
|
|
|
1424:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1425:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
|
|
|
1426:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
1428:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** abortcplt = 0;
|
|
|
1430:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1431:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1432:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1433:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
|
|
|
1435:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
|
|
|
1436:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
|
|
|
1438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */
|
|
|
1440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmarx != NULL)
|
|
|
1441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1442:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised :
|
|
|
1443:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
|
|
|
1444:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Abort DMA RX */
|
|
|
1446:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
|
|
|
1447:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1448:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
|
|
|
1449:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** abortcplt = 1;
|
|
|
1450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1451:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
1452:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1453:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** abortcplt = 0;
|
|
|
1454:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1455:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1456:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback *
|
|
|
ARM GAS /tmp/cc7An1gz.s page 45
|
|
|
|
|
|
|
|
|
1459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (abortcplt == 1)
|
|
|
1460:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
|
|
|
1462:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount = 0;
|
|
|
1463:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = 0;
|
|
|
1464:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1465:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Reset errorCode */
|
|
|
1466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
|
|
|
1467:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1468:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
|
|
|
1469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF
|
|
|
1470:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
|
|
|
1472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
1473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
1474:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1475:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
|
|
|
1476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
|
|
|
1477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1478:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1479:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
1480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1481:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1482:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1483:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode).
|
|
|
1484:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart UART handle.
|
|
|
1485:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
|
|
|
1486:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * This procedure performs following operations :
|
|
|
1487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
|
|
|
1488:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
|
|
|
1489:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
|
|
|
1490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Set handle State to READY
|
|
|
1491:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - At abort completion, call user abort complete callback
|
|
|
1492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
|
|
|
1493:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
|
|
|
1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
1495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
|
|
|
1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
|
|
|
1499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
|
|
|
1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1501:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
|
|
|
1502:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
|
|
|
1503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1504:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
|
|
|
1505:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */
|
|
|
1507:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmatx != NULL)
|
|
|
1508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1509:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART DMA Abort callback :
|
|
|
1510:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
|
|
|
1511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback;
|
|
|
1512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1513:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Abort DMA TX */
|
|
|
1514:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
|
|
|
1515:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
ARM GAS /tmp/cc7An1gz.s page 46
|
|
|
|
|
|
|
|
|
1516:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */
|
|
|
1517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx);
|
|
|
1518:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1519:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1520:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
1521:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1522:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Reset Tx transfer counter */
|
|
|
1523:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount = 0;
|
|
|
1524:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1525:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Restore huart->gState to Ready */
|
|
|
1526:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
1527:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1528:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
|
|
|
1529:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
|
|
|
1530:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1531:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1532:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
1533:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1534:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Reset Tx transfer counter */
|
|
|
1535:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount = 0;
|
|
|
1536:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1537:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Restore huart->gState to Ready */
|
|
|
1538:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
1539:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1540:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
|
|
|
1541:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
|
|
|
1542:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1543:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1544:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
1545:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1546:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1547:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1548:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode).
|
|
|
1549:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart UART handle.
|
|
|
1550:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
|
|
|
1551:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * This procedure performs following operations :
|
|
|
1552:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
|
|
|
1553:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
|
|
|
1554:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
|
|
|
1555:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - Set handle State to READY
|
|
|
1556:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - At abort completion, call user abort complete callback
|
|
|
1557:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
|
|
|
1558:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
|
|
|
1559:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
1560:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1561:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
|
|
|
1562:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1563:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
|
|
|
1564:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
|
|
|
1565:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
1566:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1567:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
|
|
|
1568:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
|
|
|
1569:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1570:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
|
|
|
1571:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1572:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */
|
|
|
ARM GAS /tmp/cc7An1gz.s page 47
|
|
|
|
|
|
|
|
|
1573:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmarx != NULL)
|
|
|
1574:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1575:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART DMA Abort callback :
|
|
|
1576:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
|
|
|
1577:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback;
|
|
|
1578:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1579:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Abort DMA RX */
|
|
|
1580:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
|
|
|
1581:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1582:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
|
|
|
1583:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
|
|
|
1584:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1585:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1586:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
1587:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1588:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Reset Rx transfer counter */
|
|
|
1589:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = 0;
|
|
|
1590:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1591:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
|
|
|
1592:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_F
|
|
|
1593:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1594:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Restore huart->RxState to Ready */
|
|
|
1595:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
1596:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1597:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
|
|
|
1598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
|
|
|
1599:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1600:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1601:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
1602:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1603:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Reset Rx transfer counter */
|
|
|
1604:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = 0;
|
|
|
1605:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1606:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
|
|
|
1607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF
|
|
|
1608:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1609:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Restore huart->RxState to Ready */
|
|
|
1610:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
1611:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1612:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
|
|
|
1613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
|
|
|
1614:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1615:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1616:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
1617:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1618:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1619:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1620:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Handle UART interrupt request.
|
|
|
1621:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
1622:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
1623:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1624:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
|
|
|
1625:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR);
|
|
|
1627:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
|
|
|
1628:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t cr3its;
|
|
|
1629:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t errorflags;
|
|
|
ARM GAS /tmp/cc7An1gz.s page 48
|
|
|
|
|
|
|
|
|
1630:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1631:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* If no error occurs */
|
|
|
1632:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE));
|
|
|
1633:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (errorflags == RESET)
|
|
|
1634:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1635:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* UART in mode Receiver ---------------------------------------------------*/
|
|
|
1636:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(((isrflags & USART_ISR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
|
|
|
1637:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_Receive_IT(huart);
|
|
|
1639:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return;
|
|
|
1640:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1641:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1642:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1643:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* If some errors occur */
|
|
|
1644:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** cr3its = READ_REG(huart->Instance->CR3);
|
|
|
1645:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if( (errorflags != RESET)
|
|
|
1646:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** && ( ((cr3its & USART_CR3_EIE) != RESET)
|
|
|
1647:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)) )
|
|
|
1648:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1649:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/
|
|
|
1650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(((isrflags & USART_ISR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET))
|
|
|
1651:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1652:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_CLEAR_IT(huart, UART_CLEAR_PEF);
|
|
|
1653:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1654:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE;
|
|
|
1655:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1656:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1657:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/
|
|
|
1658:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(((isrflags & USART_ISR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
|
|
|
1659:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1660:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_CLEAR_IT(huart, UART_CLEAR_FEF);
|
|
|
1661:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1662:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE;
|
|
|
1663:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1664:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1665:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/
|
|
|
1666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(((isrflags & USART_ISR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
|
|
|
1667:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1668:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_CLEAR_IT(huart, UART_CLEAR_NEF);
|
|
|
1669:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1670:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE;
|
|
|
1671:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1672:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1673:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* UART Over-Run interrupt occurred -----------------------------------------*/
|
|
|
1674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(((isrflags & USART_ISR_ORE) != RESET) &&
|
|
|
1675:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (((cr1its & USART_CR1_RXNEIE) != RESET) || ((cr3its & USART_CR3_EIE) != RESET)))
|
|
|
1676:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1677:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_CLEAR_IT(huart, UART_CLEAR_OREF);
|
|
|
1678:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1679:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE;
|
|
|
1680:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1681:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1682:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Call UART Error Call back function if need be --------------------------*/
|
|
|
1683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->ErrorCode != HAL_UART_ERROR_NONE)
|
|
|
1684:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1685:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* UART in mode Receiver ---------------------------------------------------*/
|
|
|
1686:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(((isrflags & USART_ISR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
|
|
|
ARM GAS /tmp/cc7An1gz.s page 49
|
|
|
|
|
|
|
|
|
1687:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1688:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_Receive_IT(huart);
|
|
|
1689:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1690:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1691:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* If Overrun error occurs, or if any error occurs in DMA mode reception,
|
|
|
1692:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** consider error as blocking */
|
|
|
1693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) ||
|
|
|
1694:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)))
|
|
|
1695:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1696:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Blocking error : transfer is aborted
|
|
|
1697:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
|
|
|
1698:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */
|
|
|
1699:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_EndRxTransfer(huart);
|
|
|
1700:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1701:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
|
|
|
1702:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
|
|
|
1703:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1704:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
|
|
|
1705:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1706:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Abort the UART DMA Rx channel */
|
|
|
1707:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmarx != NULL)
|
|
|
1708:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1709:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART DMA Abort callback :
|
|
|
1710:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */
|
|
|
1711:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError;
|
|
|
1712:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Abort DMA RX */
|
|
|
1714:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
|
|
|
1715:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1716:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
|
|
|
1717:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
|
|
|
1718:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1719:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1720:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
1721:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1722:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Call user error callback */
|
|
|
1723:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
|
|
|
1724:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1725:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1726:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
1727:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Call user error callback */
|
|
|
1729:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
|
|
|
1730:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1731:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1732:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
1733:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1734:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Non Blocking error : transfer could go on.
|
|
|
1735:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** Error is notified to user through user error callback */
|
|
|
1736:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
|
|
|
1737:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
|
|
|
1738:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1739:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1740:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return;
|
|
|
1741:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1742:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** } /* End if some error occurs */
|
|
|
1743:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
ARM GAS /tmp/cc7An1gz.s page 50
|
|
|
|
|
|
|
|
|
1744:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* UART wakeup from Stop mode interrupt occurred ---------------------------*/
|
|
|
1745:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(((isrflags & USART_ISR_WUF) != RESET) && ((cr3its & USART_CR3_WUFIE) != RESET))
|
|
|
1746:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1747:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_CLEAR_IT(huart, UART_CLEAR_WUF);
|
|
|
1748:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART state ready to be able to start again the process */
|
|
|
1749:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
1750:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
1751:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UARTEx_WakeupCallback(huart);
|
|
|
1752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return;
|
|
|
1753:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1754:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1755:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/
|
|
|
1756:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(((isrflags & USART_ISR_TXE) != RESET) && ((cr1its & USART_CR1_TXEIE) != RESET))
|
|
|
1757:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1758:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_Transmit_IT(huart);
|
|
|
1759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return;
|
|
|
1760:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1761:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1762:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* UART in mode Transmitter (transmission end) -----------------------------*/
|
|
|
1763:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(((isrflags & USART_ISR_TC) != RESET) && ((cr1its & USART_CR1_TCIE) != RESET))
|
|
|
1764:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1765:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_EndTransmit_IT(huart);
|
|
|
1766:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return;
|
|
|
1767:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1768:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1769:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1770:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1771:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1772:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Tx Transfer completed callback.
|
|
|
1773:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
1774:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
1775:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1776:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
|
|
|
1777:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
1779:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UNUSED(huart);
|
|
|
1780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1781:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
1782:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** the HAL_UART_TxCpltCallback can be implemented in the user file.
|
|
|
1783:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1784:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1786:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1787:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Tx Half Transfer completed callback.
|
|
|
1788:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
1789:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
1790:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1791:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
|
|
|
1792:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1793:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
1794:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UNUSED(huart);
|
|
|
1795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1796:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
|
|
|
1797:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback can be implemented in the user file.
|
|
|
1798:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1799:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1800:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
ARM GAS /tmp/cc7An1gz.s page 51
|
|
|
|
|
|
|
|
|
1801:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1802:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Rx Transfer completed callback.
|
|
|
1803:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
1804:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
1805:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1806:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
|
|
|
1807:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1808:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
1809:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UNUSED(huart);
|
|
|
1810:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1811:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
1812:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** the HAL_UART_RxCpltCallback can be implemented in the user file.
|
|
|
1813:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1814:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1815:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1816:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1817:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Rx Half Transfer completed callback.
|
|
|
1818:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
1819:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
1820:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1821:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
|
|
|
1822:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1823:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
1824:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UNUSED(huart);
|
|
|
1825:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1826:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
|
|
|
1827:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback can be implemented in the user file.
|
|
|
1828:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1829:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1830:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1831:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1832:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief UART error callback.
|
|
|
1833:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
1834:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
1835:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1836:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
|
|
|
1837:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1838:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
1839:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UNUSED(huart);
|
|
|
1840:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1841:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
1842:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** the HAL_UART_ErrorCallback can be implemented in the user file.
|
|
|
1843:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1844:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1845:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1846:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1847:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief UART Abort Complete callback.
|
|
|
1848:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart UART handle.
|
|
|
1849:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
1850:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1851:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback (UART_HandleTypeDef *huart)
|
|
|
1852:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1853:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
1854:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UNUSED(huart);
|
|
|
1855:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1856:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
1857:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file.
|
|
|
ARM GAS /tmp/cc7An1gz.s page 52
|
|
|
|
|
|
|
|
|
1858:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1859:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1860:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1861:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1862:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief UART Abort Complete callback.
|
|
|
1863:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart UART handle.
|
|
|
1864:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
1865:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1866:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback (UART_HandleTypeDef *huart)
|
|
|
1867:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1868:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
1869:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UNUSED(huart);
|
|
|
1870:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1871:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
1872:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file.
|
|
|
1873:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1874:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1875:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1876:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1877:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief UART Abort Receive Complete callback.
|
|
|
1878:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart UART handle.
|
|
|
1879:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
1880:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1881:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback (UART_HandleTypeDef *huart)
|
|
|
1882:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1883:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
1884:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UNUSED(huart);
|
|
|
1885:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1886:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
1887:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file.
|
|
|
1888:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1889:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1890:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1891:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1892:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @}
|
|
|
1893:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1894:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1895:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions
|
|
|
1896:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief UART control functions
|
|
|
1897:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** *
|
|
|
1898:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** @verbatim
|
|
|
1899:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ===============================================================================
|
|
|
1900:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ##### Peripheral Control functions #####
|
|
|
1901:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ===============================================================================
|
|
|
1902:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** [..]
|
|
|
1903:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART.
|
|
|
1904:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_MultiProcessor_EnableMuteMode() API enables mute mode
|
|
|
1905:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_MultiProcessor_DisableMuteMode() API disables mute mode
|
|
|
1906:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API enters mute mode
|
|
|
1907:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) UART_SetConfig() API configures the UART peripheral
|
|
|
1908:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) UART_AdvFeatureConfig() API optionally configures the UART advanced features
|
|
|
1909:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) UART_CheckIdleState() API ensures that TEACK and/or REACK are set after initialization
|
|
|
1910:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API disables receiver and enables transmitter
|
|
|
1911:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API disables transmitter and enables receiver
|
|
|
1912:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API transmits the break characters
|
|
|
1913:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** @endverbatim
|
|
|
1914:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @{
|
|
|
ARM GAS /tmp/cc7An1gz.s page 53
|
|
|
|
|
|
|
|
|
1915:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1916:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1917:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1918:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Enable UART in mute mode (does not mean UART enters mute mode;
|
|
|
1919:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * to enter mute mode, HAL_MultiProcessor_EnterMuteMode() API must be called).
|
|
|
1920:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
1921:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
1922:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1923:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart)
|
|
|
1924:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1925:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
1926:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_LOCK(huart);
|
|
|
1927:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1928:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
|
|
|
1929:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1930:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable USART mute mode by setting the MME bit in the CR1 register */
|
|
|
1931:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_MME);
|
|
|
1932:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1933:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
1934:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1935:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return (UART_CheckIdleState(huart));
|
|
|
1936:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1937:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1938:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1939:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Disable UART mute mode (does not mean the UART actually exits mute mode
|
|
|
1940:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * as it may not have been in mute mode at this very moment).
|
|
|
1941:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
1942:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
1943:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1944:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart)
|
|
|
1945:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1946:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
1947:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_LOCK(huart);
|
|
|
1948:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1949:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
|
|
|
1950:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1951:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable USART mute mode by clearing the MME bit in the CR1 register */
|
|
|
1952:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_MME);
|
|
|
1953:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1954:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
1955:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1956:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return (UART_CheckIdleState(huart));
|
|
|
1957:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1958:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1959:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1960:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Enter UART mute mode (means UART actually enters mute mode).
|
|
|
1961:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note To exit from mute mode, HAL_MultiProcessor_DisableMuteMode() API must be called.
|
|
|
1962:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
1963:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
1964:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1965:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** void HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
|
|
|
1966:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1967:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST);
|
|
|
1968:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1969:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1970:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1971:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Enable the UART transmitter and disable the UART receiver.
|
|
|
ARM GAS /tmp/cc7An1gz.s page 54
|
|
|
|
|
|
|
|
|
1972:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
1973:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
1974:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1975:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
|
|
|
1976:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1977:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
1978:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_LOCK(huart);
|
|
|
1979:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
|
|
|
1980:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1981:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Clear TE and RE bits */
|
|
|
1982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE));
|
|
|
1983:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */
|
|
|
1984:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TE);
|
|
|
1985:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1986:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
1987:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1988:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Unlocked */
|
|
|
1989:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UNLOCK(huart);
|
|
|
1990:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1991:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
1992:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1993:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1994:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
1995:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Enable the UART receiver and disable the UART transmitter.
|
|
|
1996:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
1997:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status.
|
|
|
1998:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
1999:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
|
|
|
2000:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2001:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
2002:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_LOCK(huart);
|
|
|
2003:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
|
|
|
2004:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2005:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Clear TE and RE bits */
|
|
|
2006:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE));
|
|
|
2007:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */
|
|
|
2008:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_RE);
|
|
|
2009:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2010:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
2011:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Unlocked */
|
|
|
2012:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UNLOCK(huart);
|
|
|
2013:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2014:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
2015:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2016:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2017:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2018:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2019:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Transmit break characters.
|
|
|
2020:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
2021:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
2022:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2023:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
|
|
|
2024:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2025:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the parameters */
|
|
|
2026:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
|
|
|
2027:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2028:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
ARM GAS /tmp/cc7An1gz.s page 55
|
|
|
|
|
|
|
|
|
2029:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_LOCK(huart);
|
|
|
2030:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2031:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
|
|
|
2032:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2033:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Send break characters */
|
|
|
2034:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->RQR |= UART_SENDBREAK_REQUEST;
|
|
|
2035:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2036:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
2037:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2038:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Unlocked */
|
|
|
2039:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UNLOCK(huart);
|
|
|
2040:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2041:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
2042:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2043:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2044:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2045:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2046:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @}
|
|
|
2047:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2048:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2049:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Error functions
|
|
|
2050:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief UART Peripheral State functions
|
|
|
2051:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** *
|
|
|
2052:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** @verbatim
|
|
|
2053:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ==============================================================================
|
|
|
2054:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ##### Peripheral State and Error functions #####
|
|
|
2055:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ==============================================================================
|
|
|
2056:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** [..]
|
|
|
2057:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** This subsection provides functions allowing to :
|
|
|
2058:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) Return the UART handle state.
|
|
|
2059:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (+) Return the UART handle error code
|
|
|
2060:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2061:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** @endverbatim
|
|
|
2062:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @{
|
|
|
2063:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2064:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2065:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2066:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Return the UART handle state.
|
|
|
2067:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
|
|
|
2068:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * the configuration information for the specified UART.
|
|
|
2069:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL state
|
|
|
2070:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2071:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(UART_HandleTypeDef *huart)
|
|
|
2072:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2073:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t temp1= 0x00U, temp2 = 0x00U;
|
|
|
2074:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** temp1 = huart->gState;
|
|
|
2075:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** temp2 = huart->RxState;
|
|
|
2076:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2077:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2);
|
|
|
2078:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2079:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2080:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2081:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Return the UART handle error code.
|
|
|
2082:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
|
|
|
2083:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * the configuration information for the specified UART.
|
|
|
2084:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval UART Error Code
|
|
|
2085:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
ARM GAS /tmp/cc7An1gz.s page 56
|
|
|
|
|
|
|
|
|
2086:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart)
|
|
|
2087:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2088:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return huart->ErrorCode;
|
|
|
2089:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2090:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2091:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @}
|
|
|
2092:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2093:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2094:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2095:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @}
|
|
|
2096:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2097:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2098:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions
|
|
|
2099:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @{
|
|
|
2100:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2102:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2103:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Configure the UART peripheral.
|
|
|
2104:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
2105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
2106:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2107:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart)
|
|
|
2108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2109:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t tmpreg = 0x00000000U;
|
|
|
2110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource = UART_CLOCKSOURCE_UNDEFINED;
|
|
|
2111:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint16_t brrtemp = 0x0000U;
|
|
|
2112:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint16_t usartdiv = 0x0000U;
|
|
|
2113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK;
|
|
|
2114:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2115:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the parameters */
|
|
|
2116:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate));
|
|
|
2117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
|
|
|
2118:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(UART_INSTANCE_LOWPOWER(huart))
|
|
|
2119:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2120:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_LPUART_STOPBITS(huart->Init.StopBits));
|
|
|
2121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2122:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
2123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2124:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
|
|
|
2125:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling));
|
|
|
2126:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2127:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2128:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity));
|
|
|
2129:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode));
|
|
|
2130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl));
|
|
|
2131:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
|
|
|
2132:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2133:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2134:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
|
|
|
2135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Clear M, PCE, PS, TE, RE and OVER8 bits and configure
|
|
|
2136:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * the UART Word Length, Parity, Mode and oversampling:
|
|
|
2137:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * set the M bits according to huart->Init.WordLength value
|
|
|
2138:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * set PCE and PS bits according to huart->Init.Parity value
|
|
|
2139:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * set TE and RE bits according to huart->Init.Mode value
|
|
|
2140:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * set OVER8 bit according to huart->Init.OverSampling value */
|
|
|
2141:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O
|
|
|
2142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, UART_CR1_FIELDS, tmpreg);
|
|
|
ARM GAS /tmp/cc7An1gz.s page 57
|
|
|
|
|
|
|
|
|
2143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2144:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/
|
|
|
2145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits according
|
|
|
2146:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * to huart->Init.StopBits value */
|
|
|
2147:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits);
|
|
|
2148:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2149:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/
|
|
|
2150:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Configure
|
|
|
2151:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - UART HardWare Flow Control: set CTSE and RTSE bits according
|
|
|
2152:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * to huart->Init.HwFlowCtl value
|
|
|
2153:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * - one-bit sampling method versus three samples' majority rule according
|
|
|
2154:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * to huart->Init.OneBitSampling (not applicable to LPUART) */
|
|
|
2155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.HwFlowCtl;
|
|
|
2156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (!(UART_INSTANCE_LOWPOWER(huart)))
|
|
|
2157:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tmpreg |= huart->Init.OneBitSampling;
|
|
|
2159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2160:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, (USART_CR3_RTSE | USART_CR3_CTSE | USART_CR3_ONEBIT), tmpreg);
|
|
|
2161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /*-------------------------- USART BRR Configuration -----------------------*/
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_GETCLOCKSOURCE(huart, clocksource);
|
|
|
2164:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
2165:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check LPUART instance */
|
|
|
2167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(UART_INSTANCE_LOWPOWER(huart))
|
|
|
2168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Retrieve frequency clock */
|
|
|
2170:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tmpreg = 0;
|
|
|
2171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** switch (clocksource)
|
|
|
2173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1:
|
|
|
2175:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tmpreg = HAL_RCC_GetPCLK1Freq();
|
|
|
2176:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
|
|
|
2178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U)
|
|
|
2179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tmpreg = (uint32_t) (HSI_VALUE >> 2U);
|
|
|
2181:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2182:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
2183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tmpreg = (uint32_t) HSI_VALUE;
|
|
|
2185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2186:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK:
|
|
|
2188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tmpreg = HAL_RCC_GetSysClockFreq();
|
|
|
2189:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2190:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
|
|
|
2191:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tmpreg = (uint32_t) LSE_VALUE;
|
|
|
2192:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2193:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_UNDEFINED:
|
|
|
2194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** default:
|
|
|
2195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ret = HAL_ERROR;
|
|
|
2196:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2199:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* if proper clock source reported */
|
|
|
ARM GAS /tmp/cc7An1gz.s page 58
|
|
|
|
|
|
|
|
|
2200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (tmpreg != 0)
|
|
|
2201:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2202:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* ensure that Frequency clock is in the range [3 * baudrate, 4096 * baudrate] */
|
|
|
2203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ( (tmpreg < (3 * huart->Init.BaudRate) ) ||
|
|
|
2204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (tmpreg > (4096 * huart->Init.BaudRate) ))
|
|
|
2205:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ret = HAL_ERROR;
|
|
|
2207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2208:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
2209:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tmpreg = (uint32_t)(UART_DIV_LPUART(tmpreg, huart->Init.BaudRate));
|
|
|
2211:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ((tmpreg >= UART_LPUART_BRR_MIN) && (tmpreg <= UART_LPUART_BRR_MAX))
|
|
|
2213:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->BRR = tmpreg;
|
|
|
2215:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
2217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ret = HAL_ERROR;
|
|
|
2219:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2220:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** } /* if ( (tmpreg < (3 * huart->Init.BaudRate) ) || (tmpreg > (4096 * huart->Init.BaudRate
|
|
|
2221:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** } /* if (tmpreg != 0) */
|
|
|
2222:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check UART Over Sampling to set Baud Rate Register */
|
|
|
2224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
|
|
|
2225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** switch (clocksource)
|
|
|
2227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1:
|
|
|
2229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** usartdiv = (uint16_t)(UART_DIV_SAMPLING8(frequency, huart->Init.BaudRate));
|
|
|
2230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2:
|
|
|
2232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate));
|
|
|
2233:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
|
|
|
2235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U)
|
|
|
2236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** usartdiv = (uint16_t)(UART_DIV_SAMPLING8((HSI_VALUE >> 2U), huart->Init.BaudRate));
|
|
|
2238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
2240:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HSI_VALUE, huart->Init.BaudRate));
|
|
|
2242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK:
|
|
|
2245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HAL_RCC_GetSysClockFreq(), huart->Init.BaudRate));
|
|
|
2246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
|
|
|
2248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** usartdiv = (uint16_t)(UART_DIV_SAMPLING8(LSE_VALUE, huart->Init.BaudRate));
|
|
|
2249:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_UNDEFINED:
|
|
|
2251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** default:
|
|
|
2252:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ret = HAL_ERROR;
|
|
|
2253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** brrtemp = usartdiv & 0xFFF0U;
|
|
|
ARM GAS /tmp/cc7An1gz.s page 59
|
|
|
|
|
|
|
|
|
2257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** brrtemp |= (uint16_t)((uint16_t)(usartdiv & (uint16_t)0x000FU) >> (uint16_t)1U);
|
|
|
2258:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
|
|
|
2259:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
2261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** switch (clocksource)
|
|
|
2263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1:
|
|
|
2265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->BRR = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetPCLK1Freq(), huart->Init.Bau
|
|
|
2266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2:
|
|
|
2268:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->BRR = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetPCLK2Freq(), huart->Init.Bau
|
|
|
2269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2270:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
|
|
|
2271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U)
|
|
|
2272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->BRR = (uint16_t)(UART_DIV_SAMPLING16((HSI_VALUE >> 2U), huart->Init.BaudRa
|
|
|
2274:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2275:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
2276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->BRR = (uint16_t)(UART_DIV_SAMPLING16(HSI_VALUE, huart->Init.BaudRate));
|
|
|
2278:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK:
|
|
|
2281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->BRR = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetSysClockFreq(), huart->Init.
|
|
|
2282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
|
|
|
2284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->BRR = (uint16_t)(UART_DIV_SAMPLING16(LSE_VALUE, huart->Init.BaudRate));
|
|
|
2285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2286:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_UNDEFINED:
|
|
|
2287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** default:
|
|
|
2288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** ret = HAL_ERROR;
|
|
|
2289:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
2290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2291:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return ret;
|
|
|
2294:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2297:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Configure the UART peripheral advanced features.
|
|
|
2299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart: UART handle.
|
|
|
2300:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
2301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** void UART_AdvFeatureConfig(UART_HandleTypeDef *huart)
|
|
|
2303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */
|
|
|
2305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit));
|
|
|
2306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* if required, configure TX pin active level inversion */
|
|
|
2308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT))
|
|
|
2309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert));
|
|
|
2311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert);
|
|
|
2312:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2313:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
ARM GAS /tmp/cc7An1gz.s page 60
|
|
|
|
|
|
|
|
|
2314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* if required, configure RX pin active level inversion */
|
|
|
2315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT))
|
|
|
2316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2317:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert));
|
|
|
2318:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert);
|
|
|
2319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2321:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* if required, configure data inversion */
|
|
|
2322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT))
|
|
|
2323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2324:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert));
|
|
|
2325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert);
|
|
|
2326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* if required, configure RX/TX pins swap */
|
|
|
2329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT))
|
|
|
2330:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap));
|
|
|
2332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap);
|
|
|
2333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2334:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* if required, configure RX overrun detection disabling */
|
|
|
2336:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT))
|
|
|
2337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable));
|
|
|
2339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable);
|
|
|
2340:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2342:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* if required, configure DMA disabling on reception error */
|
|
|
2343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT))
|
|
|
2344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2345:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError));
|
|
|
2346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError);
|
|
|
2347:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2349:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* if required, configure auto Baud rate detection scheme */
|
|
|
2350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT))
|
|
|
2351:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance));
|
|
|
2353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable));
|
|
|
2354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable);
|
|
|
2355:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */
|
|
|
2356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE)
|
|
|
2357:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2358:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode));
|
|
|
2359:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode);
|
|
|
2360:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2361:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2362:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2363:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* if required, configure MSB first on communication line */
|
|
|
2364:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT))
|
|
|
2365:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2366:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst));
|
|
|
2367:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst);
|
|
|
2368:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2369:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
ARM GAS /tmp/cc7An1gz.s page 61
|
|
|
|
|
|
|
|
|
2371:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2372:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Check the UART Idle State.
|
|
|
2373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart UART handle.
|
|
|
2374:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
2375:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart)
|
|
|
2377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2378:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t tickstart = 0;
|
|
|
2379:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Initialize the UART ErrorCode */
|
|
|
2381:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
|
|
|
2382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2383:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Init tickstart for timeout managment*/
|
|
|
2384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tickstart = HAL_GetTick();
|
|
|
2385:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2386:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check if the Transmitter is enabled */
|
|
|
2387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE)
|
|
|
2388:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2389:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Wait until TEACK flag is set */
|
|
|
2390:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALUE
|
|
|
2391:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Timeout occurred */
|
|
|
2393:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_TIMEOUT;
|
|
|
2394:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check if the Receiver is enabled */
|
|
|
2397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if((huart->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE)
|
|
|
2398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Wait until REACK flag is set */
|
|
|
2400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALUE
|
|
|
2401:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Timeout occurred */
|
|
|
2403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_TIMEOUT;
|
|
|
2404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Initialize the UART State */
|
|
|
2408:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
2409:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
2410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2411:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Unlocked */
|
|
|
2412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UNLOCK(huart);
|
|
|
2413:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
2415:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2416:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2417:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2418:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Handle UART Communication Timeout.
|
|
|
2419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart UART handle.
|
|
|
2420:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param Flag Specifies the UART flag to check
|
|
|
2421:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param Status Flag status (SET or RESET)
|
|
|
2422:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param Tickstart Tick start value
|
|
|
2423:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param Timeout Timeout duration
|
|
|
2424:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
2425:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2426:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus
|
|
|
2427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
ARM GAS /tmp/cc7An1gz.s page 62
|
|
|
|
|
|
|
|
|
2428:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Wait until flag is set */
|
|
|
2429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** while((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
|
|
|
2430:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2431:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check for the Timeout */
|
|
|
2432:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(Timeout != HAL_MAX_DELAY)
|
|
|
2433:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if((Timeout == 0) || ((HAL_GetTick()-Tickstart) > Timeout))
|
|
|
2435:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2436:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for t
|
|
|
2437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE));
|
|
|
2438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
2439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
2441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
2442:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2443:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Unlocked */
|
|
|
2444:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UNLOCK(huart);
|
|
|
2445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_TIMEOUT;
|
|
|
2446:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2447:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2448:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2449:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
2450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2451:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2452:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2453:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2454:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl
|
|
|
2455:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart UART handle.
|
|
|
2456:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
2457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart)
|
|
|
2459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2460:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
|
|
|
2461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
|
|
|
1012 .loc 1 2461 0
|
|
|
1013 0032 2268 ldr r2, [r4]
|
|
|
1014 0034 1368 ldr r3, [r2]
|
|
|
1015 0036 C021 movs r1, #192
|
|
|
1016 0038 8B43 bics r3, r1
|
|
|
1017 003a 1360 str r3, [r2]
|
|
|
2462:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2463:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
|
|
|
2464:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
1018 .loc 1 2464 0
|
|
|
1019 003c 6923 movs r3, #105
|
|
|
1020 003e 2022 movs r2, #32
|
|
|
1021 0040 E254 strb r2, [r4, r3]
|
|
|
1022 0042 E3E7 b .L73
|
|
|
1023 .LVL81:
|
|
|
1024 .L78:
|
|
|
1025 .LBE15:
|
|
|
1026 .LBE14:
|
|
|
1186:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1027 .loc 1 1186 0 discriminator 1
|
|
|
1028 0044 2368 ldr r3, [r4]
|
|
|
1029 0046 9A68 ldr r2, [r3, #8]
|
|
|
1185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)))
|
|
|
ARM GAS /tmp/cc7An1gz.s page 63
|
|
|
|
|
|
|
|
|
1030 .loc 1 1185 0 discriminator 1
|
|
|
1031 0048 5206 lsls r2, r2, #25
|
|
|
1032 004a E3D5 bpl .L75
|
|
|
1188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1033 .loc 1 1188 0
|
|
|
1034 004c 9A68 ldr r2, [r3, #8]
|
|
|
1035 004e 4021 movs r1, #64
|
|
|
1036 0050 8A43 bics r2, r1
|
|
|
1037 0052 9A60 str r2, [r3, #8]
|
|
|
1191:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1038 .loc 1 1191 0
|
|
|
1039 0054 606E ldr r0, [r4, #100]
|
|
|
1040 0056 0028 cmp r0, #0
|
|
|
1041 0058 01D0 beq .L76
|
|
|
1193:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1042 .loc 1 1193 0
|
|
|
1043 005a FFF7FEFF bl HAL_DMA_Abort
|
|
|
1044 .LVL82:
|
|
|
1045 .L76:
|
|
|
1046 .LBB16:
|
|
|
1047 .LBB17:
|
|
|
2465:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2467:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2468:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp
|
|
|
2470:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart UART handle.
|
|
|
2471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
2472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
|
|
|
2474:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2475:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
|
|
|
2476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
|
|
|
1048 .loc 1 2476 0
|
|
|
1049 005e 2268 ldr r2, [r4]
|
|
|
1050 0060 1368 ldr r3, [r2]
|
|
|
1051 0062 0649 ldr r1, .L79
|
|
|
1052 0064 0B40 ands r3, r1
|
|
|
1053 0066 1360 str r3, [r2]
|
|
|
2477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
1054 .loc 1 2477 0
|
|
|
1055 0068 2268 ldr r2, [r4]
|
|
|
1056 006a 9368 ldr r3, [r2, #8]
|
|
|
1057 006c 2331 adds r1, r1, #35
|
|
|
1058 006e FF31 adds r1, r1, #255
|
|
|
1059 0070 8B43 bics r3, r1
|
|
|
1060 0072 9360 str r3, [r2, #8]
|
|
|
2478:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2479:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
|
|
|
2480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
1061 .loc 1 2480 0
|
|
|
1062 0074 6A23 movs r3, #106
|
|
|
1063 0076 2022 movs r2, #32
|
|
|
1064 0078 E254 strb r2, [r4, r3]
|
|
|
1065 007a CBE7 b .L75
|
|
|
1066 .L80:
|
|
|
1067 .align 2
|
|
|
ARM GAS /tmp/cc7An1gz.s page 64
|
|
|
|
|
|
|
|
|
1068 .L79:
|
|
|
1069 007c DFFEFFFF .word -289
|
|
|
1070 .LBE17:
|
|
|
1071 .LBE16:
|
|
|
1072 .cfi_endproc
|
|
|
1073 .LFE54:
|
|
|
1075 .section .text.HAL_UART_Abort,"ax",%progbits
|
|
|
1076 .align 1
|
|
|
1077 .global HAL_UART_Abort
|
|
|
1078 .syntax unified
|
|
|
1079 .code 16
|
|
|
1080 .thumb_func
|
|
|
1081 .fpu softvfp
|
|
|
1083 HAL_UART_Abort:
|
|
|
1084 .LFB55:
|
|
|
1215:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
|
|
|
1085 .loc 1 1215 0
|
|
|
1086 .cfi_startproc
|
|
|
1087 @ args = 0, pretend = 0, frame = 0
|
|
|
1088 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1089 .LVL83:
|
|
|
1090 0000 10B5 push {r4, lr}
|
|
|
1091 .LCFI6:
|
|
|
1092 .cfi_def_cfa_offset 8
|
|
|
1093 .cfi_offset 4, -8
|
|
|
1094 .cfi_offset 14, -4
|
|
|
1095 0002 0400 movs r4, r0
|
|
|
1217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
1096 .loc 1 1217 0
|
|
|
1097 0004 0268 ldr r2, [r0]
|
|
|
1098 0006 1368 ldr r3, [r2]
|
|
|
1099 0008 1C49 ldr r1, .L84
|
|
|
1100 000a 0B40 ands r3, r1
|
|
|
1101 000c 1360 str r3, [r2]
|
|
|
1218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1102 .loc 1 1218 0
|
|
|
1103 000e 0268 ldr r2, [r0]
|
|
|
1104 0010 9368 ldr r3, [r2, #8]
|
|
|
1105 0012 E331 adds r1, r1, #227
|
|
|
1106 0014 FF31 adds r1, r1, #255
|
|
|
1107 0016 8B43 bics r3, r1
|
|
|
1108 0018 9360 str r3, [r2, #8]
|
|
|
1221:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1109 .loc 1 1221 0
|
|
|
1110 001a 0368 ldr r3, [r0]
|
|
|
1111 001c 9A68 ldr r2, [r3, #8]
|
|
|
1112 001e 1206 lsls r2, r2, #24
|
|
|
1113 0020 0BD5 bpl .L82
|
|
|
1223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1114 .loc 1 1223 0
|
|
|
1115 0022 9A68 ldr r2, [r3, #8]
|
|
|
1116 0024 7F31 adds r1, r1, #127
|
|
|
1117 0026 8A43 bics r2, r1
|
|
|
1118 0028 9A60 str r2, [r3, #8]
|
|
|
1226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1119 .loc 1 1226 0
|
|
|
1120 002a 036E ldr r3, [r0, #96]
|
|
|
ARM GAS /tmp/cc7An1gz.s page 65
|
|
|
|
|
|
|
|
|
1121 002c 002B cmp r3, #0
|
|
|
1122 002e 04D0 beq .L82
|
|
|
1230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1123 .loc 1 1230 0
|
|
|
1124 0030 0022 movs r2, #0
|
|
|
1125 0032 9A63 str r2, [r3, #56]
|
|
|
1232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1126 .loc 1 1232 0
|
|
|
1127 0034 006E ldr r0, [r0, #96]
|
|
|
1128 .LVL84:
|
|
|
1129 0036 FFF7FEFF bl HAL_DMA_Abort
|
|
|
1130 .LVL85:
|
|
|
1131 .L82:
|
|
|
1237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1132 .loc 1 1237 0
|
|
|
1133 003a 2368 ldr r3, [r4]
|
|
|
1134 003c 9A68 ldr r2, [r3, #8]
|
|
|
1135 003e 5206 lsls r2, r2, #25
|
|
|
1136 0040 0BD5 bpl .L83
|
|
|
1239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1137 .loc 1 1239 0
|
|
|
1138 0042 9A68 ldr r2, [r3, #8]
|
|
|
1139 0044 4021 movs r1, #64
|
|
|
1140 0046 8A43 bics r2, r1
|
|
|
1141 0048 9A60 str r2, [r3, #8]
|
|
|
1242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1142 .loc 1 1242 0
|
|
|
1143 004a 636E ldr r3, [r4, #100]
|
|
|
1144 004c 002B cmp r3, #0
|
|
|
1145 004e 04D0 beq .L83
|
|
|
1246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1146 .loc 1 1246 0
|
|
|
1147 0050 0022 movs r2, #0
|
|
|
1148 0052 9A63 str r2, [r3, #56]
|
|
|
1248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1149 .loc 1 1248 0
|
|
|
1150 0054 606E ldr r0, [r4, #100]
|
|
|
1151 0056 FFF7FEFF bl HAL_DMA_Abort
|
|
|
1152 .LVL86:
|
|
|
1153 .L83:
|
|
|
1253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = 0;
|
|
|
1154 .loc 1 1253 0
|
|
|
1155 005a 0023 movs r3, #0
|
|
|
1156 005c 5222 movs r2, #82
|
|
|
1157 005e A352 strh r3, [r4, r2]
|
|
|
1254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1158 .loc 1 1254 0
|
|
|
1159 0060 0832 adds r2, r2, #8
|
|
|
1160 0062 A352 strh r3, [r4, r2]
|
|
|
1257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1161 .loc 1 1257 0
|
|
|
1162 0064 2268 ldr r2, [r4]
|
|
|
1163 0066 0F21 movs r1, #15
|
|
|
1164 0068 1162 str r1, [r2, #32]
|
|
|
1260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
1165 .loc 1 1260 0
|
|
|
1166 006a 2022 movs r2, #32
|
|
|
ARM GAS /tmp/cc7An1gz.s page 66
|
|
|
|
|
|
|
|
|
1167 006c 5A31 adds r1, r1, #90
|
|
|
1168 006e 6254 strb r2, [r4, r1]
|
|
|
1261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1169 .loc 1 1261 0
|
|
|
1170 0070 0131 adds r1, r1, #1
|
|
|
1171 0072 6254 strb r2, [r4, r1]
|
|
|
1264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1172 .loc 1 1264 0
|
|
|
1173 0074 E366 str r3, [r4, #108]
|
|
|
1267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1174 .loc 1 1267 0
|
|
|
1175 0076 0020 movs r0, #0
|
|
|
1176 @ sp needed
|
|
|
1177 .LVL87:
|
|
|
1178 0078 10BD pop {r4, pc}
|
|
|
1179 .L85:
|
|
|
1180 007a C046 .align 2
|
|
|
1181 .L84:
|
|
|
1182 007c 1FFEFFFF .word -481
|
|
|
1183 .cfi_endproc
|
|
|
1184 .LFE55:
|
|
|
1186 .section .text.HAL_UART_AbortTransmit,"ax",%progbits
|
|
|
1187 .align 1
|
|
|
1188 .global HAL_UART_AbortTransmit
|
|
|
1189 .syntax unified
|
|
|
1190 .code 16
|
|
|
1191 .thumb_func
|
|
|
1192 .fpu softvfp
|
|
|
1194 HAL_UART_AbortTransmit:
|
|
|
1195 .LFB56:
|
|
|
1282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
|
|
|
1196 .loc 1 1282 0
|
|
|
1197 .cfi_startproc
|
|
|
1198 @ args = 0, pretend = 0, frame = 0
|
|
|
1199 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1200 .LVL88:
|
|
|
1201 0000 10B5 push {r4, lr}
|
|
|
1202 .LCFI7:
|
|
|
1203 .cfi_def_cfa_offset 8
|
|
|
1204 .cfi_offset 4, -8
|
|
|
1205 .cfi_offset 14, -4
|
|
|
1206 0002 0400 movs r4, r0
|
|
|
1284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1207 .loc 1 1284 0
|
|
|
1208 0004 0268 ldr r2, [r0]
|
|
|
1209 0006 1368 ldr r3, [r2]
|
|
|
1210 0008 C021 movs r1, #192
|
|
|
1211 000a 8B43 bics r3, r1
|
|
|
1212 000c 1360 str r3, [r2]
|
|
|
1287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1213 .loc 1 1287 0
|
|
|
1214 000e 0368 ldr r3, [r0]
|
|
|
1215 0010 9A68 ldr r2, [r3, #8]
|
|
|
1216 0012 1206 lsls r2, r2, #24
|
|
|
1217 0014 0BD5 bpl .L87
|
|
|
1289:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1218 .loc 1 1289 0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 67
|
|
|
|
|
|
|
|
|
1219 0016 9A68 ldr r2, [r3, #8]
|
|
|
1220 0018 4039 subs r1, r1, #64
|
|
|
1221 001a 8A43 bics r2, r1
|
|
|
1222 001c 9A60 str r2, [r3, #8]
|
|
|
1292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1223 .loc 1 1292 0
|
|
|
1224 001e 036E ldr r3, [r0, #96]
|
|
|
1225 0020 002B cmp r3, #0
|
|
|
1226 0022 04D0 beq .L87
|
|
|
1296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1227 .loc 1 1296 0
|
|
|
1228 0024 0022 movs r2, #0
|
|
|
1229 0026 9A63 str r2, [r3, #56]
|
|
|
1298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1230 .loc 1 1298 0
|
|
|
1231 0028 006E ldr r0, [r0, #96]
|
|
|
1232 .LVL89:
|
|
|
1233 002a FFF7FEFF bl HAL_DMA_Abort
|
|
|
1234 .LVL90:
|
|
|
1235 .L87:
|
|
|
1303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1236 .loc 1 1303 0
|
|
|
1237 002e 5223 movs r3, #82
|
|
|
1238 0030 0022 movs r2, #0
|
|
|
1239 0032 E252 strh r2, [r4, r3]
|
|
|
1306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1240 .loc 1 1306 0
|
|
|
1241 0034 1733 adds r3, r3, #23
|
|
|
1242 0036 2032 adds r2, r2, #32
|
|
|
1243 0038 E254 strb r2, [r4, r3]
|
|
|
1309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1244 .loc 1 1309 0
|
|
|
1245 003a 0020 movs r0, #0
|
|
|
1246 @ sp needed
|
|
|
1247 .LVL91:
|
|
|
1248 003c 10BD pop {r4, pc}
|
|
|
1249 .cfi_endproc
|
|
|
1250 .LFE56:
|
|
|
1252 .section .text.HAL_UART_AbortReceive,"ax",%progbits
|
|
|
1253 .align 1
|
|
|
1254 .global HAL_UART_AbortReceive
|
|
|
1255 .syntax unified
|
|
|
1256 .code 16
|
|
|
1257 .thumb_func
|
|
|
1258 .fpu softvfp
|
|
|
1260 HAL_UART_AbortReceive:
|
|
|
1261 .LFB57:
|
|
|
1324:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
|
|
|
1262 .loc 1 1324 0
|
|
|
1263 .cfi_startproc
|
|
|
1264 @ args = 0, pretend = 0, frame = 0
|
|
|
1265 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1266 .LVL92:
|
|
|
1267 0000 10B5 push {r4, lr}
|
|
|
1268 .LCFI8:
|
|
|
1269 .cfi_def_cfa_offset 8
|
|
|
1270 .cfi_offset 4, -8
|
|
|
ARM GAS /tmp/cc7An1gz.s page 68
|
|
|
|
|
|
|
|
|
1271 .cfi_offset 14, -4
|
|
|
1272 0002 0400 movs r4, r0
|
|
|
1326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
1273 .loc 1 1326 0
|
|
|
1274 0004 0268 ldr r2, [r0]
|
|
|
1275 0006 1368 ldr r3, [r2]
|
|
|
1276 0008 1149 ldr r1, .L90
|
|
|
1277 000a 0B40 ands r3, r1
|
|
|
1278 000c 1360 str r3, [r2]
|
|
|
1327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1279 .loc 1 1327 0
|
|
|
1280 000e 0268 ldr r2, [r0]
|
|
|
1281 0010 9368 ldr r3, [r2, #8]
|
|
|
1282 0012 2331 adds r1, r1, #35
|
|
|
1283 0014 FF31 adds r1, r1, #255
|
|
|
1284 0016 8B43 bics r3, r1
|
|
|
1285 0018 9360 str r3, [r2, #8]
|
|
|
1330:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1286 .loc 1 1330 0
|
|
|
1287 001a 0368 ldr r3, [r0]
|
|
|
1288 001c 9A68 ldr r2, [r3, #8]
|
|
|
1289 001e 5206 lsls r2, r2, #25
|
|
|
1290 0020 0BD5 bpl .L89
|
|
|
1332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1291 .loc 1 1332 0
|
|
|
1292 0022 9A68 ldr r2, [r3, #8]
|
|
|
1293 0024 3F31 adds r1, r1, #63
|
|
|
1294 0026 8A43 bics r2, r1
|
|
|
1295 0028 9A60 str r2, [r3, #8]
|
|
|
1335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1296 .loc 1 1335 0
|
|
|
1297 002a 436E ldr r3, [r0, #100]
|
|
|
1298 002c 002B cmp r3, #0
|
|
|
1299 002e 04D0 beq .L89
|
|
|
1339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1300 .loc 1 1339 0
|
|
|
1301 0030 0022 movs r2, #0
|
|
|
1302 0032 9A63 str r2, [r3, #56]
|
|
|
1341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1303 .loc 1 1341 0
|
|
|
1304 0034 406E ldr r0, [r0, #100]
|
|
|
1305 .LVL93:
|
|
|
1306 0036 FFF7FEFF bl HAL_DMA_Abort
|
|
|
1307 .LVL94:
|
|
|
1308 .L89:
|
|
|
1346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1309 .loc 1 1346 0
|
|
|
1310 003a 5A23 movs r3, #90
|
|
|
1311 003c 0022 movs r2, #0
|
|
|
1312 003e E252 strh r2, [r4, r3]
|
|
|
1349:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1313 .loc 1 1349 0
|
|
|
1314 0040 2368 ldr r3, [r4]
|
|
|
1315 0042 0F32 adds r2, r2, #15
|
|
|
1316 0044 1A62 str r2, [r3, #32]
|
|
|
1352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1317 .loc 1 1352 0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 69
|
|
|
|
|
|
|
|
|
1318 0046 6A23 movs r3, #106
|
|
|
1319 0048 1132 adds r2, r2, #17
|
|
|
1320 004a E254 strb r2, [r4, r3]
|
|
|
1355:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1321 .loc 1 1355 0
|
|
|
1322 004c 0020 movs r0, #0
|
|
|
1323 @ sp needed
|
|
|
1324 .LVL95:
|
|
|
1325 004e 10BD pop {r4, pc}
|
|
|
1326 .L91:
|
|
|
1327 .align 2
|
|
|
1328 .L90:
|
|
|
1329 0050 DFFEFFFF .word -289
|
|
|
1330 .cfi_endproc
|
|
|
1331 .LFE57:
|
|
|
1333 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits
|
|
|
1334 .align 1
|
|
|
1335 .weak HAL_UART_TxCpltCallback
|
|
|
1336 .syntax unified
|
|
|
1337 .code 16
|
|
|
1338 .thumb_func
|
|
|
1339 .fpu softvfp
|
|
|
1341 HAL_UART_TxCpltCallback:
|
|
|
1342 .LFB62:
|
|
|
1777:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
1343 .loc 1 1777 0
|
|
|
1344 .cfi_startproc
|
|
|
1345 @ args = 0, pretend = 0, frame = 0
|
|
|
1346 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1347 @ link register save eliminated.
|
|
|
1348 .LVL96:
|
|
|
1784:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1349 .loc 1 1784 0
|
|
|
1350 @ sp needed
|
|
|
1351 0000 7047 bx lr
|
|
|
1352 .cfi_endproc
|
|
|
1353 .LFE62:
|
|
|
1355 .section .text.UART_DMATransmitCplt,"ax",%progbits
|
|
|
1356 .align 1
|
|
|
1357 .syntax unified
|
|
|
1358 .code 16
|
|
|
1359 .thumb_func
|
|
|
1360 .fpu softvfp
|
|
|
1362 UART_DMATransmitCplt:
|
|
|
1363 .LFB84:
|
|
|
2481:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2482:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2483:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2484:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2485:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief DMA UART transmit process complete callback.
|
|
|
2486:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param hdma DMA handle.
|
|
|
2487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
2488:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2489:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
|
|
|
2490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1364 .loc 1 2490 0
|
|
|
1365 .cfi_startproc
|
|
|
ARM GAS /tmp/cc7An1gz.s page 70
|
|
|
|
|
|
|
|
|
1366 @ args = 0, pretend = 0, frame = 0
|
|
|
1367 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1368 .LVL97:
|
|
|
1369 0000 10B5 push {r4, lr}
|
|
|
1370 .LCFI9:
|
|
|
1371 .cfi_def_cfa_offset 8
|
|
|
1372 .cfi_offset 4, -8
|
|
|
1373 .cfi_offset 14, -4
|
|
|
2491:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent);
|
|
|
1374 .loc 1 2491 0
|
|
|
1375 0002 836A ldr r3, [r0, #40]
|
|
|
1376 .LVL98:
|
|
|
2492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2493:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* DMA Normal mode */
|
|
|
2494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ( HAL_IS_BIT_CLR(hdma->Instance->CCR, DMA_CCR_CIRC) )
|
|
|
1377 .loc 1 2494 0
|
|
|
1378 0004 0268 ldr r2, [r0]
|
|
|
1379 0006 1268 ldr r2, [r2]
|
|
|
1380 0008 9206 lsls r2, r2, #26
|
|
|
1381 000a 0DD4 bmi .L94
|
|
|
2495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount = 0U;
|
|
|
1382 .loc 1 2496 0
|
|
|
1383 000c 5222 movs r2, #82
|
|
|
1384 000e 0021 movs r1, #0
|
|
|
1385 0010 9952 strh r1, [r3, r2]
|
|
|
2497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by resetting the DMAT bit
|
|
|
2499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** in the UART CR3 register */
|
|
|
2500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
|
|
|
1386 .loc 1 2500 0
|
|
|
1387 0012 1968 ldr r1, [r3]
|
|
|
1388 0014 8A68 ldr r2, [r1, #8]
|
|
|
1389 0016 8020 movs r0, #128
|
|
|
1390 .LVL99:
|
|
|
1391 0018 8243 bics r2, r0
|
|
|
1392 001a 8A60 str r2, [r1, #8]
|
|
|
2501:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2502:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
|
|
|
2503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
|
|
|
1393 .loc 1 2503 0
|
|
|
1394 001c 1A68 ldr r2, [r3]
|
|
|
1395 001e 1368 ldr r3, [r2]
|
|
|
1396 .LVL100:
|
|
|
1397 0020 4021 movs r1, #64
|
|
|
1398 0022 0B43 orrs r3, r1
|
|
|
1399 0024 1360 str r3, [r2]
|
|
|
1400 .L93:
|
|
|
2504:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2505:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* DMA Circular mode */
|
|
|
2506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
2507:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
|
|
|
2509:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2510:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1401 .loc 1 2511 0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 71
|
|
|
|
|
|
|
|
|
1402 @ sp needed
|
|
|
1403 0026 10BD pop {r4, pc}
|
|
|
1404 .LVL101:
|
|
|
1405 .L94:
|
|
|
2508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1406 .loc 1 2508 0
|
|
|
1407 0028 1800 movs r0, r3
|
|
|
1408 .LVL102:
|
|
|
1409 002a FFF7FEFF bl HAL_UART_TxCpltCallback
|
|
|
1410 .LVL103:
|
|
|
1411 .loc 1 2511 0
|
|
|
1412 002e FAE7 b .L93
|
|
|
1413 .cfi_endproc
|
|
|
1414 .LFE84:
|
|
|
1416 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits
|
|
|
1417 .align 1
|
|
|
1418 .weak HAL_UART_TxHalfCpltCallback
|
|
|
1419 .syntax unified
|
|
|
1420 .code 16
|
|
|
1421 .thumb_func
|
|
|
1422 .fpu softvfp
|
|
|
1424 HAL_UART_TxHalfCpltCallback:
|
|
|
1425 .LFB63:
|
|
|
1792:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
1426 .loc 1 1792 0
|
|
|
1427 .cfi_startproc
|
|
|
1428 @ args = 0, pretend = 0, frame = 0
|
|
|
1429 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1430 @ link register save eliminated.
|
|
|
1431 .LVL104:
|
|
|
1799:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1432 .loc 1 1799 0
|
|
|
1433 @ sp needed
|
|
|
1434 0000 7047 bx lr
|
|
|
1435 .cfi_endproc
|
|
|
1436 .LFE63:
|
|
|
1438 .section .text.UART_DMATxHalfCplt,"ax",%progbits
|
|
|
1439 .align 1
|
|
|
1440 .syntax unified
|
|
|
1441 .code 16
|
|
|
1442 .thumb_func
|
|
|
1443 .fpu softvfp
|
|
|
1445 UART_DMATxHalfCplt:
|
|
|
1446 .LFB85:
|
|
|
2512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2513:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2514:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback.
|
|
|
2515:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param hdma DMA handle.
|
|
|
2516:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
2517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2518:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
|
|
|
2519:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1447 .loc 1 2519 0
|
|
|
1448 .cfi_startproc
|
|
|
1449 @ args = 0, pretend = 0, frame = 0
|
|
|
1450 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1451 .LVL105:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 72
|
|
|
|
|
|
|
|
|
1452 0000 10B5 push {r4, lr}
|
|
|
1453 .LCFI10:
|
|
|
1454 .cfi_def_cfa_offset 8
|
|
|
1455 .cfi_offset 4, -8
|
|
|
1456 .cfi_offset 14, -4
|
|
|
2520:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent);
|
|
|
1457 .loc 1 2520 0
|
|
|
1458 0002 806A ldr r0, [r0, #40]
|
|
|
1459 .LVL106:
|
|
|
2521:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2522:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart);
|
|
|
1460 .loc 1 2522 0
|
|
|
1461 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback
|
|
|
1462 .LVL107:
|
|
|
2523:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1463 .loc 1 2523 0
|
|
|
1464 @ sp needed
|
|
|
1465 0008 10BD pop {r4, pc}
|
|
|
1466 .cfi_endproc
|
|
|
1467 .LFE85:
|
|
|
1469 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits
|
|
|
1470 .align 1
|
|
|
1471 .weak HAL_UART_RxCpltCallback
|
|
|
1472 .syntax unified
|
|
|
1473 .code 16
|
|
|
1474 .thumb_func
|
|
|
1475 .fpu softvfp
|
|
|
1477 HAL_UART_RxCpltCallback:
|
|
|
1478 .LFB64:
|
|
|
1807:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
1479 .loc 1 1807 0
|
|
|
1480 .cfi_startproc
|
|
|
1481 @ args = 0, pretend = 0, frame = 0
|
|
|
1482 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1483 @ link register save eliminated.
|
|
|
1484 .LVL108:
|
|
|
1814:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1485 .loc 1 1814 0
|
|
|
1486 @ sp needed
|
|
|
1487 0000 7047 bx lr
|
|
|
1488 .cfi_endproc
|
|
|
1489 .LFE64:
|
|
|
1491 .section .text.UART_DMAReceiveCplt,"ax",%progbits
|
|
|
1492 .align 1
|
|
|
1493 .syntax unified
|
|
|
1494 .code 16
|
|
|
1495 .thumb_func
|
|
|
1496 .fpu softvfp
|
|
|
1498 UART_DMAReceiveCplt:
|
|
|
1499 .LFB86:
|
|
|
2524:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2525:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2526:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief DMA UART receive process complete callback.
|
|
|
2527:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param hdma DMA handle.
|
|
|
2528:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
2529:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2530:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
|
|
|
ARM GAS /tmp/cc7An1gz.s page 73
|
|
|
|
|
|
|
|
|
2531:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1500 .loc 1 2531 0
|
|
|
1501 .cfi_startproc
|
|
|
1502 @ args = 0, pretend = 0, frame = 0
|
|
|
1503 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1504 .LVL109:
|
|
|
1505 0000 10B5 push {r4, lr}
|
|
|
1506 .LCFI11:
|
|
|
1507 .cfi_def_cfa_offset 8
|
|
|
1508 .cfi_offset 4, -8
|
|
|
1509 .cfi_offset 14, -4
|
|
|
2532:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent);
|
|
|
1510 .loc 1 2532 0
|
|
|
1511 0002 836A ldr r3, [r0, #40]
|
|
|
1512 .LVL110:
|
|
|
2533:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2534:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* DMA Normal mode */
|
|
|
2535:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ( HAL_IS_BIT_CLR(hdma->Instance->CCR, DMA_CCR_CIRC) )
|
|
|
1513 .loc 1 2535 0
|
|
|
1514 0004 0268 ldr r2, [r0]
|
|
|
1515 0006 1268 ldr r2, [r2]
|
|
|
1516 0008 9206 lsls r2, r2, #26
|
|
|
1517 000a 15D4 bmi .L100
|
|
|
2536:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2537:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = 0U;
|
|
|
1518 .loc 1 2537 0
|
|
|
1519 000c 5A22 movs r2, #90
|
|
|
1520 000e 0021 movs r1, #0
|
|
|
1521 0010 9952 strh r1, [r3, r2]
|
|
|
2538:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2539:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
|
|
|
2540:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
|
|
|
1522 .loc 1 2540 0
|
|
|
1523 0012 1968 ldr r1, [r3]
|
|
|
1524 0014 0A68 ldr r2, [r1]
|
|
|
1525 0016 0A48 ldr r0, .L101
|
|
|
1526 .LVL111:
|
|
|
1527 0018 0240 ands r2, r0
|
|
|
1528 001a 0A60 str r2, [r1]
|
|
|
2541:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
1529 .loc 1 2541 0
|
|
|
1530 001c 1968 ldr r1, [r3]
|
|
|
1531 001e 8A68 ldr r2, [r1, #8]
|
|
|
1532 0020 0330 adds r0, r0, #3
|
|
|
1533 0022 FF30 adds r0, r0, #255
|
|
|
1534 0024 8243 bics r2, r0
|
|
|
1535 0026 8A60 str r2, [r1, #8]
|
|
|
2542:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2543:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
|
|
|
2544:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** in the UART CR3 register */
|
|
|
2545:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
|
|
|
1536 .loc 1 2545 0
|
|
|
1537 0028 1968 ldr r1, [r3]
|
|
|
1538 002a 8A68 ldr r2, [r1, #8]
|
|
|
1539 002c 3F30 adds r0, r0, #63
|
|
|
1540 002e 8243 bics r2, r0
|
|
|
1541 0030 8A60 str r2, [r1, #8]
|
|
|
ARM GAS /tmp/cc7An1gz.s page 74
|
|
|
|
|
|
|
|
|
2546:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2547:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
|
|
|
2548:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
1542 .loc 1 2548 0
|
|
|
1543 0032 6A22 movs r2, #106
|
|
|
1544 0034 2021 movs r1, #32
|
|
|
1545 0036 9954 strb r1, [r3, r2]
|
|
|
1546 .L100:
|
|
|
2549:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2550:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2551:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
|
|
|
1547 .loc 1 2551 0
|
|
|
1548 0038 1800 movs r0, r3
|
|
|
1549 003a FFF7FEFF bl HAL_UART_RxCpltCallback
|
|
|
1550 .LVL112:
|
|
|
2552:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1551 .loc 1 2552 0
|
|
|
1552 @ sp needed
|
|
|
1553 003e 10BD pop {r4, pc}
|
|
|
1554 .L102:
|
|
|
1555 .align 2
|
|
|
1556 .L101:
|
|
|
1557 0040 FFFEFFFF .word -257
|
|
|
1558 .cfi_endproc
|
|
|
1559 .LFE86:
|
|
|
1561 .section .text.UART_Receive_IT,"ax",%progbits
|
|
|
1562 .align 1
|
|
|
1563 .syntax unified
|
|
|
1564 .code 16
|
|
|
1565 .thumb_func
|
|
|
1566 .fpu softvfp
|
|
|
1568 UART_Receive_IT:
|
|
|
1569 .LFB96:
|
|
|
2553:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2554:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2555:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief DMA UART receive process half complete callback.
|
|
|
2556:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param hdma DMA handle.
|
|
|
2557:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
2558:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2559:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
|
|
|
2560:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2561:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent);
|
|
|
2562:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2563:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart);
|
|
|
2564:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2565:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2566:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2567:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief DMA UART communication error callback.
|
|
|
2568:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param hdma DMA handle.
|
|
|
2569:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
2570:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2571:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma)
|
|
|
2572:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2573:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent);
|
|
|
2574:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2575:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
|
|
|
2576:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ( (huart->gState == HAL_UART_STATE_BUSY_TX)
|
|
|
ARM GAS /tmp/cc7An1gz.s page 75
|
|
|
|
|
|
|
|
|
2577:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** &&(HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) )
|
|
|
2578:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2579:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount = 0;
|
|
|
2580:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_EndTxTransfer(huart);
|
|
|
2581:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2582:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2583:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
|
|
|
2584:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ( (huart->RxState == HAL_UART_STATE_BUSY_RX)
|
|
|
2585:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** &&(HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) )
|
|
|
2586:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2587:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = 0;
|
|
|
2588:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_EndRxTransfer(huart);
|
|
|
2589:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2590:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2591:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA;
|
|
|
2592:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
|
|
|
2593:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2594:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2595:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2596:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error
|
|
|
2597:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence).
|
|
|
2598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param hdma DMA handle.
|
|
|
2599:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
2600:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2601:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
|
|
|
2602:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2603:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent);
|
|
|
2604:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = 0;
|
|
|
2605:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount = 0;
|
|
|
2606:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
|
|
|
2608:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2609:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2610:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2611:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user
|
|
|
2612:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request).
|
|
|
2613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
|
|
|
2614:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle.
|
|
|
2615:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param hdma DMA handle.
|
|
|
2616:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
2617:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2618:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
|
|
|
2619:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2620:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = (UART_HandleTypeDef* )(hdma->Parent);
|
|
|
2621:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2622:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
|
|
|
2623:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2624:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
|
|
|
2625:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmarx != NULL)
|
|
|
2626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2627:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmarx->XferAbortCallback != NULL)
|
|
|
2628:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2629:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return;
|
|
|
2630:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2631:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2632:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2633:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
|
|
|
ARM GAS /tmp/cc7An1gz.s page 76
|
|
|
|
|
|
|
|
|
2634:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount = 0;
|
|
|
2635:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = 0;
|
|
|
2636:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2637:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Reset errorCode */
|
|
|
2638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
|
|
|
2639:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2640:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
|
|
|
2641:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
|
|
|
2642:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2643:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
|
|
|
2644:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
2645:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
2646:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2647:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Call user Abort complete callback */
|
|
|
2648:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
|
|
|
2649:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2651:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2652:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2653:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user
|
|
|
2654:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request).
|
|
|
2655:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
|
|
|
2656:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle.
|
|
|
2657:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param hdma DMA handle.
|
|
|
2658:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
2659:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2660:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
|
|
|
2661:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2662:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = (UART_HandleTypeDef* )(hdma->Parent);
|
|
|
2663:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2664:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
|
|
|
2665:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
|
|
|
2667:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmatx != NULL)
|
|
|
2668:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2669:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->hdmatx->XferAbortCallback != NULL)
|
|
|
2670:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2671:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return;
|
|
|
2672:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2673:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2675:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
|
|
|
2676:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount = 0;
|
|
|
2677:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = 0;
|
|
|
2678:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2679:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Reset errorCode */
|
|
|
2680:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
|
|
|
2681:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2682:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
|
|
|
2683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
|
|
|
2684:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2685:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
|
|
|
2686:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
2687:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
2688:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2689:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Call user Abort complete callback */
|
|
|
2690:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
|
|
|
ARM GAS /tmp/cc7An1gz.s page 77
|
|
|
|
|
|
|
|
|
2691:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2692:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2694:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2695:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to
|
|
|
2696:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer)
|
|
|
2697:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques
|
|
|
2698:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution).
|
|
|
2699:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param hdma DMA handle.
|
|
|
2700:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
2701:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2702:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
|
|
|
2703:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2704:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent);
|
|
|
2705:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2706:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount = 0;
|
|
|
2707:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2708:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Restore huart->gState to Ready */
|
|
|
2709:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
2710:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2711:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Call user Abort complete callback */
|
|
|
2712:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
|
|
|
2713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2714:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2715:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2716:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to
|
|
|
2717:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer)
|
|
|
2718:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques
|
|
|
2719:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution).
|
|
|
2720:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param hdma DMA handle.
|
|
|
2721:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval None
|
|
|
2722:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2723:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
|
|
|
2724:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2725:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = ( UART_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent;
|
|
|
2726:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2727:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = 0;
|
|
|
2728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2729:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
|
|
|
2730:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
|
|
|
2731:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2732:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Restore huart->RxState to Ready */
|
|
|
2733:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
2734:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2735:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Call user Abort complete callback */
|
|
|
2736:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
|
|
|
2737:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2738:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2739:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2740:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Send an amount of data in interrupt mode.
|
|
|
2741:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note Function is called under interruption only, once
|
|
|
2742:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT().
|
|
|
2743:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart UART handle.
|
|
|
2744:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
2745:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2746:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart)
|
|
|
2747:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
ARM GAS /tmp/cc7An1gz.s page 78
|
|
|
|
|
|
|
|
|
2748:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint16_t* tmp;
|
|
|
2749:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2750:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check that a Tx process is ongoing */
|
|
|
2751:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
|
|
|
2752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2753:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->TxXferCount == 0U)
|
|
|
2754:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2755:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */
|
|
|
2756:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE);
|
|
|
2757:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2758:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
|
|
|
2759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
|
|
|
2760:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2761:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
2762:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2763:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
2764:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2765:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE
|
|
|
2766:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2767:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tmp = (uint16_t*) huart->pTxBuffPtr;
|
|
|
2768:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->TDR = (*tmp & (uint16_t)0x01FFU);
|
|
|
2769:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
|
|
|
2770:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2771:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
2772:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2773:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr++ & (uint8_t)0xFFU);
|
|
|
2774:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2775:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount--;
|
|
|
2776:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2777:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
2778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2779:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
2781:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2782:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_BUSY;
|
|
|
2783:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2784:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2786:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2787:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Wrap up transmission in non-blocking mode.
|
|
|
2788:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart pointer to a UART_HandleTypeDef structure that contains
|
|
|
2789:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * the configuration information for the specified UART module.
|
|
|
2790:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
2791:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2792:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart)
|
|
|
2793:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2794:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
|
|
|
2795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE);
|
|
|
2796:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2797:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */
|
|
|
2798:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
|
|
|
2799:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2800:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
|
|
|
2801:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2802:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
2803:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2804:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
ARM GAS /tmp/cc7An1gz.s page 79
|
|
|
|
|
|
|
|
|
2805:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
2806:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode.
|
|
|
2807:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @note Function is called under interruption only, once
|
|
|
2808:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT()
|
|
|
2809:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @param huart UART handle.
|
|
|
2810:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** * @retval HAL status
|
|
|
2811:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** */
|
|
|
2812:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart)
|
|
|
2813:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1570 .loc 1 2813 0
|
|
|
1571 .cfi_startproc
|
|
|
1572 @ args = 0, pretend = 0, frame = 0
|
|
|
1573 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1574 .LVL113:
|
|
|
1575 0000 70B5 push {r4, r5, r6, lr}
|
|
|
1576 .LCFI12:
|
|
|
1577 .cfi_def_cfa_offset 16
|
|
|
1578 .cfi_offset 4, -16
|
|
|
1579 .cfi_offset 5, -12
|
|
|
1580 .cfi_offset 6, -8
|
|
|
1581 .cfi_offset 14, -4
|
|
|
2814:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint16_t* tmp;
|
|
|
2815:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint16_t uhMask = huart->Mask;
|
|
|
1582 .loc 1 2815 0
|
|
|
1583 0002 5C23 movs r3, #92
|
|
|
1584 0004 C35A ldrh r3, [r0, r3]
|
|
|
1585 .LVL114:
|
|
|
2816:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint16_t uhdata;
|
|
|
2817:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2818:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check that a Rx process is ongoing */
|
|
|
2819:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(huart->RxState == HAL_UART_STATE_BUSY_RX)
|
|
|
1586 .loc 1 2819 0
|
|
|
1587 0006 6A22 movs r2, #106
|
|
|
1588 0008 825C ldrb r2, [r0, r2]
|
|
|
1589 000a 222A cmp r2, #34
|
|
|
1590 000c 32D1 bne .L104
|
|
|
2820:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2821:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
|
|
|
1591 .loc 1 2821 0
|
|
|
1592 000e 0268 ldr r2, [r0]
|
|
|
1593 0010 526A ldr r2, [r2, #36]
|
|
|
1594 0012 94B2 uxth r4, r2
|
|
|
1595 .LVL115:
|
|
|
2822:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
|
|
|
1596 .loc 1 2822 0
|
|
|
1597 0014 8021 movs r1, #128
|
|
|
1598 0016 4901 lsls r1, r1, #5
|
|
|
1599 0018 8568 ldr r5, [r0, #8]
|
|
|
1600 001a 8D42 cmp r5, r1
|
|
|
1601 001c 0ED0 beq .L109
|
|
|
1602 .L105:
|
|
|
2823:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2824:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** tmp = (uint16_t*) huart->pRxBuffPtr ;
|
|
|
2825:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask);
|
|
|
2826:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->pRxBuffPtr +=2;
|
|
|
2827:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2828:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
ARM GAS /tmp/cc7An1gz.s page 80
|
|
|
|
|
|
|
|
|
2829:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2830:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** *huart->pRxBuffPtr++ = (uint8_t)(uhdata & (uint8_t)uhMask);
|
|
|
1603 .loc 1 2830 0
|
|
|
1604 001e DBB2 uxtb r3, r3
|
|
|
1605 .LVL116:
|
|
|
1606 0020 416D ldr r1, [r0, #84]
|
|
|
1607 0022 4C1C adds r4, r1, #1
|
|
|
1608 .LVL117:
|
|
|
1609 0024 4465 str r4, [r0, #84]
|
|
|
1610 .LVL118:
|
|
|
1611 0026 1340 ands r3, r2
|
|
|
1612 0028 0B70 strb r3, [r1]
|
|
|
1613 .LVL119:
|
|
|
1614 .L106:
|
|
|
2831:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2832:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2833:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(--huart->RxXferCount == 0U)
|
|
|
1615 .loc 1 2833 0
|
|
|
1616 002a 5A22 movs r2, #90
|
|
|
1617 002c 835A ldrh r3, [r0, r2]
|
|
|
1618 002e 013B subs r3, r3, #1
|
|
|
1619 0030 9BB2 uxth r3, r3
|
|
|
1620 0032 8352 strh r3, [r0, r2]
|
|
|
1621 0034 002B cmp r3, #0
|
|
|
1622 0036 0BD0 beq .L110
|
|
|
2834:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2835:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupt*/
|
|
|
2836:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
|
|
|
2837:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2838:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
|
|
|
2839:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
2840:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2841:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
|
|
|
2842:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
2843:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2844:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
|
|
|
2845:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2846:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
2847:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2848:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2849:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_OK;
|
|
|
1623 .loc 1 2849 0
|
|
|
1624 0038 0020 movs r0, #0
|
|
|
1625 .LVL120:
|
|
|
1626 003a 21E0 b .L107
|
|
|
1627 .LVL121:
|
|
|
1628 .L109:
|
|
|
2822:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1629 .loc 1 2822 0 discriminator 1
|
|
|
1630 003c 0169 ldr r1, [r0, #16]
|
|
|
1631 003e 0029 cmp r1, #0
|
|
|
1632 0040 EDD1 bne .L105
|
|
|
1633 .LVL122:
|
|
|
2825:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->pRxBuffPtr +=2;
|
|
|
1634 .loc 1 2825 0
|
|
|
1635 0042 2340 ands r3, r4
|
|
|
1636 .LVL123:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 81
|
|
|
|
|
|
|
|
|
1637 0044 426D ldr r2, [r0, #84]
|
|
|
1638 0046 1380 strh r3, [r2]
|
|
|
1639 .LVL124:
|
|
|
2826:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1640 .loc 1 2826 0
|
|
|
1641 0048 436D ldr r3, [r0, #84]
|
|
|
1642 004a 0233 adds r3, r3, #2
|
|
|
1643 004c 4365 str r3, [r0, #84]
|
|
|
1644 004e ECE7 b .L106
|
|
|
1645 .LVL125:
|
|
|
1646 .L110:
|
|
|
2836:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1647 .loc 1 2836 0
|
|
|
1648 0050 0268 ldr r2, [r0]
|
|
|
1649 0052 1368 ldr r3, [r2]
|
|
|
1650 0054 0B49 ldr r1, .L111
|
|
|
1651 0056 0B40 ands r3, r1
|
|
|
1652 0058 1360 str r3, [r2]
|
|
|
2839:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1653 .loc 1 2839 0
|
|
|
1654 005a 0268 ldr r2, [r0]
|
|
|
1655 005c 9368 ldr r3, [r2, #8]
|
|
|
1656 005e 2331 adds r1, r1, #35
|
|
|
1657 0060 FF31 adds r1, r1, #255
|
|
|
1658 0062 8B43 bics r3, r1
|
|
|
1659 0064 9360 str r3, [r2, #8]
|
|
|
2842:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1660 .loc 1 2842 0
|
|
|
1661 0066 6A23 movs r3, #106
|
|
|
1662 0068 2022 movs r2, #32
|
|
|
1663 006a C254 strb r2, [r0, r3]
|
|
|
2844:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1664 .loc 1 2844 0
|
|
|
1665 006c FFF7FEFF bl HAL_UART_RxCpltCallback
|
|
|
1666 .LVL126:
|
|
|
2846:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1667 .loc 1 2846 0
|
|
|
1668 0070 0020 movs r0, #0
|
|
|
1669 0072 05E0 b .L107
|
|
|
1670 .LVL127:
|
|
|
1671 .L104:
|
|
|
2850:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2851:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** else
|
|
|
2852:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2853:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Clear RXNE interrupt flag */
|
|
|
2854:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
|
|
|
1672 .loc 1 2854 0
|
|
|
1673 0074 0268 ldr r2, [r0]
|
|
|
1674 0076 9369 ldr r3, [r2, #24]
|
|
|
1675 .LVL128:
|
|
|
1676 0078 0821 movs r1, #8
|
|
|
1677 007a 0B43 orrs r3, r1
|
|
|
1678 007c 9361 str r3, [r2, #24]
|
|
|
1679 .LVL129:
|
|
|
2855:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2856:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_BUSY;
|
|
|
1680 .loc 1 2856 0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 82
|
|
|
|
|
|
|
|
|
1681 007e 0220 movs r0, #2
|
|
|
1682 .LVL130:
|
|
|
1683 .L107:
|
|
|
2857:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2858:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1684 .loc 1 2858 0
|
|
|
1685 @ sp needed
|
|
|
1686 0080 70BD pop {r4, r5, r6, pc}
|
|
|
1687 .L112:
|
|
|
1688 0082 C046 .align 2
|
|
|
1689 .L111:
|
|
|
1690 0084 DFFEFFFF .word -289
|
|
|
1691 .cfi_endproc
|
|
|
1692 .LFE96:
|
|
|
1694 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits
|
|
|
1695 .align 1
|
|
|
1696 .weak HAL_UART_RxHalfCpltCallback
|
|
|
1697 .syntax unified
|
|
|
1698 .code 16
|
|
|
1699 .thumb_func
|
|
|
1700 .fpu softvfp
|
|
|
1702 HAL_UART_RxHalfCpltCallback:
|
|
|
1703 .LFB65:
|
|
|
1822:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
1704 .loc 1 1822 0
|
|
|
1705 .cfi_startproc
|
|
|
1706 @ args = 0, pretend = 0, frame = 0
|
|
|
1707 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1708 @ link register save eliminated.
|
|
|
1709 .LVL131:
|
|
|
1829:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1710 .loc 1 1829 0
|
|
|
1711 @ sp needed
|
|
|
1712 0000 7047 bx lr
|
|
|
1713 .cfi_endproc
|
|
|
1714 .LFE65:
|
|
|
1716 .section .text.UART_DMARxHalfCplt,"ax",%progbits
|
|
|
1717 .align 1
|
|
|
1718 .syntax unified
|
|
|
1719 .code 16
|
|
|
1720 .thumb_func
|
|
|
1721 .fpu softvfp
|
|
|
1723 UART_DMARxHalfCplt:
|
|
|
1724 .LFB87:
|
|
|
2560:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent);
|
|
|
1725 .loc 1 2560 0
|
|
|
1726 .cfi_startproc
|
|
|
1727 @ args = 0, pretend = 0, frame = 0
|
|
|
1728 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1729 .LVL132:
|
|
|
1730 0000 10B5 push {r4, lr}
|
|
|
1731 .LCFI13:
|
|
|
1732 .cfi_def_cfa_offset 8
|
|
|
1733 .cfi_offset 4, -8
|
|
|
1734 .cfi_offset 14, -4
|
|
|
2561:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1735 .loc 1 2561 0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 83
|
|
|
|
|
|
|
|
|
1736 0002 806A ldr r0, [r0, #40]
|
|
|
1737 .LVL133:
|
|
|
2563:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1738 .loc 1 2563 0
|
|
|
1739 0004 FFF7FEFF bl HAL_UART_RxHalfCpltCallback
|
|
|
1740 .LVL134:
|
|
|
2564:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1741 .loc 1 2564 0
|
|
|
1742 @ sp needed
|
|
|
1743 0008 10BD pop {r4, pc}
|
|
|
1744 .cfi_endproc
|
|
|
1745 .LFE87:
|
|
|
1747 .section .text.HAL_UART_ErrorCallback,"ax",%progbits
|
|
|
1748 .align 1
|
|
|
1749 .weak HAL_UART_ErrorCallback
|
|
|
1750 .syntax unified
|
|
|
1751 .code 16
|
|
|
1752 .thumb_func
|
|
|
1753 .fpu softvfp
|
|
|
1755 HAL_UART_ErrorCallback:
|
|
|
1756 .LFB66:
|
|
|
1837:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
1757 .loc 1 1837 0
|
|
|
1758 .cfi_startproc
|
|
|
1759 @ args = 0, pretend = 0, frame = 0
|
|
|
1760 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1761 @ link register save eliminated.
|
|
|
1762 .LVL135:
|
|
|
1844:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1763 .loc 1 1844 0
|
|
|
1764 @ sp needed
|
|
|
1765 0000 7047 bx lr
|
|
|
1766 .cfi_endproc
|
|
|
1767 .LFE66:
|
|
|
1769 .section .text.UART_DMAError,"ax",%progbits
|
|
|
1770 .align 1
|
|
|
1771 .syntax unified
|
|
|
1772 .code 16
|
|
|
1773 .thumb_func
|
|
|
1774 .fpu softvfp
|
|
|
1776 UART_DMAError:
|
|
|
1777 .LFB88:
|
|
|
2572:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent);
|
|
|
1778 .loc 1 2572 0
|
|
|
1779 .cfi_startproc
|
|
|
1780 @ args = 0, pretend = 0, frame = 0
|
|
|
1781 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1782 .LVL136:
|
|
|
1783 0000 10B5 push {r4, lr}
|
|
|
1784 .LCFI14:
|
|
|
1785 .cfi_def_cfa_offset 8
|
|
|
1786 .cfi_offset 4, -8
|
|
|
1787 .cfi_offset 14, -4
|
|
|
2573:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1788 .loc 1 2573 0
|
|
|
1789 0002 806A ldr r0, [r0, #40]
|
|
|
1790 .LVL137:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 84
|
|
|
|
|
|
|
|
|
2576:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** &&(HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) )
|
|
|
1791 .loc 1 2576 0
|
|
|
1792 0004 6923 movs r3, #105
|
|
|
1793 0006 C35C ldrb r3, [r0, r3]
|
|
|
1794 0008 212B cmp r3, #33
|
|
|
1795 000a 0AD0 beq .L119
|
|
|
1796 .L117:
|
|
|
2584:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** &&(HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) )
|
|
|
1797 .loc 1 2584 0
|
|
|
1798 000c 6A23 movs r3, #106
|
|
|
1799 000e C35C ldrb r3, [r0, r3]
|
|
|
1800 0010 222B cmp r3, #34
|
|
|
1801 0012 15D0 beq .L120
|
|
|
1802 .L118:
|
|
|
2591:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
|
|
|
1803 .loc 1 2591 0
|
|
|
1804 0014 C36E ldr r3, [r0, #108]
|
|
|
1805 0016 1022 movs r2, #16
|
|
|
1806 0018 1343 orrs r3, r2
|
|
|
1807 001a C366 str r3, [r0, #108]
|
|
|
2592:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1808 .loc 1 2592 0
|
|
|
1809 001c FFF7FEFF bl HAL_UART_ErrorCallback
|
|
|
1810 .LVL138:
|
|
|
2593:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1811 .loc 1 2593 0
|
|
|
1812 @ sp needed
|
|
|
1813 0020 10BD pop {r4, pc}
|
|
|
1814 .LVL139:
|
|
|
1815 .L119:
|
|
|
2577:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1816 .loc 1 2577 0
|
|
|
1817 0022 0368 ldr r3, [r0]
|
|
|
1818 0024 9A68 ldr r2, [r3, #8]
|
|
|
1819 0026 1206 lsls r2, r2, #24
|
|
|
1820 0028 F0D5 bpl .L117
|
|
|
2579:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_EndTxTransfer(huart);
|
|
|
1821 .loc 1 2579 0
|
|
|
1822 002a 5222 movs r2, #82
|
|
|
1823 002c 0021 movs r1, #0
|
|
|
1824 002e 8152 strh r1, [r0, r2]
|
|
|
1825 .LVL140:
|
|
|
1826 .LBB18:
|
|
|
1827 .LBB19:
|
|
|
2461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1828 .loc 1 2461 0
|
|
|
1829 0030 1A68 ldr r2, [r3]
|
|
|
1830 0032 C031 adds r1, r1, #192
|
|
|
1831 0034 8A43 bics r2, r1
|
|
|
1832 0036 1A60 str r2, [r3]
|
|
|
2464:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1833 .loc 1 2464 0
|
|
|
1834 0038 6923 movs r3, #105
|
|
|
1835 003a 2022 movs r2, #32
|
|
|
1836 003c C254 strb r2, [r0, r3]
|
|
|
1837 003e E5E7 b .L117
|
|
|
1838 .LVL141:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 85
|
|
|
|
|
|
|
|
|
1839 .L120:
|
|
|
1840 .LBE19:
|
|
|
1841 .LBE18:
|
|
|
2585:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1842 .loc 1 2585 0
|
|
|
1843 0040 0368 ldr r3, [r0]
|
|
|
1844 0042 9A68 ldr r2, [r3, #8]
|
|
|
1845 0044 5206 lsls r2, r2, #25
|
|
|
1846 0046 E5D5 bpl .L118
|
|
|
2587:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_EndRxTransfer(huart);
|
|
|
1847 .loc 1 2587 0
|
|
|
1848 0048 5A22 movs r2, #90
|
|
|
1849 004a 0021 movs r1, #0
|
|
|
1850 004c 8152 strh r1, [r0, r2]
|
|
|
1851 .LVL142:
|
|
|
1852 .LBB20:
|
|
|
1853 .LBB21:
|
|
|
2476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
1854 .loc 1 2476 0
|
|
|
1855 004e 1A68 ldr r2, [r3]
|
|
|
1856 0050 0649 ldr r1, .L121
|
|
|
1857 0052 0A40 ands r2, r1
|
|
|
1858 0054 1A60 str r2, [r3]
|
|
|
2477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1859 .loc 1 2477 0
|
|
|
1860 0056 0268 ldr r2, [r0]
|
|
|
1861 0058 9368 ldr r3, [r2, #8]
|
|
|
1862 005a 2331 adds r1, r1, #35
|
|
|
1863 005c FF31 adds r1, r1, #255
|
|
|
1864 005e 8B43 bics r3, r1
|
|
|
1865 0060 9360 str r3, [r2, #8]
|
|
|
2480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1866 .loc 1 2480 0
|
|
|
1867 0062 6A23 movs r3, #106
|
|
|
1868 0064 2022 movs r2, #32
|
|
|
1869 0066 C254 strb r2, [r0, r3]
|
|
|
1870 0068 D4E7 b .L118
|
|
|
1871 .L122:
|
|
|
1872 006a C046 .align 2
|
|
|
1873 .L121:
|
|
|
1874 006c DFFEFFFF .word -289
|
|
|
1875 .LBE21:
|
|
|
1876 .LBE20:
|
|
|
1877 .cfi_endproc
|
|
|
1878 .LFE88:
|
|
|
1880 .section .text.HAL_UART_IRQHandler,"ax",%progbits
|
|
|
1881 .align 1
|
|
|
1882 .global HAL_UART_IRQHandler
|
|
|
1883 .syntax unified
|
|
|
1884 .code 16
|
|
|
1885 .thumb_func
|
|
|
1886 .fpu softvfp
|
|
|
1888 HAL_UART_IRQHandler:
|
|
|
1889 .LFB61:
|
|
|
1625:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR);
|
|
|
1890 .loc 1 1625 0
|
|
|
1891 .cfi_startproc
|
|
|
ARM GAS /tmp/cc7An1gz.s page 86
|
|
|
|
|
|
|
|
|
1892 @ args = 0, pretend = 0, frame = 0
|
|
|
1893 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1894 .LVL143:
|
|
|
1895 0000 70B5 push {r4, r5, r6, lr}
|
|
|
1896 .LCFI15:
|
|
|
1897 .cfi_def_cfa_offset 16
|
|
|
1898 .cfi_offset 4, -16
|
|
|
1899 .cfi_offset 5, -12
|
|
|
1900 .cfi_offset 6, -8
|
|
|
1901 .cfi_offset 14, -4
|
|
|
1902 0002 0400 movs r4, r0
|
|
|
1626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
|
|
|
1903 .loc 1 1626 0
|
|
|
1904 0004 0168 ldr r1, [r0]
|
|
|
1905 0006 CB69 ldr r3, [r1, #28]
|
|
|
1906 .LVL144:
|
|
|
1627:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t cr3its;
|
|
|
1907 .loc 1 1627 0
|
|
|
1908 0008 0868 ldr r0, [r1]
|
|
|
1909 .LVL145:
|
|
|
1632:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (errorflags == RESET)
|
|
|
1910 .loc 1 1632 0
|
|
|
1911 000a 0F22 movs r2, #15
|
|
|
1912 000c 1A40 ands r2, r3
|
|
|
1913 .LVL146:
|
|
|
1633:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1914 .loc 1 1633 0
|
|
|
1915 000e 03D1 bne .L124
|
|
|
1636:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1916 .loc 1 1636 0
|
|
|
1917 0010 9D06 lsls r5, r3, #26
|
|
|
1918 0012 01D5 bpl .L124
|
|
|
1636:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1919 .loc 1 1636 0 is_stmt 0 discriminator 1
|
|
|
1920 0014 8506 lsls r5, r0, #26
|
|
|
1921 0016 66D4 bmi .L144
|
|
|
1922 .L124:
|
|
|
1644:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if( (errorflags != RESET)
|
|
|
1923 .loc 1 1644 0 is_stmt 1
|
|
|
1924 0018 8D68 ldr r5, [r1, #8]
|
|
|
1925 .LVL147:
|
|
|
1645:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** && ( ((cr3its & USART_CR3_EIE) != RESET)
|
|
|
1926 .loc 1 1645 0
|
|
|
1927 001a 002A cmp r2, #0
|
|
|
1928 001c 79D0 beq .L126
|
|
|
1646:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)) )
|
|
|
1929 .loc 1 1646 0
|
|
|
1930 001e 0122 movs r2, #1
|
|
|
1931 .LVL148:
|
|
|
1932 0020 2A40 ands r2, r5
|
|
|
1933 0022 03D1 bne .L127
|
|
|
1647:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1934 .loc 1 1647 0
|
|
|
1935 0024 9026 movs r6, #144
|
|
|
1936 0026 7600 lsls r6, r6, #1
|
|
|
1937 0028 3042 tst r0, r6
|
|
|
1938 002a 72D0 beq .L126
|
|
|
ARM GAS /tmp/cc7An1gz.s page 87
|
|
|
|
|
|
|
|
|
1939 .L127:
|
|
|
1650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1940 .loc 1 1650 0
|
|
|
1941 002c DD07 lsls r5, r3, #31
|
|
|
1942 002e 06D5 bpl .L128
|
|
|
1943 .LVL149:
|
|
|
1650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1944 .loc 1 1650 0 is_stmt 0 discriminator 1
|
|
|
1945 0030 C505 lsls r5, r0, #23
|
|
|
1946 0032 04D5 bpl .L128
|
|
|
1652:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1947 .loc 1 1652 0 is_stmt 1
|
|
|
1948 0034 0125 movs r5, #1
|
|
|
1949 0036 0D62 str r5, [r1, #32]
|
|
|
1654:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1950 .loc 1 1654 0
|
|
|
1951 0038 E16E ldr r1, [r4, #108]
|
|
|
1952 003a 2943 orrs r1, r5
|
|
|
1953 003c E166 str r1, [r4, #108]
|
|
|
1954 .L128:
|
|
|
1658:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1955 .loc 1 1658 0
|
|
|
1956 003e 9907 lsls r1, r3, #30
|
|
|
1957 0040 08D5 bpl .L129
|
|
|
1658:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1958 .loc 1 1658 0 is_stmt 0 discriminator 1
|
|
|
1959 0042 002A cmp r2, #0
|
|
|
1960 0044 06D0 beq .L129
|
|
|
1660:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1961 .loc 1 1660 0 is_stmt 1
|
|
|
1962 0046 2168 ldr r1, [r4]
|
|
|
1963 0048 0225 movs r5, #2
|
|
|
1964 004a 0D62 str r5, [r1, #32]
|
|
|
1662:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1965 .loc 1 1662 0
|
|
|
1966 004c E16E ldr r1, [r4, #108]
|
|
|
1967 004e 0235 adds r5, r5, #2
|
|
|
1968 0050 2943 orrs r1, r5
|
|
|
1969 0052 E166 str r1, [r4, #108]
|
|
|
1970 .L129:
|
|
|
1666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1971 .loc 1 1666 0
|
|
|
1972 0054 5907 lsls r1, r3, #29
|
|
|
1973 0056 08D5 bpl .L130
|
|
|
1666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1974 .loc 1 1666 0 is_stmt 0 discriminator 1
|
|
|
1975 0058 002A cmp r2, #0
|
|
|
1976 005a 06D0 beq .L130
|
|
|
1668:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1977 .loc 1 1668 0 is_stmt 1
|
|
|
1978 005c 2168 ldr r1, [r4]
|
|
|
1979 005e 0425 movs r5, #4
|
|
|
1980 0060 0D62 str r5, [r1, #32]
|
|
|
1670:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
1981 .loc 1 1670 0
|
|
|
1982 0062 E16E ldr r1, [r4, #108]
|
|
|
1983 0064 023D subs r5, r5, #2
|
|
|
ARM GAS /tmp/cc7An1gz.s page 88
|
|
|
|
|
|
|
|
|
1984 0066 2943 orrs r1, r5
|
|
|
1985 0068 E166 str r1, [r4, #108]
|
|
|
1986 .L130:
|
|
|
1674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (((cr1its & USART_CR1_RXNEIE) != RESET) || ((cr3its & USART_CR3_EIE) != RESET)))
|
|
|
1987 .loc 1 1674 0
|
|
|
1988 006a 1907 lsls r1, r3, #28
|
|
|
1989 006c 09D5 bpl .L131
|
|
|
1674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (((cr1its & USART_CR1_RXNEIE) != RESET) || ((cr3its & USART_CR3_EIE) != RESET)))
|
|
|
1990 .loc 1 1674 0 is_stmt 0 discriminator 1
|
|
|
1991 006e 8106 lsls r1, r0, #26
|
|
|
1992 0070 01D4 bmi .L132
|
|
|
1675:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
1993 .loc 1 1675 0 is_stmt 1
|
|
|
1994 0072 002A cmp r2, #0
|
|
|
1995 0074 05D0 beq .L131
|
|
|
1996 .L132:
|
|
|
1677:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
1997 .loc 1 1677 0
|
|
|
1998 0076 2268 ldr r2, [r4]
|
|
|
1999 0078 0821 movs r1, #8
|
|
|
2000 007a 1162 str r1, [r2, #32]
|
|
|
1679:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2001 .loc 1 1679 0
|
|
|
2002 007c E26E ldr r2, [r4, #108]
|
|
|
2003 007e 0A43 orrs r2, r1
|
|
|
2004 0080 E266 str r2, [r4, #108]
|
|
|
2005 .L131:
|
|
|
1683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2006 .loc 1 1683 0
|
|
|
2007 0082 E26E ldr r2, [r4, #108]
|
|
|
2008 0084 002A cmp r2, #0
|
|
|
2009 0086 50D0 beq .L123
|
|
|
1686:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2010 .loc 1 1686 0
|
|
|
2011 0088 9B06 lsls r3, r3, #26
|
|
|
2012 008a 01D5 bpl .L133
|
|
|
2013 .LVL150:
|
|
|
1686:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2014 .loc 1 1686 0 is_stmt 0 discriminator 1
|
|
|
2015 008c 8306 lsls r3, r0, #26
|
|
|
2016 008e 2ED4 bmi .L145
|
|
|
2017 .LVL151:
|
|
|
2018 .L133:
|
|
|
1693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)))
|
|
|
2019 .loc 1 1693 0 is_stmt 1
|
|
|
2020 0090 E36E ldr r3, [r4, #108]
|
|
|
2021 0092 1B07 lsls r3, r3, #28
|
|
|
2022 0094 03D4 bmi .L134
|
|
|
1694:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2023 .loc 1 1694 0 discriminator 1
|
|
|
2024 0096 2368 ldr r3, [r4]
|
|
|
2025 0098 9B68 ldr r3, [r3, #8]
|
|
|
1693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)))
|
|
|
2026 .loc 1 1693 0 discriminator 1
|
|
|
2027 009a 5B06 lsls r3, r3, #25
|
|
|
2028 009c 33D5 bpl .L135
|
|
|
2029 .L134:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 89
|
|
|
|
|
|
|
|
|
2030 .LVL152:
|
|
|
2031 .LBB28:
|
|
|
2032 .LBB29:
|
|
|
2476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
2033 .loc 1 2476 0
|
|
|
2034 009e 2268 ldr r2, [r4]
|
|
|
2035 00a0 1368 ldr r3, [r2]
|
|
|
2036 00a2 4749 ldr r1, .L151
|
|
|
2037 00a4 0B40 ands r3, r1
|
|
|
2038 00a6 1360 str r3, [r2]
|
|
|
2477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2039 .loc 1 2477 0
|
|
|
2040 00a8 2268 ldr r2, [r4]
|
|
|
2041 00aa 9368 ldr r3, [r2, #8]
|
|
|
2042 00ac 2331 adds r1, r1, #35
|
|
|
2043 00ae FF31 adds r1, r1, #255
|
|
|
2044 00b0 8B43 bics r3, r1
|
|
|
2045 00b2 9360 str r3, [r2, #8]
|
|
|
2480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2046 .loc 1 2480 0
|
|
|
2047 00b4 6A23 movs r3, #106
|
|
|
2048 00b6 2022 movs r2, #32
|
|
|
2049 00b8 E254 strb r2, [r4, r3]
|
|
|
2050 .LVL153:
|
|
|
2051 .LBE29:
|
|
|
2052 .LBE28:
|
|
|
1702:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2053 .loc 1 1702 0
|
|
|
2054 00ba 2368 ldr r3, [r4]
|
|
|
2055 00bc 9A68 ldr r2, [r3, #8]
|
|
|
2056 00be 5206 lsls r2, r2, #25
|
|
|
2057 00c0 1DD5 bpl .L136
|
|
|
1704:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2058 .loc 1 1704 0
|
|
|
2059 00c2 9A68 ldr r2, [r3, #8]
|
|
|
2060 00c4 3F31 adds r1, r1, #63
|
|
|
2061 00c6 8A43 bics r2, r1
|
|
|
2062 00c8 9A60 str r2, [r3, #8]
|
|
|
1707:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2063 .loc 1 1707 0
|
|
|
2064 00ca 636E ldr r3, [r4, #100]
|
|
|
2065 00cc 002B cmp r3, #0
|
|
|
2066 00ce 12D0 beq .L137
|
|
|
1711:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2067 .loc 1 1711 0
|
|
|
2068 00d0 3C4A ldr r2, .L151+4
|
|
|
2069 00d2 9A63 str r2, [r3, #56]
|
|
|
1714:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2070 .loc 1 1714 0
|
|
|
2071 00d4 606E ldr r0, [r4, #100]
|
|
|
2072 00d6 FFF7FEFF bl HAL_DMA_Abort_IT
|
|
|
2073 .LVL154:
|
|
|
2074 00da 0028 cmp r0, #0
|
|
|
2075 00dc 25D0 beq .L123
|
|
|
1717:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2076 .loc 1 1717 0
|
|
|
2077 00de 606E ldr r0, [r4, #100]
|
|
|
ARM GAS /tmp/cc7An1gz.s page 90
|
|
|
|
|
|
|
|
|
2078 00e0 836B ldr r3, [r0, #56]
|
|
|
2079 00e2 9847 blx r3
|
|
|
2080 .LVL155:
|
|
|
2081 00e4 21E0 b .L123
|
|
|
2082 .LVL156:
|
|
|
2083 .L144:
|
|
|
1638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return;
|
|
|
2084 .loc 1 1638 0
|
|
|
2085 00e6 2000 movs r0, r4
|
|
|
2086 .LVL157:
|
|
|
2087 00e8 FFF7FEFF bl UART_Receive_IT
|
|
|
2088 .LVL158:
|
|
|
1639:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2089 .loc 1 1639 0
|
|
|
2090 00ec 1DE0 b .L123
|
|
|
2091 .LVL159:
|
|
|
2092 .L145:
|
|
|
1688:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2093 .loc 1 1688 0
|
|
|
2094 00ee 2000 movs r0, r4
|
|
|
2095 .LVL160:
|
|
|
2096 00f0 FFF7FEFF bl UART_Receive_IT
|
|
|
2097 .LVL161:
|
|
|
2098 00f4 CCE7 b .L133
|
|
|
2099 .L137:
|
|
|
1723:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2100 .loc 1 1723 0
|
|
|
2101 00f6 2000 movs r0, r4
|
|
|
2102 00f8 FFF7FEFF bl HAL_UART_ErrorCallback
|
|
|
2103 .LVL162:
|
|
|
2104 00fc 15E0 b .L123
|
|
|
2105 .L136:
|
|
|
1729:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2106 .loc 1 1729 0
|
|
|
2107 00fe 2000 movs r0, r4
|
|
|
2108 0100 FFF7FEFF bl HAL_UART_ErrorCallback
|
|
|
2109 .LVL163:
|
|
|
2110 0104 11E0 b .L123
|
|
|
2111 .L135:
|
|
|
1736:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
|
|
|
2112 .loc 1 1736 0
|
|
|
2113 0106 2000 movs r0, r4
|
|
|
2114 0108 FFF7FEFF bl HAL_UART_ErrorCallback
|
|
|
2115 .LVL164:
|
|
|
1737:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2116 .loc 1 1737 0
|
|
|
2117 010c 0023 movs r3, #0
|
|
|
2118 010e E366 str r3, [r4, #108]
|
|
|
2119 0110 0BE0 b .L123
|
|
|
2120 .LVL165:
|
|
|
2121 .L126:
|
|
|
1745:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2122 .loc 1 1745 0
|
|
|
2123 0112 DA02 lsls r2, r3, #11
|
|
|
2124 0114 01D5 bpl .L138
|
|
|
1745:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2125 .loc 1 1745 0 is_stmt 0 discriminator 1
|
|
|
ARM GAS /tmp/cc7An1gz.s page 91
|
|
|
|
|
|
|
|
|
2126 0116 6A02 lsls r2, r5, #9
|
|
|
2127 0118 08D4 bmi .L146
|
|
|
2128 .L138:
|
|
|
1756:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2129 .loc 1 1756 0 is_stmt 1
|
|
|
2130 011a 1A06 lsls r2, r3, #24
|
|
|
2131 011c 01D5 bpl .L139
|
|
|
1756:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2132 .loc 1 1756 0 is_stmt 0 discriminator 1
|
|
|
2133 011e 0206 lsls r2, r0, #24
|
|
|
2134 0120 10D4 bmi .L147
|
|
|
2135 .L139:
|
|
|
1763:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2136 .loc 1 1763 0 is_stmt 1
|
|
|
2137 0122 5B06 lsls r3, r3, #25
|
|
|
2138 0124 01D5 bpl .L123
|
|
|
2139 .LVL166:
|
|
|
1763:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2140 .loc 1 1763 0 is_stmt 0 discriminator 1
|
|
|
2141 0126 4306 lsls r3, r0, #25
|
|
|
2142 0128 3ED4 bmi .L148
|
|
|
2143 .LVL167:
|
|
|
2144 .L123:
|
|
|
1769:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2145 .loc 1 1769 0 is_stmt 1
|
|
|
2146 @ sp needed
|
|
|
2147 .LVL168:
|
|
|
2148 012a 70BD pop {r4, r5, r6, pc}
|
|
|
2149 .LVL169:
|
|
|
2150 .L146:
|
|
|
1747:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Set the UART state ready to be able to start again the process */
|
|
|
2151 .loc 1 1747 0
|
|
|
2152 012c 8023 movs r3, #128
|
|
|
2153 .LVL170:
|
|
|
2154 012e 5B03 lsls r3, r3, #13
|
|
|
2155 0130 0B62 str r3, [r1, #32]
|
|
|
1749:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
2156 .loc 1 1749 0
|
|
|
2157 0132 2023 movs r3, #32
|
|
|
2158 0134 6922 movs r2, #105
|
|
|
2159 0136 A354 strb r3, [r4, r2]
|
|
|
1750:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_UARTEx_WakeupCallback(huart);
|
|
|
2160 .loc 1 1750 0
|
|
|
2161 0138 0132 adds r2, r2, #1
|
|
|
2162 013a A354 strb r3, [r4, r2]
|
|
|
1751:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return;
|
|
|
2163 .loc 1 1751 0
|
|
|
2164 013c 2000 movs r0, r4
|
|
|
2165 .LVL171:
|
|
|
2166 013e FFF7FEFF bl HAL_UARTEx_WakeupCallback
|
|
|
2167 .LVL172:
|
|
|
1752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2168 .loc 1 1752 0
|
|
|
2169 0142 F2E7 b .L123
|
|
|
2170 .LVL173:
|
|
|
2171 .L147:
|
|
|
2172 .LBB30:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 92
|
|
|
|
|
|
|
|
|
2173 .LBB31:
|
|
|
2751:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2174 .loc 1 2751 0
|
|
|
2175 0144 6923 movs r3, #105
|
|
|
2176 .LVL174:
|
|
|
2177 0146 E35C ldrb r3, [r4, r3]
|
|
|
2178 0148 212B cmp r3, #33
|
|
|
2179 014a EED1 bne .L123
|
|
|
2753:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2180 .loc 1 2753 0
|
|
|
2181 014c 3133 adds r3, r3, #49
|
|
|
2182 014e E35A ldrh r3, [r4, r3]
|
|
|
2183 0150 9BB2 uxth r3, r3
|
|
|
2184 0152 002B cmp r3, #0
|
|
|
2185 0154 10D0 beq .L149
|
|
|
2765:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2186 .loc 1 2765 0
|
|
|
2187 0156 8023 movs r3, #128
|
|
|
2188 0158 5B01 lsls r3, r3, #5
|
|
|
2189 015a A268 ldr r2, [r4, #8]
|
|
|
2190 015c 9A42 cmp r2, r3
|
|
|
2191 015e 16D0 beq .L150
|
|
|
2192 .L142:
|
|
|
2773:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2193 .loc 1 2773 0
|
|
|
2194 0160 E36C ldr r3, [r4, #76]
|
|
|
2195 0162 5A1C adds r2, r3, #1
|
|
|
2196 0164 E264 str r2, [r4, #76]
|
|
|
2197 0166 1A78 ldrb r2, [r3]
|
|
|
2198 0168 2368 ldr r3, [r4]
|
|
|
2199 016a 9A62 str r2, [r3, #40]
|
|
|
2200 .L143:
|
|
|
2775:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2201 .loc 1 2775 0
|
|
|
2202 016c 5222 movs r2, #82
|
|
|
2203 016e A35A ldrh r3, [r4, r2]
|
|
|
2204 0170 013B subs r3, r3, #1
|
|
|
2205 0172 9BB2 uxth r3, r3
|
|
|
2206 0174 A352 strh r3, [r4, r2]
|
|
|
2207 0176 D8E7 b .L123
|
|
|
2208 .L149:
|
|
|
2756:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2209 .loc 1 2756 0
|
|
|
2210 0178 2268 ldr r2, [r4]
|
|
|
2211 017a 1368 ldr r3, [r2]
|
|
|
2212 017c 8021 movs r1, #128
|
|
|
2213 017e 8B43 bics r3, r1
|
|
|
2214 0180 1360 str r3, [r2]
|
|
|
2759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2215 .loc 1 2759 0
|
|
|
2216 0182 2268 ldr r2, [r4]
|
|
|
2217 0184 1368 ldr r3, [r2]
|
|
|
2218 0186 4039 subs r1, r1, #64
|
|
|
2219 0188 0B43 orrs r3, r1
|
|
|
2220 018a 1360 str r3, [r2]
|
|
|
2221 018c CDE7 b .L123
|
|
|
2222 .L150:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 93
|
|
|
|
|
|
|
|
|
2765:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2223 .loc 1 2765 0
|
|
|
2224 018e 2369 ldr r3, [r4, #16]
|
|
|
2225 0190 002B cmp r3, #0
|
|
|
2226 0192 E5D1 bne .L142
|
|
|
2227 .LVL175:
|
|
|
2768:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
|
|
|
2228 .loc 1 2768 0
|
|
|
2229 0194 E36C ldr r3, [r4, #76]
|
|
|
2230 0196 1B88 ldrh r3, [r3]
|
|
|
2231 0198 2268 ldr r2, [r4]
|
|
|
2232 019a DB05 lsls r3, r3, #23
|
|
|
2233 019c DB0D lsrs r3, r3, #23
|
|
|
2234 019e 9362 str r3, [r2, #40]
|
|
|
2235 .LVL176:
|
|
|
2769:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2236 .loc 1 2769 0
|
|
|
2237 01a0 E36C ldr r3, [r4, #76]
|
|
|
2238 01a2 0233 adds r3, r3, #2
|
|
|
2239 01a4 E364 str r3, [r4, #76]
|
|
|
2240 01a6 E1E7 b .L143
|
|
|
2241 .LVL177:
|
|
|
2242 .L148:
|
|
|
2243 .LBE31:
|
|
|
2244 .LBE30:
|
|
|
2245 .LBB32:
|
|
|
2246 .LBB33:
|
|
|
2795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2247 .loc 1 2795 0
|
|
|
2248 01a8 0B68 ldr r3, [r1]
|
|
|
2249 01aa 4022 movs r2, #64
|
|
|
2250 01ac 9343 bics r3, r2
|
|
|
2251 01ae 0B60 str r3, [r1]
|
|
|
2798:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2252 .loc 1 2798 0
|
|
|
2253 01b0 6923 movs r3, #105
|
|
|
2254 01b2 203A subs r2, r2, #32
|
|
|
2255 01b4 E254 strb r2, [r4, r3]
|
|
|
2800:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2256 .loc 1 2800 0
|
|
|
2257 01b6 2000 movs r0, r4
|
|
|
2258 .LVL178:
|
|
|
2259 01b8 FFF7FEFF bl HAL_UART_TxCpltCallback
|
|
|
2260 .LVL179:
|
|
|
2261 01bc B5E7 b .L123
|
|
|
2262 .L152:
|
|
|
2263 01be C046 .align 2
|
|
|
2264 .L151:
|
|
|
2265 01c0 DFFEFFFF .word -289
|
|
|
2266 01c4 00000000 .word UART_DMAAbortOnError
|
|
|
2267 .LBE33:
|
|
|
2268 .LBE32:
|
|
|
2269 .cfi_endproc
|
|
|
2270 .LFE61:
|
|
|
2272 .section .text.UART_DMAAbortOnError,"ax",%progbits
|
|
|
2273 .align 1
|
|
|
2274 .syntax unified
|
|
|
ARM GAS /tmp/cc7An1gz.s page 94
|
|
|
|
|
|
|
|
|
2275 .code 16
|
|
|
2276 .thumb_func
|
|
|
2277 .fpu softvfp
|
|
|
2279 UART_DMAAbortOnError:
|
|
|
2280 .LFB89:
|
|
|
2602:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent);
|
|
|
2281 .loc 1 2602 0
|
|
|
2282 .cfi_startproc
|
|
|
2283 @ args = 0, pretend = 0, frame = 0
|
|
|
2284 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
2285 .LVL180:
|
|
|
2286 0000 10B5 push {r4, lr}
|
|
|
2287 .LCFI16:
|
|
|
2288 .cfi_def_cfa_offset 8
|
|
|
2289 .cfi_offset 4, -8
|
|
|
2290 .cfi_offset 14, -4
|
|
|
2603:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = 0;
|
|
|
2291 .loc 1 2603 0
|
|
|
2292 0002 806A ldr r0, [r0, #40]
|
|
|
2293 .LVL181:
|
|
|
2604:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount = 0;
|
|
|
2294 .loc 1 2604 0
|
|
|
2295 0004 0023 movs r3, #0
|
|
|
2296 0006 5A22 movs r2, #90
|
|
|
2297 0008 8352 strh r3, [r0, r2]
|
|
|
2605:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2298 .loc 1 2605 0
|
|
|
2299 000a 083A subs r2, r2, #8
|
|
|
2300 000c 8352 strh r3, [r0, r2]
|
|
|
2607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2301 .loc 1 2607 0
|
|
|
2302 000e FFF7FEFF bl HAL_UART_ErrorCallback
|
|
|
2303 .LVL182:
|
|
|
2608:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2304 .loc 1 2608 0
|
|
|
2305 @ sp needed
|
|
|
2306 0012 10BD pop {r4, pc}
|
|
|
2307 .cfi_endproc
|
|
|
2308 .LFE89:
|
|
|
2310 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits
|
|
|
2311 .align 1
|
|
|
2312 .weak HAL_UART_AbortCpltCallback
|
|
|
2313 .syntax unified
|
|
|
2314 .code 16
|
|
|
2315 .thumb_func
|
|
|
2316 .fpu softvfp
|
|
|
2318 HAL_UART_AbortCpltCallback:
|
|
|
2319 .LFB67:
|
|
|
1852:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
2320 .loc 1 1852 0
|
|
|
2321 .cfi_startproc
|
|
|
2322 @ args = 0, pretend = 0, frame = 0
|
|
|
2323 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
2324 @ link register save eliminated.
|
|
|
2325 .LVL183:
|
|
|
1859:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2326 .loc 1 1859 0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 95
|
|
|
|
|
|
|
|
|
2327 @ sp needed
|
|
|
2328 0000 7047 bx lr
|
|
|
2329 .cfi_endproc
|
|
|
2330 .LFE67:
|
|
|
2332 .section .text.HAL_UART_Abort_IT,"ax",%progbits
|
|
|
2333 .align 1
|
|
|
2334 .global HAL_UART_Abort_IT
|
|
|
2335 .syntax unified
|
|
|
2336 .code 16
|
|
|
2337 .thumb_func
|
|
|
2338 .fpu softvfp
|
|
|
2340 HAL_UART_Abort_IT:
|
|
|
2341 .LFB58:
|
|
|
1372:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t abortcplt = 1;
|
|
|
2342 .loc 1 1372 0
|
|
|
2343 .cfi_startproc
|
|
|
2344 @ args = 0, pretend = 0, frame = 0
|
|
|
2345 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
2346 .LVL184:
|
|
|
2347 0000 10B5 push {r4, lr}
|
|
|
2348 .LCFI17:
|
|
|
2349 .cfi_def_cfa_offset 8
|
|
|
2350 .cfi_offset 4, -8
|
|
|
2351 .cfi_offset 14, -4
|
|
|
2352 0002 0400 movs r4, r0
|
|
|
2353 .LVL185:
|
|
|
1376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
2354 .loc 1 1376 0
|
|
|
2355 0004 0268 ldr r2, [r0]
|
|
|
2356 0006 1368 ldr r3, [r2]
|
|
|
2357 0008 3049 ldr r1, .L167
|
|
|
2358 000a 0B40 ands r3, r1
|
|
|
2359 000c 1360 str r3, [r2]
|
|
|
1377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2360 .loc 1 1377 0
|
|
|
2361 000e 0268 ldr r2, [r0]
|
|
|
2362 0010 9368 ldr r3, [r2, #8]
|
|
|
2363 0012 E331 adds r1, r1, #227
|
|
|
2364 0014 FF31 adds r1, r1, #255
|
|
|
2365 0016 8B43 bics r3, r1
|
|
|
2366 0018 9360 str r3, [r2, #8]
|
|
|
1382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2367 .loc 1 1382 0
|
|
|
2368 001a 036E ldr r3, [r0, #96]
|
|
|
2369 001c 002B cmp r3, #0
|
|
|
2370 001e 05D0 beq .L156
|
|
|
1386:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2371 .loc 1 1386 0
|
|
|
2372 0020 0268 ldr r2, [r0]
|
|
|
2373 0022 9268 ldr r2, [r2, #8]
|
|
|
2374 0024 1206 lsls r2, r2, #24
|
|
|
2375 0026 1ED5 bpl .L157
|
|
|
1388:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2376 .loc 1 1388 0
|
|
|
2377 0028 294A ldr r2, .L167+4
|
|
|
2378 002a 9A63 str r2, [r3, #56]
|
|
|
2379 .L156:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 96
|
|
|
|
|
|
|
|
|
1396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2380 .loc 1 1396 0
|
|
|
2381 002c 636E ldr r3, [r4, #100]
|
|
|
2382 002e 002B cmp r3, #0
|
|
|
2383 0030 05D0 beq .L158
|
|
|
1400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2384 .loc 1 1400 0
|
|
|
2385 0032 2268 ldr r2, [r4]
|
|
|
2386 0034 9268 ldr r2, [r2, #8]
|
|
|
2387 0036 5206 lsls r2, r2, #25
|
|
|
2388 0038 18D5 bpl .L159
|
|
|
1402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2389 .loc 1 1402 0
|
|
|
2390 003a 264A ldr r2, .L167+8
|
|
|
2391 003c 9A63 str r2, [r3, #56]
|
|
|
2392 .L158:
|
|
|
1411:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2393 .loc 1 1411 0
|
|
|
2394 003e 2368 ldr r3, [r4]
|
|
|
2395 0040 9A68 ldr r2, [r3, #8]
|
|
|
2396 0042 1206 lsls r2, r2, #24
|
|
|
2397 0044 15D5 bpl .L164
|
|
|
1414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2398 .loc 1 1414 0
|
|
|
2399 0046 9A68 ldr r2, [r3, #8]
|
|
|
2400 0048 8021 movs r1, #128
|
|
|
2401 004a 8A43 bics r2, r1
|
|
|
2402 004c 9A60 str r2, [r3, #8]
|
|
|
1417:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2403 .loc 1 1417 0
|
|
|
2404 004e 206E ldr r0, [r4, #96]
|
|
|
2405 .LVL186:
|
|
|
2406 0050 0028 cmp r0, #0
|
|
|
2407 0052 33D0 beq .L165
|
|
|
1423:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2408 .loc 1 1423 0
|
|
|
2409 0054 FFF7FEFF bl HAL_DMA_Abort_IT
|
|
|
2410 .LVL187:
|
|
|
2411 0058 0028 cmp r0, #0
|
|
|
2412 005a 31D0 beq .L166
|
|
|
1425:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2413 .loc 1 1425 0
|
|
|
2414 005c 236E ldr r3, [r4, #96]
|
|
|
2415 005e 0022 movs r2, #0
|
|
|
2416 0060 9A63 str r2, [r3, #56]
|
|
|
1373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2417 .loc 1 1373 0
|
|
|
2418 0062 0121 movs r1, #1
|
|
|
2419 0064 06E0 b .L160
|
|
|
2420 .LVL188:
|
|
|
2421 .L157:
|
|
|
1392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2422 .loc 1 1392 0
|
|
|
2423 0066 0022 movs r2, #0
|
|
|
2424 0068 9A63 str r2, [r3, #56]
|
|
|
2425 006a DFE7 b .L156
|
|
|
2426 .L159:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 97
|
|
|
|
|
|
|
|
|
1406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2427 .loc 1 1406 0
|
|
|
2428 006c 0022 movs r2, #0
|
|
|
2429 006e 9A63 str r2, [r3, #56]
|
|
|
2430 0070 E5E7 b .L158
|
|
|
2431 .L164:
|
|
|
1373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2432 .loc 1 1373 0
|
|
|
2433 0072 0121 movs r1, #1
|
|
|
2434 .LVL189:
|
|
|
2435 .L160:
|
|
|
1435:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2436 .loc 1 1435 0
|
|
|
2437 0074 2368 ldr r3, [r4]
|
|
|
2438 0076 9A68 ldr r2, [r3, #8]
|
|
|
2439 0078 5206 lsls r2, r2, #25
|
|
|
2440 007a 23D5 bpl .L161
|
|
|
1437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2441 .loc 1 1437 0
|
|
|
2442 007c 9A68 ldr r2, [r3, #8]
|
|
|
2443 007e 4020 movs r0, #64
|
|
|
2444 0080 8243 bics r2, r0
|
|
|
2445 0082 9A60 str r2, [r3, #8]
|
|
|
1440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2446 .loc 1 1440 0
|
|
|
2447 0084 606E ldr r0, [r4, #100]
|
|
|
2448 0086 0028 cmp r0, #0
|
|
|
2449 0088 1CD0 beq .L161
|
|
|
1446:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2450 .loc 1 1446 0
|
|
|
2451 008a FFF7FEFF bl HAL_DMA_Abort_IT
|
|
|
2452 .LVL190:
|
|
|
2453 008e 0028 cmp r0, #0
|
|
|
2454 0090 1AD0 beq .L162
|
|
|
1448:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** abortcplt = 1;
|
|
|
2455 .loc 1 1448 0
|
|
|
2456 0092 636E ldr r3, [r4, #100]
|
|
|
2457 0094 0022 movs r2, #0
|
|
|
2458 0096 9A63 str r2, [r3, #56]
|
|
|
2459 .LVL191:
|
|
|
2460 .L163:
|
|
|
1462:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = 0;
|
|
|
2461 .loc 1 1462 0
|
|
|
2462 0098 0023 movs r3, #0
|
|
|
2463 009a 5222 movs r2, #82
|
|
|
2464 009c A352 strh r3, [r4, r2]
|
|
|
1463:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2465 .loc 1 1463 0
|
|
|
2466 009e 0832 adds r2, r2, #8
|
|
|
2467 00a0 A352 strh r3, [r4, r2]
|
|
|
1466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2468 .loc 1 1466 0
|
|
|
2469 00a2 E366 str r3, [r4, #108]
|
|
|
1469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2470 .loc 1 1469 0
|
|
|
2471 00a4 2368 ldr r3, [r4]
|
|
|
2472 00a6 4B3A subs r2, r2, #75
|
|
|
ARM GAS /tmp/cc7An1gz.s page 98
|
|
|
|
|
|
|
|
|
2473 00a8 1A62 str r2, [r3, #32]
|
|
|
1472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
2474 .loc 1 1472 0
|
|
|
2475 00aa 2023 movs r3, #32
|
|
|
2476 00ac 5A32 adds r2, r2, #90
|
|
|
2477 00ae A354 strb r3, [r4, r2]
|
|
|
1473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2478 .loc 1 1473 0
|
|
|
2479 00b0 0132 adds r2, r2, #1
|
|
|
2480 00b2 A354 strb r3, [r4, r2]
|
|
|
1476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2481 .loc 1 1476 0
|
|
|
2482 00b4 2000 movs r0, r4
|
|
|
2483 00b6 FFF7FEFF bl HAL_UART_AbortCpltCallback
|
|
|
2484 .LVL192:
|
|
|
2485 00ba 05E0 b .L162
|
|
|
2486 .LVL193:
|
|
|
2487 .L165:
|
|
|
1373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2488 .loc 1 1373 0
|
|
|
2489 00bc 0121 movs r1, #1
|
|
|
2490 00be D9E7 b .L160
|
|
|
2491 .L166:
|
|
|
1429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2492 .loc 1 1429 0
|
|
|
2493 00c0 0021 movs r1, #0
|
|
|
2494 00c2 D7E7 b .L160
|
|
|
2495 .LVL194:
|
|
|
2496 .L161:
|
|
|
1459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2497 .loc 1 1459 0
|
|
|
2498 00c4 0129 cmp r1, #1
|
|
|
2499 00c6 E7D0 beq .L163
|
|
|
2500 .LVL195:
|
|
|
2501 .L162:
|
|
|
1480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2502 .loc 1 1480 0
|
|
|
2503 00c8 0020 movs r0, #0
|
|
|
2504 @ sp needed
|
|
|
2505 .LVL196:
|
|
|
2506 00ca 10BD pop {r4, pc}
|
|
|
2507 .L168:
|
|
|
2508 .align 2
|
|
|
2509 .L167:
|
|
|
2510 00cc 1FFEFFFF .word -481
|
|
|
2511 00d0 00000000 .word UART_DMATxAbortCallback
|
|
|
2512 00d4 00000000 .word UART_DMARxAbortCallback
|
|
|
2513 .cfi_endproc
|
|
|
2514 .LFE58:
|
|
|
2516 .section .text.UART_DMARxAbortCallback,"ax",%progbits
|
|
|
2517 .align 1
|
|
|
2518 .syntax unified
|
|
|
2519 .code 16
|
|
|
2520 .thumb_func
|
|
|
2521 .fpu softvfp
|
|
|
2523 UART_DMARxAbortCallback:
|
|
|
2524 .LFB91:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 99
|
|
|
|
|
|
|
|
|
2661:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = (UART_HandleTypeDef* )(hdma->Parent);
|
|
|
2525 .loc 1 2661 0
|
|
|
2526 .cfi_startproc
|
|
|
2527 @ args = 0, pretend = 0, frame = 0
|
|
|
2528 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
2529 .LVL197:
|
|
|
2530 0000 10B5 push {r4, lr}
|
|
|
2531 .LCFI18:
|
|
|
2532 .cfi_def_cfa_offset 8
|
|
|
2533 .cfi_offset 4, -8
|
|
|
2534 .cfi_offset 14, -4
|
|
|
2662:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2535 .loc 1 2662 0
|
|
|
2536 0002 806A ldr r0, [r0, #40]
|
|
|
2537 .LVL198:
|
|
|
2664:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2538 .loc 1 2664 0
|
|
|
2539 0004 436E ldr r3, [r0, #100]
|
|
|
2540 0006 0022 movs r2, #0
|
|
|
2541 0008 9A63 str r2, [r3, #56]
|
|
|
2667:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2542 .loc 1 2667 0
|
|
|
2543 000a 036E ldr r3, [r0, #96]
|
|
|
2544 000c 002B cmp r3, #0
|
|
|
2545 000e 03D0 beq .L170
|
|
|
2669:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2546 .loc 1 2669 0
|
|
|
2547 0010 9B6B ldr r3, [r3, #56]
|
|
|
2548 0012 002B cmp r3, #0
|
|
|
2549 0014 00D0 beq .L170
|
|
|
2550 .LVL199:
|
|
|
2551 .L169:
|
|
|
2691:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2552 .loc 1 2691 0
|
|
|
2553 @ sp needed
|
|
|
2554 0016 10BD pop {r4, pc}
|
|
|
2555 .LVL200:
|
|
|
2556 .L170:
|
|
|
2676:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = 0;
|
|
|
2557 .loc 1 2676 0
|
|
|
2558 0018 0023 movs r3, #0
|
|
|
2559 001a 5222 movs r2, #82
|
|
|
2560 001c 8352 strh r3, [r0, r2]
|
|
|
2677:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2561 .loc 1 2677 0
|
|
|
2562 001e 0832 adds r2, r2, #8
|
|
|
2563 0020 8352 strh r3, [r0, r2]
|
|
|
2680:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2564 .loc 1 2680 0
|
|
|
2565 0022 C366 str r3, [r0, #108]
|
|
|
2683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2566 .loc 1 2683 0
|
|
|
2567 0024 0368 ldr r3, [r0]
|
|
|
2568 0026 4B3A subs r2, r2, #75
|
|
|
2569 0028 1A62 str r2, [r3, #32]
|
|
|
2686:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
2570 .loc 1 2686 0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 100
|
|
|
|
|
|
|
|
|
2571 002a 2023 movs r3, #32
|
|
|
2572 002c 5A32 adds r2, r2, #90
|
|
|
2573 002e 8354 strb r3, [r0, r2]
|
|
|
2687:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2574 .loc 1 2687 0
|
|
|
2575 0030 0132 adds r2, r2, #1
|
|
|
2576 0032 8354 strb r3, [r0, r2]
|
|
|
2690:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2577 .loc 1 2690 0
|
|
|
2578 0034 FFF7FEFF bl HAL_UART_AbortCpltCallback
|
|
|
2579 .LVL201:
|
|
|
2580 0038 EDE7 b .L169
|
|
|
2581 .cfi_endproc
|
|
|
2582 .LFE91:
|
|
|
2584 .section .text.UART_DMATxAbortCallback,"ax",%progbits
|
|
|
2585 .align 1
|
|
|
2586 .syntax unified
|
|
|
2587 .code 16
|
|
|
2588 .thumb_func
|
|
|
2589 .fpu softvfp
|
|
|
2591 UART_DMATxAbortCallback:
|
|
|
2592 .LFB90:
|
|
|
2619:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = (UART_HandleTypeDef* )(hdma->Parent);
|
|
|
2593 .loc 1 2619 0
|
|
|
2594 .cfi_startproc
|
|
|
2595 @ args = 0, pretend = 0, frame = 0
|
|
|
2596 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
2597 .LVL202:
|
|
|
2598 0000 10B5 push {r4, lr}
|
|
|
2599 .LCFI19:
|
|
|
2600 .cfi_def_cfa_offset 8
|
|
|
2601 .cfi_offset 4, -8
|
|
|
2602 .cfi_offset 14, -4
|
|
|
2620:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2603 .loc 1 2620 0
|
|
|
2604 0002 806A ldr r0, [r0, #40]
|
|
|
2605 .LVL203:
|
|
|
2622:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2606 .loc 1 2622 0
|
|
|
2607 0004 036E ldr r3, [r0, #96]
|
|
|
2608 0006 0022 movs r2, #0
|
|
|
2609 0008 9A63 str r2, [r3, #56]
|
|
|
2625:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2610 .loc 1 2625 0
|
|
|
2611 000a 436E ldr r3, [r0, #100]
|
|
|
2612 000c 002B cmp r3, #0
|
|
|
2613 000e 03D0 beq .L173
|
|
|
2627:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2614 .loc 1 2627 0
|
|
|
2615 0010 9B6B ldr r3, [r3, #56]
|
|
|
2616 0012 002B cmp r3, #0
|
|
|
2617 0014 00D0 beq .L173
|
|
|
2618 .LVL204:
|
|
|
2619 .L172:
|
|
|
2649:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2620 .loc 1 2649 0
|
|
|
2621 @ sp needed
|
|
|
ARM GAS /tmp/cc7An1gz.s page 101
|
|
|
|
|
|
|
|
|
2622 0016 10BD pop {r4, pc}
|
|
|
2623 .LVL205:
|
|
|
2624 .L173:
|
|
|
2634:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = 0;
|
|
|
2625 .loc 1 2634 0
|
|
|
2626 0018 0023 movs r3, #0
|
|
|
2627 001a 5222 movs r2, #82
|
|
|
2628 001c 8352 strh r3, [r0, r2]
|
|
|
2635:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2629 .loc 1 2635 0
|
|
|
2630 001e 0832 adds r2, r2, #8
|
|
|
2631 0020 8352 strh r3, [r0, r2]
|
|
|
2638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2632 .loc 1 2638 0
|
|
|
2633 0022 C366 str r3, [r0, #108]
|
|
|
2641:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2634 .loc 1 2641 0
|
|
|
2635 0024 0368 ldr r3, [r0]
|
|
|
2636 0026 4B3A subs r2, r2, #75
|
|
|
2637 0028 1A62 str r2, [r3, #32]
|
|
|
2644:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
2638 .loc 1 2644 0
|
|
|
2639 002a 2023 movs r3, #32
|
|
|
2640 002c 5A32 adds r2, r2, #90
|
|
|
2641 002e 8354 strb r3, [r0, r2]
|
|
|
2645:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2642 .loc 1 2645 0
|
|
|
2643 0030 0132 adds r2, r2, #1
|
|
|
2644 0032 8354 strb r3, [r0, r2]
|
|
|
2648:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2645 .loc 1 2648 0
|
|
|
2646 0034 FFF7FEFF bl HAL_UART_AbortCpltCallback
|
|
|
2647 .LVL206:
|
|
|
2648 0038 EDE7 b .L172
|
|
|
2649 .cfi_endproc
|
|
|
2650 .LFE90:
|
|
|
2652 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits
|
|
|
2653 .align 1
|
|
|
2654 .weak HAL_UART_AbortTransmitCpltCallback
|
|
|
2655 .syntax unified
|
|
|
2656 .code 16
|
|
|
2657 .thumb_func
|
|
|
2658 .fpu softvfp
|
|
|
2660 HAL_UART_AbortTransmitCpltCallback:
|
|
|
2661 .LFB68:
|
|
|
1867:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
2662 .loc 1 1867 0
|
|
|
2663 .cfi_startproc
|
|
|
2664 @ args = 0, pretend = 0, frame = 0
|
|
|
2665 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
2666 @ link register save eliminated.
|
|
|
2667 .LVL207:
|
|
|
1874:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2668 .loc 1 1874 0
|
|
|
2669 @ sp needed
|
|
|
2670 0000 7047 bx lr
|
|
|
2671 .cfi_endproc
|
|
|
ARM GAS /tmp/cc7An1gz.s page 102
|
|
|
|
|
|
|
|
|
2672 .LFE68:
|
|
|
2674 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits
|
|
|
2675 .align 1
|
|
|
2676 .global HAL_UART_AbortTransmit_IT
|
|
|
2677 .syntax unified
|
|
|
2678 .code 16
|
|
|
2679 .thumb_func
|
|
|
2680 .fpu softvfp
|
|
|
2682 HAL_UART_AbortTransmit_IT:
|
|
|
2683 .LFB59:
|
|
|
1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
|
|
|
2684 .loc 1 1497 0
|
|
|
2685 .cfi_startproc
|
|
|
2686 @ args = 0, pretend = 0, frame = 0
|
|
|
2687 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
2688 .LVL208:
|
|
|
2689 0000 10B5 push {r4, lr}
|
|
|
2690 .LCFI20:
|
|
|
2691 .cfi_def_cfa_offset 8
|
|
|
2692 .cfi_offset 4, -8
|
|
|
2693 .cfi_offset 14, -4
|
|
|
2694 0002 0400 movs r4, r0
|
|
|
1499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2695 .loc 1 1499 0
|
|
|
2696 0004 0268 ldr r2, [r0]
|
|
|
2697 0006 1368 ldr r3, [r2]
|
|
|
2698 0008 C021 movs r1, #192
|
|
|
2699 000a 8B43 bics r3, r1
|
|
|
2700 000c 1360 str r3, [r2]
|
|
|
1502:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2701 .loc 1 1502 0
|
|
|
2702 000e 0368 ldr r3, [r0]
|
|
|
2703 0010 9A68 ldr r2, [r3, #8]
|
|
|
2704 0012 1206 lsls r2, r2, #24
|
|
|
2705 0014 1BD5 bpl .L177
|
|
|
1504:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2706 .loc 1 1504 0
|
|
|
2707 0016 9A68 ldr r2, [r3, #8]
|
|
|
2708 0018 4039 subs r1, r1, #64
|
|
|
2709 001a 8A43 bics r2, r1
|
|
|
2710 001c 9A60 str r2, [r3, #8]
|
|
|
1507:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2711 .loc 1 1507 0
|
|
|
2712 001e 036E ldr r3, [r0, #96]
|
|
|
2713 0020 002B cmp r3, #0
|
|
|
2714 0022 0BD0 beq .L178
|
|
|
1511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2715 .loc 1 1511 0
|
|
|
2716 0024 0E4A ldr r2, .L180
|
|
|
2717 0026 9A63 str r2, [r3, #56]
|
|
|
1514:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2718 .loc 1 1514 0
|
|
|
2719 0028 006E ldr r0, [r0, #96]
|
|
|
2720 .LVL209:
|
|
|
2721 002a FFF7FEFF bl HAL_DMA_Abort_IT
|
|
|
2722 .LVL210:
|
|
|
2723 002e 0028 cmp r0, #0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 103
|
|
|
|
|
|
|
|
|
2724 0030 02D0 beq .L179
|
|
|
1517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2725 .loc 1 1517 0
|
|
|
2726 0032 206E ldr r0, [r4, #96]
|
|
|
2727 0034 836B ldr r3, [r0, #56]
|
|
|
2728 0036 9847 blx r3
|
|
|
2729 .LVL211:
|
|
|
2730 .L179:
|
|
|
1545:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2731 .loc 1 1545 0
|
|
|
2732 0038 0020 movs r0, #0
|
|
|
2733 @ sp needed
|
|
|
2734 .LVL212:
|
|
|
2735 003a 10BD pop {r4, pc}
|
|
|
2736 .LVL213:
|
|
|
2737 .L178:
|
|
|
1523:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2738 .loc 1 1523 0
|
|
|
2739 003c 5223 movs r3, #82
|
|
|
2740 003e 0022 movs r2, #0
|
|
|
2741 0040 C252 strh r2, [r0, r3]
|
|
|
1526:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2742 .loc 1 1526 0
|
|
|
2743 0042 1733 adds r3, r3, #23
|
|
|
2744 0044 2032 adds r2, r2, #32
|
|
|
2745 0046 C254 strb r2, [r0, r3]
|
|
|
1529:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2746 .loc 1 1529 0
|
|
|
2747 0048 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
|
|
|
2748 .LVL214:
|
|
|
2749 004c F4E7 b .L179
|
|
|
2750 .LVL215:
|
|
|
2751 .L177:
|
|
|
1535:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2752 .loc 1 1535 0
|
|
|
2753 004e 5223 movs r3, #82
|
|
|
2754 0050 0022 movs r2, #0
|
|
|
2755 0052 C252 strh r2, [r0, r3]
|
|
|
1538:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2756 .loc 1 1538 0
|
|
|
2757 0054 1733 adds r3, r3, #23
|
|
|
2758 0056 2032 adds r2, r2, #32
|
|
|
2759 0058 C254 strb r2, [r0, r3]
|
|
|
1541:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2760 .loc 1 1541 0
|
|
|
2761 005a FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
|
|
|
2762 .LVL216:
|
|
|
2763 005e EBE7 b .L179
|
|
|
2764 .L181:
|
|
|
2765 .align 2
|
|
|
2766 .L180:
|
|
|
2767 0060 00000000 .word UART_DMATxOnlyAbortCallback
|
|
|
2768 .cfi_endproc
|
|
|
2769 .LFE59:
|
|
|
2771 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits
|
|
|
2772 .align 1
|
|
|
2773 .syntax unified
|
|
|
ARM GAS /tmp/cc7An1gz.s page 104
|
|
|
|
|
|
|
|
|
2774 .code 16
|
|
|
2775 .thumb_func
|
|
|
2776 .fpu softvfp
|
|
|
2778 UART_DMATxOnlyAbortCallback:
|
|
|
2779 .LFB92:
|
|
|
2703:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = (UART_HandleTypeDef*)(hdma->Parent);
|
|
|
2780 .loc 1 2703 0
|
|
|
2781 .cfi_startproc
|
|
|
2782 @ args = 0, pretend = 0, frame = 0
|
|
|
2783 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
2784 .LVL217:
|
|
|
2785 0000 10B5 push {r4, lr}
|
|
|
2786 .LCFI21:
|
|
|
2787 .cfi_def_cfa_offset 8
|
|
|
2788 .cfi_offset 4, -8
|
|
|
2789 .cfi_offset 14, -4
|
|
|
2704:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2790 .loc 1 2704 0
|
|
|
2791 0002 806A ldr r0, [r0, #40]
|
|
|
2792 .LVL218:
|
|
|
2706:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2793 .loc 1 2706 0
|
|
|
2794 0004 5223 movs r3, #82
|
|
|
2795 0006 0022 movs r2, #0
|
|
|
2796 0008 C252 strh r2, [r0, r3]
|
|
|
2709:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2797 .loc 1 2709 0
|
|
|
2798 000a 1733 adds r3, r3, #23
|
|
|
2799 000c 2032 adds r2, r2, #32
|
|
|
2800 000e C254 strb r2, [r0, r3]
|
|
|
2712:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2801 .loc 1 2712 0
|
|
|
2802 0010 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
|
|
|
2803 .LVL219:
|
|
|
2713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2804 .loc 1 2713 0
|
|
|
2805 @ sp needed
|
|
|
2806 0014 10BD pop {r4, pc}
|
|
|
2807 .cfi_endproc
|
|
|
2808 .LFE92:
|
|
|
2810 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits
|
|
|
2811 .align 1
|
|
|
2812 .weak HAL_UART_AbortReceiveCpltCallback
|
|
|
2813 .syntax unified
|
|
|
2814 .code 16
|
|
|
2815 .thumb_func
|
|
|
2816 .fpu softvfp
|
|
|
2818 HAL_UART_AbortReceiveCpltCallback:
|
|
|
2819 .LFB69:
|
|
|
1882:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
2820 .loc 1 1882 0
|
|
|
2821 .cfi_startproc
|
|
|
2822 @ args = 0, pretend = 0, frame = 0
|
|
|
2823 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
2824 @ link register save eliminated.
|
|
|
2825 .LVL220:
|
|
|
1889:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
ARM GAS /tmp/cc7An1gz.s page 105
|
|
|
|
|
|
|
|
|
2826 .loc 1 1889 0
|
|
|
2827 @ sp needed
|
|
|
2828 0000 7047 bx lr
|
|
|
2829 .cfi_endproc
|
|
|
2830 .LFE69:
|
|
|
2832 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits
|
|
|
2833 .align 1
|
|
|
2834 .global HAL_UART_AbortReceive_IT
|
|
|
2835 .syntax unified
|
|
|
2836 .code 16
|
|
|
2837 .thumb_func
|
|
|
2838 .fpu softvfp
|
|
|
2840 HAL_UART_AbortReceive_IT:
|
|
|
2841 .LFB60:
|
|
|
1562:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
|
|
|
2842 .loc 1 1562 0
|
|
|
2843 .cfi_startproc
|
|
|
2844 @ args = 0, pretend = 0, frame = 0
|
|
|
2845 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
2846 .LVL221:
|
|
|
2847 0000 10B5 push {r4, lr}
|
|
|
2848 .LCFI22:
|
|
|
2849 .cfi_def_cfa_offset 8
|
|
|
2850 .cfi_offset 4, -8
|
|
|
2851 .cfi_offset 14, -4
|
|
|
2852 0002 0400 movs r4, r0
|
|
|
1564:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
2853 .loc 1 1564 0
|
|
|
2854 0004 0268 ldr r2, [r0]
|
|
|
2855 0006 1368 ldr r3, [r2]
|
|
|
2856 0008 1B49 ldr r1, .L188
|
|
|
2857 000a 0B40 ands r3, r1
|
|
|
2858 000c 1360 str r3, [r2]
|
|
|
1565:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2859 .loc 1 1565 0
|
|
|
2860 000e 0268 ldr r2, [r0]
|
|
|
2861 0010 9368 ldr r3, [r2, #8]
|
|
|
2862 0012 2331 adds r1, r1, #35
|
|
|
2863 0014 FF31 adds r1, r1, #255
|
|
|
2864 0016 8B43 bics r3, r1
|
|
|
2865 0018 9360 str r3, [r2, #8]
|
|
|
1568:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2866 .loc 1 1568 0
|
|
|
2867 001a 0368 ldr r3, [r0]
|
|
|
2868 001c 9A68 ldr r2, [r3, #8]
|
|
|
2869 001e 5206 lsls r2, r2, #25
|
|
|
2870 0020 1ED5 bpl .L185
|
|
|
1570:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2871 .loc 1 1570 0
|
|
|
2872 0022 9A68 ldr r2, [r3, #8]
|
|
|
2873 0024 3F31 adds r1, r1, #63
|
|
|
2874 0026 8A43 bics r2, r1
|
|
|
2875 0028 9A60 str r2, [r3, #8]
|
|
|
1573:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2876 .loc 1 1573 0
|
|
|
2877 002a 436E ldr r3, [r0, #100]
|
|
|
2878 002c 002B cmp r3, #0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 106
|
|
|
|
|
|
|
|
|
2879 002e 0BD0 beq .L186
|
|
|
1577:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2880 .loc 1 1577 0
|
|
|
2881 0030 124A ldr r2, .L188+4
|
|
|
2882 0032 9A63 str r2, [r3, #56]
|
|
|
1580:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
2883 .loc 1 1580 0
|
|
|
2884 0034 406E ldr r0, [r0, #100]
|
|
|
2885 .LVL222:
|
|
|
2886 0036 FFF7FEFF bl HAL_DMA_Abort_IT
|
|
|
2887 .LVL223:
|
|
|
2888 003a 0028 cmp r0, #0
|
|
|
2889 003c 02D0 beq .L187
|
|
|
1583:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2890 .loc 1 1583 0
|
|
|
2891 003e 606E ldr r0, [r4, #100]
|
|
|
2892 0040 836B ldr r3, [r0, #56]
|
|
|
2893 0042 9847 blx r3
|
|
|
2894 .LVL224:
|
|
|
2895 .L187:
|
|
|
1617:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2896 .loc 1 1617 0
|
|
|
2897 0044 0020 movs r0, #0
|
|
|
2898 @ sp needed
|
|
|
2899 .LVL225:
|
|
|
2900 0046 10BD pop {r4, pc}
|
|
|
2901 .LVL226:
|
|
|
2902 .L186:
|
|
|
1589:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2903 .loc 1 1589 0
|
|
|
2904 0048 5A23 movs r3, #90
|
|
|
2905 004a 0022 movs r2, #0
|
|
|
2906 004c C252 strh r2, [r0, r3]
|
|
|
1592:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2907 .loc 1 1592 0
|
|
|
2908 004e 0368 ldr r3, [r0]
|
|
|
2909 0050 0F32 adds r2, r2, #15
|
|
|
2910 0052 1A62 str r2, [r3, #32]
|
|
|
1595:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2911 .loc 1 1595 0
|
|
|
2912 0054 6A23 movs r3, #106
|
|
|
2913 0056 1132 adds r2, r2, #17
|
|
|
2914 0058 C254 strb r2, [r0, r3]
|
|
|
1598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2915 .loc 1 1598 0
|
|
|
2916 005a FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
|
|
|
2917 .LVL227:
|
|
|
2918 005e F1E7 b .L187
|
|
|
2919 .LVL228:
|
|
|
2920 .L185:
|
|
|
1604:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2921 .loc 1 1604 0
|
|
|
2922 0060 5A22 movs r2, #90
|
|
|
2923 0062 0021 movs r1, #0
|
|
|
2924 0064 8152 strh r1, [r0, r2]
|
|
|
1607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2925 .loc 1 1607 0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 107
|
|
|
|
|
|
|
|
|
2926 0066 4B3A subs r2, r2, #75
|
|
|
2927 0068 1A62 str r2, [r3, #32]
|
|
|
1610:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2928 .loc 1 1610 0
|
|
|
2929 006a 6A23 movs r3, #106
|
|
|
2930 006c 1132 adds r2, r2, #17
|
|
|
2931 006e C254 strb r2, [r0, r3]
|
|
|
1613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2932 .loc 1 1613 0
|
|
|
2933 0070 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
|
|
|
2934 .LVL229:
|
|
|
2935 0074 E6E7 b .L187
|
|
|
2936 .L189:
|
|
|
2937 0076 C046 .align 2
|
|
|
2938 .L188:
|
|
|
2939 0078 DFFEFFFF .word -289
|
|
|
2940 007c 00000000 .word UART_DMARxOnlyAbortCallback
|
|
|
2941 .cfi_endproc
|
|
|
2942 .LFE60:
|
|
|
2944 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits
|
|
|
2945 .align 1
|
|
|
2946 .syntax unified
|
|
|
2947 .code 16
|
|
|
2948 .thumb_func
|
|
|
2949 .fpu softvfp
|
|
|
2951 UART_DMARxOnlyAbortCallback:
|
|
|
2952 .LFB93:
|
|
|
2724:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** UART_HandleTypeDef* huart = ( UART_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent;
|
|
|
2953 .loc 1 2724 0
|
|
|
2954 .cfi_startproc
|
|
|
2955 @ args = 0, pretend = 0, frame = 0
|
|
|
2956 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
2957 .LVL230:
|
|
|
2958 0000 10B5 push {r4, lr}
|
|
|
2959 .LCFI23:
|
|
|
2960 .cfi_def_cfa_offset 8
|
|
|
2961 .cfi_offset 4, -8
|
|
|
2962 .cfi_offset 14, -4
|
|
|
2725:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2963 .loc 1 2725 0
|
|
|
2964 0002 806A ldr r0, [r0, #40]
|
|
|
2965 .LVL231:
|
|
|
2727:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2966 .loc 1 2727 0
|
|
|
2967 0004 5A23 movs r3, #90
|
|
|
2968 0006 0022 movs r2, #0
|
|
|
2969 0008 C252 strh r2, [r0, r3]
|
|
|
2730:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2970 .loc 1 2730 0
|
|
|
2971 000a 0368 ldr r3, [r0]
|
|
|
2972 000c 0F32 adds r2, r2, #15
|
|
|
2973 000e 1A62 str r2, [r3, #32]
|
|
|
2733:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2974 .loc 1 2733 0
|
|
|
2975 0010 6A23 movs r3, #106
|
|
|
2976 0012 1132 adds r2, r2, #17
|
|
|
2977 0014 C254 strb r2, [r0, r3]
|
|
|
ARM GAS /tmp/cc7An1gz.s page 108
|
|
|
|
|
|
|
|
|
2736:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
2978 .loc 1 2736 0
|
|
|
2979 0016 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
|
|
|
2980 .LVL232:
|
|
|
2737:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
2981 .loc 1 2737 0
|
|
|
2982 @ sp needed
|
|
|
2983 001a 10BD pop {r4, pc}
|
|
|
2984 .cfi_endproc
|
|
|
2985 .LFE93:
|
|
|
2987 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits
|
|
|
2988 .align 1
|
|
|
2989 .global HAL_MultiProcessor_EnterMuteMode
|
|
|
2990 .syntax unified
|
|
|
2991 .code 16
|
|
|
2992 .thumb_func
|
|
|
2993 .fpu softvfp
|
|
|
2995 HAL_MultiProcessor_EnterMuteMode:
|
|
|
2996 .LFB72:
|
|
|
1966:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST);
|
|
|
2997 .loc 1 1966 0
|
|
|
2998 .cfi_startproc
|
|
|
2999 @ args = 0, pretend = 0, frame = 0
|
|
|
3000 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
3001 @ link register save eliminated.
|
|
|
3002 .LVL233:
|
|
|
1967:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3003 .loc 1 1967 0
|
|
|
3004 0000 0268 ldr r2, [r0]
|
|
|
3005 0002 9369 ldr r3, [r2, #24]
|
|
|
3006 0004 0421 movs r1, #4
|
|
|
3007 0006 0B43 orrs r3, r1
|
|
|
3008 0008 9361 str r3, [r2, #24]
|
|
|
1968:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3009 .loc 1 1968 0
|
|
|
3010 @ sp needed
|
|
|
3011 000a 7047 bx lr
|
|
|
3012 .cfi_endproc
|
|
|
3013 .LFE72:
|
|
|
3015 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits
|
|
|
3016 .align 1
|
|
|
3017 .global HAL_HalfDuplex_EnableTransmitter
|
|
|
3018 .syntax unified
|
|
|
3019 .code 16
|
|
|
3020 .thumb_func
|
|
|
3021 .fpu softvfp
|
|
|
3023 HAL_HalfDuplex_EnableTransmitter:
|
|
|
3024 .LFB73:
|
|
|
1976:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
3025 .loc 1 1976 0
|
|
|
3026 .cfi_startproc
|
|
|
3027 @ args = 0, pretend = 0, frame = 0
|
|
|
3028 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
3029 .LVL234:
|
|
|
3030 0000 30B5 push {r4, r5, lr}
|
|
|
3031 .LCFI24:
|
|
|
3032 .cfi_def_cfa_offset 12
|
|
|
ARM GAS /tmp/cc7An1gz.s page 109
|
|
|
|
|
|
|
|
|
3033 .cfi_offset 4, -12
|
|
|
3034 .cfi_offset 5, -8
|
|
|
3035 .cfi_offset 14, -4
|
|
|
1978:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
|
|
|
3036 .loc 1 1978 0
|
|
|
3037 0002 6823 movs r3, #104
|
|
|
3038 0004 C35C ldrb r3, [r0, r3]
|
|
|
3039 0006 012B cmp r3, #1
|
|
|
3040 0008 15D0 beq .L194
|
|
|
1978:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
|
|
|
3041 .loc 1 1978 0 is_stmt 0 discriminator 2
|
|
|
3042 000a 6822 movs r2, #104
|
|
|
3043 000c 0123 movs r3, #1
|
|
|
3044 000e 8354 strb r3, [r0, r2]
|
|
|
1979:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3045 .loc 1 1979 0 is_stmt 1 discriminator 2
|
|
|
3046 0010 6921 movs r1, #105
|
|
|
3047 0012 2333 adds r3, r3, #35
|
|
|
3048 0014 4354 strb r3, [r0, r1]
|
|
|
1982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */
|
|
|
3049 .loc 1 1982 0 discriminator 2
|
|
|
3050 0016 0468 ldr r4, [r0]
|
|
|
3051 0018 2368 ldr r3, [r4]
|
|
|
3052 001a 0C25 movs r5, #12
|
|
|
3053 001c AB43 bics r3, r5
|
|
|
3054 001e 2360 str r3, [r4]
|
|
|
1984:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3055 .loc 1 1984 0 discriminator 2
|
|
|
3056 0020 0468 ldr r4, [r0]
|
|
|
3057 0022 2368 ldr r3, [r4]
|
|
|
3058 0024 043D subs r5, r5, #4
|
|
|
3059 0026 2B43 orrs r3, r5
|
|
|
3060 0028 2360 str r3, [r4]
|
|
|
1986:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3061 .loc 1 1986 0 discriminator 2
|
|
|
3062 002a 2023 movs r3, #32
|
|
|
3063 002c 4354 strb r3, [r0, r1]
|
|
|
1989:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3064 .loc 1 1989 0 discriminator 2
|
|
|
3065 002e 0023 movs r3, #0
|
|
|
3066 0030 8354 strb r3, [r0, r2]
|
|
|
1991:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3067 .loc 1 1991 0 discriminator 2
|
|
|
3068 0032 0020 movs r0, #0
|
|
|
3069 .LVL235:
|
|
|
3070 .L193:
|
|
|
1992:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3071 .loc 1 1992 0
|
|
|
3072 @ sp needed
|
|
|
3073 0034 30BD pop {r4, r5, pc}
|
|
|
3074 .LVL236:
|
|
|
3075 .L194:
|
|
|
1978:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
|
|
|
3076 .loc 1 1978 0
|
|
|
3077 0036 0220 movs r0, #2
|
|
|
3078 .LVL237:
|
|
|
3079 0038 FCE7 b .L193
|
|
|
ARM GAS /tmp/cc7An1gz.s page 110
|
|
|
|
|
|
|
|
|
3080 .cfi_endproc
|
|
|
3081 .LFE73:
|
|
|
3083 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits
|
|
|
3084 .align 1
|
|
|
3085 .global HAL_HalfDuplex_EnableReceiver
|
|
|
3086 .syntax unified
|
|
|
3087 .code 16
|
|
|
3088 .thumb_func
|
|
|
3089 .fpu softvfp
|
|
|
3091 HAL_HalfDuplex_EnableReceiver:
|
|
|
3092 .LFB74:
|
|
|
2000:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
3093 .loc 1 2000 0
|
|
|
3094 .cfi_startproc
|
|
|
3095 @ args = 0, pretend = 0, frame = 0
|
|
|
3096 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
3097 .LVL238:
|
|
|
3098 0000 30B5 push {r4, r5, lr}
|
|
|
3099 .LCFI25:
|
|
|
3100 .cfi_def_cfa_offset 12
|
|
|
3101 .cfi_offset 4, -12
|
|
|
3102 .cfi_offset 5, -8
|
|
|
3103 .cfi_offset 14, -4
|
|
|
2002:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
|
|
|
3104 .loc 1 2002 0
|
|
|
3105 0002 6823 movs r3, #104
|
|
|
3106 0004 C35C ldrb r3, [r0, r3]
|
|
|
3107 0006 012B cmp r3, #1
|
|
|
3108 0008 15D0 beq .L197
|
|
|
2002:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
|
|
|
3109 .loc 1 2002 0 is_stmt 0 discriminator 2
|
|
|
3110 000a 6822 movs r2, #104
|
|
|
3111 000c 0123 movs r3, #1
|
|
|
3112 000e 8354 strb r3, [r0, r2]
|
|
|
2003:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3113 .loc 1 2003 0 is_stmt 1 discriminator 2
|
|
|
3114 0010 6921 movs r1, #105
|
|
|
3115 0012 2333 adds r3, r3, #35
|
|
|
3116 0014 4354 strb r3, [r0, r1]
|
|
|
2006:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */
|
|
|
3117 .loc 1 2006 0 discriminator 2
|
|
|
3118 0016 0468 ldr r4, [r0]
|
|
|
3119 0018 2368 ldr r3, [r4]
|
|
|
3120 001a 0C25 movs r5, #12
|
|
|
3121 001c AB43 bics r3, r5
|
|
|
3122 001e 2360 str r3, [r4]
|
|
|
2008:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3123 .loc 1 2008 0 discriminator 2
|
|
|
3124 0020 0468 ldr r4, [r0]
|
|
|
3125 0022 2368 ldr r3, [r4]
|
|
|
3126 0024 083D subs r5, r5, #8
|
|
|
3127 0026 2B43 orrs r3, r5
|
|
|
3128 0028 2360 str r3, [r4]
|
|
|
2010:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Unlocked */
|
|
|
3129 .loc 1 2010 0 discriminator 2
|
|
|
3130 002a 2023 movs r3, #32
|
|
|
3131 002c 4354 strb r3, [r0, r1]
|
|
|
ARM GAS /tmp/cc7An1gz.s page 111
|
|
|
|
|
|
|
|
|
2012:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3132 .loc 1 2012 0 discriminator 2
|
|
|
3133 002e 0023 movs r3, #0
|
|
|
3134 0030 8354 strb r3, [r0, r2]
|
|
|
2014:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3135 .loc 1 2014 0 discriminator 2
|
|
|
3136 0032 0020 movs r0, #0
|
|
|
3137 .LVL239:
|
|
|
3138 .L196:
|
|
|
2015:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3139 .loc 1 2015 0
|
|
|
3140 @ sp needed
|
|
|
3141 0034 30BD pop {r4, r5, pc}
|
|
|
3142 .LVL240:
|
|
|
3143 .L197:
|
|
|
2002:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
|
|
|
3144 .loc 1 2002 0
|
|
|
3145 0036 0220 movs r0, #2
|
|
|
3146 .LVL241:
|
|
|
3147 0038 FCE7 b .L196
|
|
|
3148 .cfi_endproc
|
|
|
3149 .LFE74:
|
|
|
3151 .section .text.HAL_LIN_SendBreak,"ax",%progbits
|
|
|
3152 .align 1
|
|
|
3153 .global HAL_LIN_SendBreak
|
|
|
3154 .syntax unified
|
|
|
3155 .code 16
|
|
|
3156 .thumb_func
|
|
|
3157 .fpu softvfp
|
|
|
3159 HAL_LIN_SendBreak:
|
|
|
3160 .LFB75:
|
|
|
2024:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the parameters */
|
|
|
3161 .loc 1 2024 0
|
|
|
3162 .cfi_startproc
|
|
|
3163 @ args = 0, pretend = 0, frame = 0
|
|
|
3164 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
3165 .LVL242:
|
|
|
3166 0000 30B5 push {r4, r5, lr}
|
|
|
3167 .LCFI26:
|
|
|
3168 .cfi_def_cfa_offset 12
|
|
|
3169 .cfi_offset 4, -12
|
|
|
3170 .cfi_offset 5, -8
|
|
|
3171 .cfi_offset 14, -4
|
|
|
2029:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3172 .loc 1 2029 0
|
|
|
3173 0002 6823 movs r3, #104
|
|
|
3174 0004 C35C ldrb r3, [r0, r3]
|
|
|
3175 0006 012B cmp r3, #1
|
|
|
3176 0008 10D0 beq .L200
|
|
|
2029:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3177 .loc 1 2029 0 is_stmt 0 discriminator 2
|
|
|
3178 000a 6822 movs r2, #104
|
|
|
3179 000c 0123 movs r3, #1
|
|
|
3180 000e 8354 strb r3, [r0, r2]
|
|
|
2031:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3181 .loc 1 2031 0 is_stmt 1 discriminator 2
|
|
|
3182 0010 6921 movs r1, #105
|
|
|
ARM GAS /tmp/cc7An1gz.s page 112
|
|
|
|
|
|
|
|
|
3183 0012 2333 adds r3, r3, #35
|
|
|
3184 0014 4354 strb r3, [r0, r1]
|
|
|
2034:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3185 .loc 1 2034 0 discriminator 2
|
|
|
3186 0016 0468 ldr r4, [r0]
|
|
|
3187 0018 A369 ldr r3, [r4, #24]
|
|
|
3188 001a 0225 movs r5, #2
|
|
|
3189 001c 2B43 orrs r3, r5
|
|
|
3190 001e A361 str r3, [r4, #24]
|
|
|
2036:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3191 .loc 1 2036 0 discriminator 2
|
|
|
3192 0020 2023 movs r3, #32
|
|
|
3193 0022 4354 strb r3, [r0, r1]
|
|
|
2039:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3194 .loc 1 2039 0 discriminator 2
|
|
|
3195 0024 0023 movs r3, #0
|
|
|
3196 0026 8354 strb r3, [r0, r2]
|
|
|
2041:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3197 .loc 1 2041 0 discriminator 2
|
|
|
3198 0028 0020 movs r0, #0
|
|
|
3199 .LVL243:
|
|
|
3200 .L199:
|
|
|
2042:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3201 .loc 1 2042 0
|
|
|
3202 @ sp needed
|
|
|
3203 002a 30BD pop {r4, r5, pc}
|
|
|
3204 .LVL244:
|
|
|
3205 .L200:
|
|
|
2029:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3206 .loc 1 2029 0
|
|
|
3207 002c 0220 movs r0, #2
|
|
|
3208 .LVL245:
|
|
|
3209 002e FCE7 b .L199
|
|
|
3210 .cfi_endproc
|
|
|
3211 .LFE75:
|
|
|
3213 .section .text.HAL_UART_GetState,"ax",%progbits
|
|
|
3214 .align 1
|
|
|
3215 .global HAL_UART_GetState
|
|
|
3216 .syntax unified
|
|
|
3217 .code 16
|
|
|
3218 .thumb_func
|
|
|
3219 .fpu softvfp
|
|
|
3221 HAL_UART_GetState:
|
|
|
3222 .LFB76:
|
|
|
2072:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t temp1= 0x00U, temp2 = 0x00U;
|
|
|
3223 .loc 1 2072 0
|
|
|
3224 .cfi_startproc
|
|
|
3225 @ args = 0, pretend = 0, frame = 0
|
|
|
3226 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
3227 @ link register save eliminated.
|
|
|
3228 .LVL246:
|
|
|
2074:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** temp2 = huart->RxState;
|
|
|
3229 .loc 1 2074 0
|
|
|
3230 0000 6923 movs r3, #105
|
|
|
3231 0002 C35C ldrb r3, [r0, r3]
|
|
|
3232 .LVL247:
|
|
|
2075:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
ARM GAS /tmp/cc7An1gz.s page 113
|
|
|
|
|
|
|
|
|
3233 .loc 1 2075 0
|
|
|
3234 0004 6A22 movs r2, #106
|
|
|
3235 0006 805C ldrb r0, [r0, r2]
|
|
|
3236 .LVL248:
|
|
|
2077:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3237 .loc 1 2077 0
|
|
|
3238 0008 1843 orrs r0, r3
|
|
|
3239 .LVL249:
|
|
|
2078:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3240 .loc 1 2078 0
|
|
|
3241 @ sp needed
|
|
|
3242 000a 7047 bx lr
|
|
|
3243 .cfi_endproc
|
|
|
3244 .LFE76:
|
|
|
3246 .section .text.HAL_UART_GetError,"ax",%progbits
|
|
|
3247 .align 1
|
|
|
3248 .global HAL_UART_GetError
|
|
|
3249 .syntax unified
|
|
|
3250 .code 16
|
|
|
3251 .thumb_func
|
|
|
3252 .fpu softvfp
|
|
|
3254 HAL_UART_GetError:
|
|
|
3255 .LFB77:
|
|
|
2087:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return huart->ErrorCode;
|
|
|
3256 .loc 1 2087 0
|
|
|
3257 .cfi_startproc
|
|
|
3258 @ args = 0, pretend = 0, frame = 0
|
|
|
3259 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
3260 @ link register save eliminated.
|
|
|
3261 .LVL250:
|
|
|
2088:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3262 .loc 1 2088 0
|
|
|
3263 0000 C06E ldr r0, [r0, #108]
|
|
|
3264 .LVL251:
|
|
|
2089:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /**
|
|
|
3265 .loc 1 2089 0
|
|
|
3266 @ sp needed
|
|
|
3267 0002 7047 bx lr
|
|
|
3268 .cfi_endproc
|
|
|
3269 .LFE77:
|
|
|
3271 .global __aeabi_uldivmod
|
|
|
3272 .global __aeabi_uidiv
|
|
|
3273 .section .text.UART_SetConfig,"ax",%progbits
|
|
|
3274 .align 1
|
|
|
3275 .global UART_SetConfig
|
|
|
3276 .syntax unified
|
|
|
3277 .code 16
|
|
|
3278 .thumb_func
|
|
|
3279 .fpu softvfp
|
|
|
3281 UART_SetConfig:
|
|
|
3282 .LFB78:
|
|
|
2108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t tmpreg = 0x00000000U;
|
|
|
3283 .loc 1 2108 0
|
|
|
3284 .cfi_startproc
|
|
|
3285 @ args = 0, pretend = 0, frame = 0
|
|
|
3286 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
3287 .LVL252:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 114
|
|
|
|
|
|
|
|
|
3288 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
|
|
|
3289 .LCFI27:
|
|
|
3290 .cfi_def_cfa_offset 24
|
|
|
3291 .cfi_offset 3, -24
|
|
|
3292 .cfi_offset 4, -20
|
|
|
3293 .cfi_offset 5, -16
|
|
|
3294 .cfi_offset 6, -12
|
|
|
3295 .cfi_offset 7, -8
|
|
|
3296 .cfi_offset 14, -4
|
|
|
3297 0002 0400 movs r4, r0
|
|
|
3298 .LVL253:
|
|
|
2118:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
3299 .loc 1 2118 0
|
|
|
3300 0004 0168 ldr r1, [r0]
|
|
|
2141:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, UART_CR1_FIELDS, tmpreg);
|
|
|
3301 .loc 1 2141 0
|
|
|
3302 0006 8368 ldr r3, [r0, #8]
|
|
|
3303 0008 0269 ldr r2, [r0, #16]
|
|
|
3304 000a 1343 orrs r3, r2
|
|
|
3305 000c 4269 ldr r2, [r0, #20]
|
|
|
3306 000e 1343 orrs r3, r2
|
|
|
3307 0010 C269 ldr r2, [r0, #28]
|
|
|
3308 0012 1343 orrs r3, r2
|
|
|
3309 .LVL254:
|
|
|
2142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3310 .loc 1 2142 0
|
|
|
3311 0014 0A68 ldr r2, [r1]
|
|
|
3312 0016 BE48 ldr r0, .L271
|
|
|
3313 .LVL255:
|
|
|
3314 0018 0240 ands r2, r0
|
|
|
3315 001a 1343 orrs r3, r2
|
|
|
3316 .LVL256:
|
|
|
3317 001c 0B60 str r3, [r1]
|
|
|
3318 .LVL257:
|
|
|
2147:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3319 .loc 1 2147 0
|
|
|
3320 001e 2268 ldr r2, [r4]
|
|
|
3321 0020 5368 ldr r3, [r2, #4]
|
|
|
3322 0022 BC49 ldr r1, .L271+4
|
|
|
3323 0024 0B40 ands r3, r1
|
|
|
3324 0026 E168 ldr r1, [r4, #12]
|
|
|
3325 0028 0B43 orrs r3, r1
|
|
|
3326 002a 5360 str r3, [r2, #4]
|
|
|
2155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if (!(UART_INSTANCE_LOWPOWER(huart)))
|
|
|
3327 .loc 1 2155 0
|
|
|
3328 002c A169 ldr r1, [r4, #24]
|
|
|
3329 .LVL258:
|
|
|
2156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
3330 .loc 1 2156 0
|
|
|
3331 002e 2268 ldr r2, [r4]
|
|
|
3332 0030 B94B ldr r3, .L271+8
|
|
|
3333 0032 9A42 cmp r2, r3
|
|
|
3334 0034 01D0 beq .L204
|
|
|
2158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3335 .loc 1 2158 0
|
|
|
3336 0036 236A ldr r3, [r4, #32]
|
|
|
3337 0038 1943 orrs r1, r3
|
|
|
ARM GAS /tmp/cc7An1gz.s page 115
|
|
|
|
|
|
|
|
|
3338 .LVL259:
|
|
|
3339 .L204:
|
|
|
2160:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3340 .loc 1 2160 0
|
|
|
3341 003a 9368 ldr r3, [r2, #8]
|
|
|
3342 003c B748 ldr r0, .L271+12
|
|
|
3343 003e 0340 ands r3, r0
|
|
|
3344 0040 0B43 orrs r3, r1
|
|
|
3345 0042 9360 str r3, [r2, #8]
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3346 .loc 1 2163 0
|
|
|
3347 0044 2368 ldr r3, [r4]
|
|
|
3348 0046 B64A ldr r2, .L271+16
|
|
|
3349 0048 9342 cmp r3, r2
|
|
|
3350 004a 20D0 beq .L262
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3351 .loc 1 2163 0 is_stmt 0 discriminator 2
|
|
|
3352 004c B54A ldr r2, .L271+20
|
|
|
3353 004e 9342 cmp r3, r2
|
|
|
3354 0050 31D0 beq .L263
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3355 .loc 1 2163 0 discriminator 14
|
|
|
3356 0052 B54A ldr r2, .L271+24
|
|
|
3357 0054 9342 cmp r3, r2
|
|
|
3358 0056 63D0 beq .L248
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3359 .loc 1 2163 0 discriminator 26
|
|
|
3360 0058 B44A ldr r2, .L271+28
|
|
|
3361 005a 9342 cmp r3, r2
|
|
|
3362 005c 62D0 beq .L249
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3363 .loc 1 2163 0 discriminator 28
|
|
|
3364 005e AE4A ldr r2, .L271+8
|
|
|
3365 0060 9342 cmp r3, r2
|
|
|
3366 0062 3DD0 beq .L264
|
|
|
2110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint16_t brrtemp = 0x0000U;
|
|
|
3367 .loc 1 2110 0 is_stmt 1
|
|
|
3368 0064 1025 movs r5, #16
|
|
|
3369 .LVL260:
|
|
|
3370 .L209:
|
|
|
2164:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3371 .loc 1 2164 0
|
|
|
3372 0066 0220 movs r0, #2
|
|
|
3373 0068 FFF7FEFF bl HAL_RCCEx_GetPeriphCLKFreq
|
|
|
3374 .LVL261:
|
|
|
2167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
3375 .loc 1 2167 0
|
|
|
3376 006c 2668 ldr r6, [r4]
|
|
|
3377 006e AA4B ldr r3, .L271+8
|
|
|
3378 0070 9E42 cmp r6, r3
|
|
|
3379 0072 5BD0 beq .L265
|
|
|
2224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
3380 .loc 1 2224 0
|
|
|
3381 0074 8023 movs r3, #128
|
|
|
3382 0076 1B02 lsls r3, r3, #8
|
|
|
3383 0078 E269 ldr r2, [r4, #28]
|
|
|
3384 007a 9A42 cmp r2, r3
|
|
|
ARM GAS /tmp/cc7An1gz.s page 116
|
|
|
|
|
|
|
|
|
3385 007c 00D1 bne .LCB2994
|
|
|
3386 007e 90E0 b .L266 @long jump
|
|
|
3387 .LCB2994:
|
|
|
2262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
3388 .loc 1 2262 0
|
|
|
3389 0080 082D cmp r5, #8
|
|
|
3390 0082 00D9 bls .LCB2996
|
|
|
3391 0084 66E1 b .L260 @long jump
|
|
|
3392 .LCB2996:
|
|
|
3393 0086 AD00 lsls r5, r5, #2
|
|
|
3394 .LVL262:
|
|
|
3395 0088 A94B ldr r3, .L271+32
|
|
|
3396 008a 5B59 ldr r3, [r3, r5]
|
|
|
3397 008c 9F46 mov pc, r3
|
|
|
3398 .section .rodata.UART_SetConfig,"a",%progbits
|
|
|
3399 .align 2
|
|
|
3400 .L240:
|
|
|
3401 0000 56020000 .word .L239
|
|
|
3402 0004 72020000 .word .L241
|
|
|
3403 0008 8E020000 .word .L242
|
|
|
3404 000c 54030000 .word .L260
|
|
|
3405 0010 C6020000 .word .L243
|
|
|
3406 0014 54030000 .word .L260
|
|
|
3407 0018 54030000 .word .L260
|
|
|
3408 001c 54030000 .word .L260
|
|
|
3409 0020 E2020000 .word .L244
|
|
|
3410 .section .text.UART_SetConfig
|
|
|
3411 .LVL263:
|
|
|
3412 .L262:
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3413 .loc 1 2163 0 discriminator 1
|
|
|
3414 008e A94B ldr r3, .L271+36
|
|
|
3415 0090 DA6C ldr r2, [r3, #76]
|
|
|
3416 0092 0323 movs r3, #3
|
|
|
3417 0094 1340 ands r3, r2
|
|
|
3418 0096 012B cmp r3, #1
|
|
|
3419 0098 09D0 beq .L207
|
|
|
3420 009a 002B cmp r3, #0
|
|
|
3421 009c 05D0 beq .L208
|
|
|
3422 009e 022B cmp r3, #2
|
|
|
3423 00a0 3AD0 beq .L246
|
|
|
3424 00a2 032B cmp r3, #3
|
|
|
3425 00a4 05D0 beq .L210
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3426 .loc 1 2163 0 is_stmt 0 discriminator 3
|
|
|
3427 00a6 1025 movs r5, #16
|
|
|
3428 00a8 DDE7 b .L209
|
|
|
3429 .L208:
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3430 .loc 1 2163 0
|
|
|
3431 00aa 0125 movs r5, #1
|
|
|
3432 00ac DBE7 b .L209
|
|
|
3433 .L207:
|
|
|
3434 .LVL264:
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3435 .loc 1 2163 0 discriminator 5
|
|
|
3436 00ae 0425 movs r5, #4
|
|
|
ARM GAS /tmp/cc7An1gz.s page 117
|
|
|
|
|
|
|
|
|
3437 00b0 D9E7 b .L209
|
|
|
3438 .LVL265:
|
|
|
3439 .L210:
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3440 .loc 1 2163 0 discriminator 7
|
|
|
3441 00b2 0825 movs r5, #8
|
|
|
3442 00b4 D7E7 b .L209
|
|
|
3443 .LVL266:
|
|
|
3444 .L263:
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3445 .loc 1 2163 0 discriminator 13
|
|
|
3446 00b6 9F4B ldr r3, .L271+36
|
|
|
3447 00b8 DA6C ldr r2, [r3, #76]
|
|
|
3448 00ba 0C23 movs r3, #12
|
|
|
3449 00bc 1340 ands r3, r2
|
|
|
3450 00be 042B cmp r3, #4
|
|
|
3451 00c0 0AD0 beq .L213
|
|
|
3452 00c2 05D9 bls .L267
|
|
|
3453 00c4 082B cmp r3, #8
|
|
|
3454 00c6 29D0 beq .L247
|
|
|
3455 00c8 0C2B cmp r3, #12
|
|
|
3456 00ca 07D1 bne .L212
|
|
|
3457 .LVL267:
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3458 .loc 1 2163 0 discriminator 19
|
|
|
3459 00cc 0825 movs r5, #8
|
|
|
3460 00ce CAE7 b .L209
|
|
|
3461 .LVL268:
|
|
|
3462 .L267:
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3463 .loc 1 2163 0 discriminator 13
|
|
|
3464 00d0 002B cmp r3, #0
|
|
|
3465 00d2 03D1 bne .L212
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3466 .loc 1 2163 0
|
|
|
3467 00d4 0025 movs r5, #0
|
|
|
3468 00d6 C6E7 b .L209
|
|
|
3469 .L213:
|
|
|
3470 .LVL269:
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3471 .loc 1 2163 0 discriminator 17
|
|
|
3472 00d8 0425 movs r5, #4
|
|
|
3473 00da C4E7 b .L209
|
|
|
3474 .LVL270:
|
|
|
3475 .L212:
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3476 .loc 1 2163 0 discriminator 15
|
|
|
3477 00dc 1025 movs r5, #16
|
|
|
3478 00de C2E7 b .L209
|
|
|
3479 .L264:
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3480 .loc 1 2163 0 discriminator 29
|
|
|
3481 00e0 944B ldr r3, .L271+36
|
|
|
3482 00e2 DB6C ldr r3, [r3, #76]
|
|
|
3483 00e4 C022 movs r2, #192
|
|
|
3484 00e6 1201 lsls r2, r2, #4
|
|
|
3485 00e8 1340 ands r3, r2
|
|
|
ARM GAS /tmp/cc7An1gz.s page 118
|
|
|
|
|
|
|
|
|
3486 00ea 8022 movs r2, #128
|
|
|
3487 00ec D200 lsls r2, r2, #3
|
|
|
3488 00ee 9342 cmp r3, r2
|
|
|
3489 00f0 0ED0 beq .L218
|
|
|
3490 00f2 09D9 bls .L268
|
|
|
3491 00f4 8022 movs r2, #128
|
|
|
3492 00f6 1201 lsls r2, r2, #4
|
|
|
3493 00f8 9342 cmp r3, r2
|
|
|
3494 00fa 15D0 beq .L251
|
|
|
3495 00fc C022 movs r2, #192
|
|
|
3496 00fe 1201 lsls r2, r2, #4
|
|
|
3497 0100 9342 cmp r3, r2
|
|
|
3498 0102 07D1 bne .L217
|
|
|
3499 .LVL271:
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3500 .loc 1 2163 0 discriminator 34
|
|
|
3501 0104 0825 movs r5, #8
|
|
|
3502 0106 AEE7 b .L209
|
|
|
3503 .LVL272:
|
|
|
3504 .L268:
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3505 .loc 1 2163 0 discriminator 29
|
|
|
3506 0108 002B cmp r3, #0
|
|
|
3507 010a 03D1 bne .L217
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3508 .loc 1 2163 0
|
|
|
3509 010c 0025 movs r5, #0
|
|
|
3510 010e AAE7 b .L209
|
|
|
3511 .L218:
|
|
|
3512 .LVL273:
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3513 .loc 1 2163 0 discriminator 32
|
|
|
3514 0110 0425 movs r5, #4
|
|
|
3515 0112 A8E7 b .L209
|
|
|
3516 .LVL274:
|
|
|
3517 .L217:
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3518 .loc 1 2163 0 discriminator 30
|
|
|
3519 0114 1025 movs r5, #16
|
|
|
3520 0116 A6E7 b .L209
|
|
|
3521 .L246:
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t frequency = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_USART2);
|
|
|
3522 .loc 1 2163 0
|
|
|
3523 0118 0225 movs r5, #2
|
|
|
3524 011a A4E7 b .L209
|
|
|
3525 .L247:
|
|
|
3526 011c 0225 movs r5, #2
|
|
|
3527 011e A2E7 b .L209
|
|
|
3528 .L248:
|
|
|
3529 0120 0025 movs r5, #0
|
|
|
3530 0122 A0E7 b .L209
|
|
|
3531 .L249:
|
|
|
3532 0124 0025 movs r5, #0
|
|
|
3533 0126 9EE7 b .L209
|
|
|
3534 .L251:
|
|
|
3535 0128 0225 movs r5, #2
|
|
|
3536 012a 9CE7 b .L209
|
|
|
ARM GAS /tmp/cc7An1gz.s page 119
|
|
|
|
|
|
|
|
|
3537 .LVL275:
|
|
|
3538 .L265:
|
|
|
2172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
3539 .loc 1 2172 0 is_stmt 1
|
|
|
3540 012c 022D cmp r5, #2
|
|
|
3541 012e 2DD0 beq .L224
|
|
|
3542 0130 07D9 bls .L269
|
|
|
3543 0132 042D cmp r5, #4
|
|
|
3544 0134 30D0 beq .L227
|
|
|
3545 0136 082D cmp r5, #8
|
|
|
3546 0138 00D0 beq .LCB3172
|
|
|
3547 013a DFE0 b .L252 @long jump
|
|
|
3548 .LCB3172:
|
|
|
2191:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
3549 .loc 1 2191 0
|
|
|
3550 013c 8020 movs r0, #128
|
|
|
3551 .LVL276:
|
|
|
3552 013e 0002 lsls r0, r0, #8
|
|
|
3553 0140 07E0 b .L228
|
|
|
3554 .LVL277:
|
|
|
3555 .L269:
|
|
|
2172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
3556 .loc 1 2172 0
|
|
|
3557 0142 002D cmp r5, #0
|
|
|
3558 0144 00D0 beq .LCB3182
|
|
|
3559 0146 D9E0 b .L252 @long jump
|
|
|
3560 .LCB3182:
|
|
|
2175:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
3561 .loc 1 2175 0
|
|
|
3562 0148 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
|
|
|
3563 .LVL278:
|
|
|
3564 .L229:
|
|
|
2200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
3565 .loc 1 2200 0
|
|
|
3566 014c 0028 cmp r0, #0
|
|
|
3567 014e 00D1 bne .LCB3193
|
|
|
3568 0150 D6E0 b .L270 @long jump
|
|
|
3569 .LCB3193:
|
|
|
3570 .LVL279:
|
|
|
3571 .L228:
|
|
|
2203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (tmpreg > (4096 * huart->Init.BaudRate) ))
|
|
|
3572 .loc 1 2203 0
|
|
|
3573 0152 6268 ldr r2, [r4, #4]
|
|
|
3574 0154 5300 lsls r3, r2, #1
|
|
|
3575 0156 9B18 adds r3, r3, r2
|
|
|
3576 0158 8342 cmp r3, r0
|
|
|
3577 015a 00D9 bls .LCB3200
|
|
|
3578 015c D2E0 b .L256 @long jump
|
|
|
3579 .LCB3200:
|
|
|
2204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
3580 .loc 1 2204 0 discriminator 1
|
|
|
3581 015e 1303 lsls r3, r2, #12
|
|
|
2203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** (tmpreg > (4096 * huart->Init.BaudRate) ))
|
|
|
3582 .loc 1 2203 0 discriminator 1
|
|
|
3583 0160 8342 cmp r3, r0
|
|
|
3584 0162 00D2 bcs .LCB3203
|
|
|
3585 0164 D0E0 b .L257 @long jump
|
|
|
ARM GAS /tmp/cc7An1gz.s page 120
|
|
|
|
|
|
|
|
|
3586 .LCB3203:
|
|
|
2210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3587 .loc 1 2210 0
|
|
|
3588 0166 070E lsrs r7, r0, #24
|
|
|
3589 0168 0602 lsls r6, r0, #8
|
|
|
3590 016a 5008 lsrs r0, r2, #1
|
|
|
3591 016c 0021 movs r1, #0
|
|
|
3592 016e 8019 adds r0, r0, r6
|
|
|
3593 0170 7941 adcs r1, r1, r7
|
|
|
3594 0172 0023 movs r3, #0
|
|
|
3595 0174 FFF7FEFF bl __aeabi_uldivmod
|
|
|
3596 .LVL280:
|
|
|
2212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
3597 .loc 1 2212 0
|
|
|
3598 0178 6F4B ldr r3, .L271+40
|
|
|
3599 017a C218 adds r2, r0, r3
|
|
|
3600 017c 6F4B ldr r3, .L271+44
|
|
|
3601 017e 9A42 cmp r2, r3
|
|
|
3602 0180 00D9 bls .LCB3220
|
|
|
3603 0182 C3E0 b .L258 @long jump
|
|
|
3604 .LCB3220:
|
|
|
2214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3605 .loc 1 2214 0
|
|
|
3606 0184 2368 ldr r3, [r4]
|
|
|
3607 0186 D860 str r0, [r3, #12]
|
|
|
3608 0188 0020 movs r0, #0
|
|
|
3609 .LVL281:
|
|
|
3610 018a 22E0 b .L223
|
|
|
3611 .LVL282:
|
|
|
3612 .L224:
|
|
|
2178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
3613 .loc 1 2178 0
|
|
|
3614 018c 694B ldr r3, .L271+36
|
|
|
3615 018e 1B68 ldr r3, [r3]
|
|
|
3616 0190 DB06 lsls r3, r3, #27
|
|
|
3617 0192 04D4 bmi .L254
|
|
|
2184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3618 .loc 1 2184 0
|
|
|
3619 0194 6A48 ldr r0, .L271+48
|
|
|
3620 .LVL283:
|
|
|
3621 0196 DCE7 b .L228
|
|
|
3622 .LVL284:
|
|
|
3623 .L227:
|
|
|
2188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
3624 .loc 1 2188 0
|
|
|
3625 0198 FFF7FEFF bl HAL_RCC_GetSysClockFreq
|
|
|
3626 .LVL285:
|
|
|
2189:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
|
|
|
3627 .loc 1 2189 0
|
|
|
3628 019c D6E7 b .L229
|
|
|
3629 .LVL286:
|
|
|
3630 .L254:
|
|
|
2180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3631 .loc 1 2180 0
|
|
|
3632 019e 6948 ldr r0, .L271+52
|
|
|
3633 .LVL287:
|
|
|
3634 01a0 D7E7 b .L228
|
|
|
ARM GAS /tmp/cc7An1gz.s page 121
|
|
|
|
|
|
|
|
|
3635 .LVL288:
|
|
|
3636 .L266:
|
|
|
2226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
3637 .loc 1 2226 0
|
|
|
3638 01a2 082D cmp r5, #8
|
|
|
3639 01a4 54D8 bhi .L259
|
|
|
3640 01a6 AD00 lsls r5, r5, #2
|
|
|
3641 .LVL289:
|
|
|
3642 01a8 674B ldr r3, .L271+56
|
|
|
3643 01aa 5B59 ldr r3, [r3, r5]
|
|
|
3644 01ac 9F46 mov pc, r3
|
|
|
3645 .section .rodata.UART_SetConfig
|
|
|
3646 .align 2
|
|
|
3647 .L233:
|
|
|
3648 0024 AE010000 .word .L232
|
|
|
3649 0028 D4010000 .word .L234
|
|
|
3650 002c EC010000 .word .L235
|
|
|
3651 0030 50020000 .word .L259
|
|
|
3652 0034 20020000 .word .L236
|
|
|
3653 0038 50020000 .word .L259
|
|
|
3654 003c 50020000 .word .L259
|
|
|
3655 0040 50020000 .word .L259
|
|
|
3656 0044 38020000 .word .L237
|
|
|
3657 .section .text.UART_SetConfig
|
|
|
3658 .L232:
|
|
|
2229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
3659 .loc 1 2229 0
|
|
|
3660 01ae 4000 lsls r0, r0, #1
|
|
|
3661 .LVL290:
|
|
|
3662 01b0 6368 ldr r3, [r4, #4]
|
|
|
3663 01b2 5B08 lsrs r3, r3, #1
|
|
|
3664 01b4 C018 adds r0, r0, r3
|
|
|
3665 01b6 6168 ldr r1, [r4, #4]
|
|
|
3666 01b8 FFF7FEFF bl __aeabi_uidiv
|
|
|
3667 .LVL291:
|
|
|
3668 01bc 83B2 uxth r3, r0
|
|
|
3669 .LVL292:
|
|
|
2113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3670 .loc 1 2113 0
|
|
|
3671 01be 0020 movs r0, #0
|
|
|
3672 .LVL293:
|
|
|
3673 .L231:
|
|
|
2256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** brrtemp |= (uint16_t)((uint16_t)(usartdiv & (uint16_t)0x000FU) >> (uint16_t)1U);
|
|
|
3674 .loc 1 2256 0
|
|
|
3675 01c0 0F22 movs r2, #15
|
|
|
3676 01c2 1900 movs r1, r3
|
|
|
3677 01c4 9143 bics r1, r2
|
|
|
3678 .LVL294:
|
|
|
2257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
|
|
|
3679 .loc 1 2257 0
|
|
|
3680 01c6 5B10 asrs r3, r3, #1
|
|
|
3681 .LVL295:
|
|
|
3682 01c8 083A subs r2, r2, #8
|
|
|
3683 01ca 1340 ands r3, r2
|
|
|
3684 01cc 0B43 orrs r3, r1
|
|
|
3685 .LVL296:
|
|
|
2258:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
ARM GAS /tmp/cc7An1gz.s page 122
|
|
|
|
|
|
|
|
|
3686 .loc 1 2258 0
|
|
|
3687 01ce 2268 ldr r2, [r4]
|
|
|
3688 01d0 D360 str r3, [r2, #12]
|
|
|
3689 .LVL297:
|
|
|
3690 .L223:
|
|
|
2295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3691 .loc 1 2295 0
|
|
|
3692 @ sp needed
|
|
|
3693 .LVL298:
|
|
|
3694 01d2 F8BD pop {r3, r4, r5, r6, r7, pc}
|
|
|
3695 .LVL299:
|
|
|
3696 .L234:
|
|
|
2232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
3697 .loc 1 2232 0
|
|
|
3698 01d4 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
|
|
|
3699 .LVL300:
|
|
|
3700 01d8 4000 lsls r0, r0, #1
|
|
|
3701 01da 6368 ldr r3, [r4, #4]
|
|
|
3702 01dc 5B08 lsrs r3, r3, #1
|
|
|
3703 01de C018 adds r0, r0, r3
|
|
|
3704 01e0 6168 ldr r1, [r4, #4]
|
|
|
3705 01e2 FFF7FEFF bl __aeabi_uidiv
|
|
|
3706 .LVL301:
|
|
|
3707 01e6 83B2 uxth r3, r0
|
|
|
3708 .LVL302:
|
|
|
2113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3709 .loc 1 2113 0
|
|
|
3710 01e8 0020 movs r0, #0
|
|
|
2233:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
|
|
|
3711 .loc 1 2233 0
|
|
|
3712 01ea E9E7 b .L231
|
|
|
3713 .LVL303:
|
|
|
3714 .L235:
|
|
|
2235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
3715 .loc 1 2235 0
|
|
|
3716 01ec 514B ldr r3, .L271+36
|
|
|
3717 01ee 1B68 ldr r3, [r3]
|
|
|
3718 01f0 DB06 lsls r3, r3, #27
|
|
|
3719 01f2 0AD5 bpl .L238
|
|
|
2237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3720 .loc 1 2237 0
|
|
|
3721 01f4 6368 ldr r3, [r4, #4]
|
|
|
3722 01f6 5808 lsrs r0, r3, #1
|
|
|
3723 .LVL304:
|
|
|
3724 01f8 544B ldr r3, .L271+60
|
|
|
3725 01fa 9C46 mov ip, r3
|
|
|
3726 01fc 6044 add r0, r0, ip
|
|
|
3727 01fe 6168 ldr r1, [r4, #4]
|
|
|
3728 0200 FFF7FEFF bl __aeabi_uidiv
|
|
|
3729 .LVL305:
|
|
|
3730 0204 83B2 uxth r3, r0
|
|
|
3731 .LVL306:
|
|
|
2113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3732 .loc 1 2113 0
|
|
|
3733 0206 0020 movs r0, #0
|
|
|
3734 0208 DAE7 b .L231
|
|
|
3735 .LVL307:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 123
|
|
|
|
|
|
|
|
|
3736 .L238:
|
|
|
2241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3737 .loc 1 2241 0
|
|
|
3738 020a 6368 ldr r3, [r4, #4]
|
|
|
3739 020c 5808 lsrs r0, r3, #1
|
|
|
3740 .LVL308:
|
|
|
3741 020e 504B ldr r3, .L271+64
|
|
|
3742 0210 9C46 mov ip, r3
|
|
|
3743 0212 6044 add r0, r0, ip
|
|
|
3744 0214 6168 ldr r1, [r4, #4]
|
|
|
3745 0216 FFF7FEFF bl __aeabi_uidiv
|
|
|
3746 .LVL309:
|
|
|
3747 021a 83B2 uxth r3, r0
|
|
|
3748 .LVL310:
|
|
|
2113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3749 .loc 1 2113 0
|
|
|
3750 021c 0020 movs r0, #0
|
|
|
3751 021e CFE7 b .L231
|
|
|
3752 .LVL311:
|
|
|
3753 .L236:
|
|
|
2245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
3754 .loc 1 2245 0
|
|
|
3755 0220 FFF7FEFF bl HAL_RCC_GetSysClockFreq
|
|
|
3756 .LVL312:
|
|
|
3757 0224 4000 lsls r0, r0, #1
|
|
|
3758 0226 6368 ldr r3, [r4, #4]
|
|
|
3759 0228 5B08 lsrs r3, r3, #1
|
|
|
3760 022a C018 adds r0, r0, r3
|
|
|
3761 022c 6168 ldr r1, [r4, #4]
|
|
|
3762 022e FFF7FEFF bl __aeabi_uidiv
|
|
|
3763 .LVL313:
|
|
|
3764 0232 83B2 uxth r3, r0
|
|
|
3765 .LVL314:
|
|
|
2113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3766 .loc 1 2113 0
|
|
|
3767 0234 0020 movs r0, #0
|
|
|
2246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
|
|
|
3768 .loc 1 2246 0
|
|
|
3769 0236 C3E7 b .L231
|
|
|
3770 .LVL315:
|
|
|
3771 .L237:
|
|
|
2248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
3772 .loc 1 2248 0
|
|
|
3773 0238 6368 ldr r3, [r4, #4]
|
|
|
3774 023a 5808 lsrs r0, r3, #1
|
|
|
3775 .LVL316:
|
|
|
3776 023c 8023 movs r3, #128
|
|
|
3777 023e 5B02 lsls r3, r3, #9
|
|
|
3778 0240 9C46 mov ip, r3
|
|
|
3779 0242 6044 add r0, r0, ip
|
|
|
3780 0244 6168 ldr r1, [r4, #4]
|
|
|
3781 0246 FFF7FEFF bl __aeabi_uidiv
|
|
|
3782 .LVL317:
|
|
|
3783 024a 83B2 uxth r3, r0
|
|
|
3784 .LVL318:
|
|
|
2113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3785 .loc 1 2113 0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 124
|
|
|
|
|
|
|
|
|
3786 024c 0020 movs r0, #0
|
|
|
2249:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_UNDEFINED:
|
|
|
3787 .loc 1 2249 0
|
|
|
3788 024e B7E7 b .L231
|
|
|
3789 .LVL319:
|
|
|
3790 .L259:
|
|
|
2252:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
3791 .loc 1 2252 0
|
|
|
3792 0250 0120 movs r0, #1
|
|
|
3793 .LVL320:
|
|
|
2112:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK;
|
|
|
3794 .loc 1 2112 0
|
|
|
3795 0252 0023 movs r3, #0
|
|
|
3796 0254 B4E7 b .L231
|
|
|
3797 .LVL321:
|
|
|
3798 .L239:
|
|
|
2265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
3799 .loc 1 2265 0
|
|
|
3800 0256 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
|
|
|
3801 .LVL322:
|
|
|
3802 025a 6368 ldr r3, [r4, #4]
|
|
|
3803 025c 5B08 lsrs r3, r3, #1
|
|
|
3804 025e C018 adds r0, r0, r3
|
|
|
3805 0260 6168 ldr r1, [r4, #4]
|
|
|
3806 0262 FFF7FEFF bl __aeabi_uidiv
|
|
|
3807 .LVL323:
|
|
|
3808 0266 2368 ldr r3, [r4]
|
|
|
3809 0268 0004 lsls r0, r0, #16
|
|
|
3810 026a 000C lsrs r0, r0, #16
|
|
|
3811 026c D860 str r0, [r3, #12]
|
|
|
2113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3812 .loc 1 2113 0
|
|
|
3813 026e 0020 movs r0, #0
|
|
|
2266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2:
|
|
|
3814 .loc 1 2266 0
|
|
|
3815 0270 AFE7 b .L223
|
|
|
3816 .LVL324:
|
|
|
3817 .L241:
|
|
|
2268:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
3818 .loc 1 2268 0
|
|
|
3819 0272 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
|
|
|
3820 .LVL325:
|
|
|
3821 0276 6368 ldr r3, [r4, #4]
|
|
|
3822 0278 5B08 lsrs r3, r3, #1
|
|
|
3823 027a C018 adds r0, r0, r3
|
|
|
3824 027c 6168 ldr r1, [r4, #4]
|
|
|
3825 027e FFF7FEFF bl __aeabi_uidiv
|
|
|
3826 .LVL326:
|
|
|
3827 0282 2368 ldr r3, [r4]
|
|
|
3828 0284 0004 lsls r0, r0, #16
|
|
|
3829 0286 000C lsrs r0, r0, #16
|
|
|
3830 0288 D860 str r0, [r3, #12]
|
|
|
2113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3831 .loc 1 2113 0
|
|
|
3832 028a 0020 movs r0, #0
|
|
|
2269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
|
|
|
3833 .loc 1 2269 0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 125
|
|
|
|
|
|
|
|
|
3834 028c A1E7 b .L223
|
|
|
3835 .LVL327:
|
|
|
3836 .L242:
|
|
|
2271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
3837 .loc 1 2271 0
|
|
|
3838 028e 294B ldr r3, .L271+36
|
|
|
3839 0290 1B68 ldr r3, [r3]
|
|
|
3840 0292 DB06 lsls r3, r3, #27
|
|
|
3841 0294 0BD5 bpl .L245
|
|
|
2273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3842 .loc 1 2273 0
|
|
|
3843 0296 6168 ldr r1, [r4, #4]
|
|
|
3844 0298 4808 lsrs r0, r1, #1
|
|
|
3845 .LVL328:
|
|
|
3846 029a 2A4B ldr r3, .L271+52
|
|
|
3847 029c 9C46 mov ip, r3
|
|
|
3848 029e 6044 add r0, r0, ip
|
|
|
3849 02a0 FFF7FEFF bl __aeabi_uidiv
|
|
|
3850 .LVL329:
|
|
|
3851 02a4 0004 lsls r0, r0, #16
|
|
|
3852 02a6 000C lsrs r0, r0, #16
|
|
|
3853 02a8 F060 str r0, [r6, #12]
|
|
|
2113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3854 .loc 1 2113 0
|
|
|
3855 02aa 0020 movs r0, #0
|
|
|
3856 02ac 91E7 b .L223
|
|
|
3857 .LVL330:
|
|
|
3858 .L245:
|
|
|
2277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3859 .loc 1 2277 0
|
|
|
3860 02ae 6168 ldr r1, [r4, #4]
|
|
|
3861 02b0 4808 lsrs r0, r1, #1
|
|
|
3862 .LVL331:
|
|
|
3863 02b2 234B ldr r3, .L271+48
|
|
|
3864 02b4 9C46 mov ip, r3
|
|
|
3865 02b6 6044 add r0, r0, ip
|
|
|
3866 02b8 FFF7FEFF bl __aeabi_uidiv
|
|
|
3867 .LVL332:
|
|
|
3868 02bc 0004 lsls r0, r0, #16
|
|
|
3869 02be 000C lsrs r0, r0, #16
|
|
|
3870 02c0 F060 str r0, [r6, #12]
|
|
|
2113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3871 .loc 1 2113 0
|
|
|
3872 02c2 0020 movs r0, #0
|
|
|
3873 02c4 85E7 b .L223
|
|
|
3874 .LVL333:
|
|
|
3875 .L243:
|
|
|
2281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
3876 .loc 1 2281 0
|
|
|
3877 02c6 FFF7FEFF bl HAL_RCC_GetSysClockFreq
|
|
|
3878 .LVL334:
|
|
|
3879 02ca 6368 ldr r3, [r4, #4]
|
|
|
3880 02cc 5B08 lsrs r3, r3, #1
|
|
|
3881 02ce C018 adds r0, r0, r3
|
|
|
3882 02d0 6168 ldr r1, [r4, #4]
|
|
|
3883 02d2 FFF7FEFF bl __aeabi_uidiv
|
|
|
3884 .LVL335:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 126
|
|
|
|
|
|
|
|
|
3885 02d6 2368 ldr r3, [r4]
|
|
|
3886 02d8 0004 lsls r0, r0, #16
|
|
|
3887 02da 000C lsrs r0, r0, #16
|
|
|
3888 02dc D860 str r0, [r3, #12]
|
|
|
2113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3889 .loc 1 2113 0
|
|
|
3890 02de 0020 movs r0, #0
|
|
|
2282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
|
|
|
3891 .loc 1 2282 0
|
|
|
3892 02e0 77E7 b .L223
|
|
|
3893 .LVL336:
|
|
|
3894 .L244:
|
|
|
2284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
3895 .loc 1 2284 0
|
|
|
3896 02e2 6168 ldr r1, [r4, #4]
|
|
|
3897 02e4 4808 lsrs r0, r1, #1
|
|
|
3898 .LVL337:
|
|
|
3899 02e6 8023 movs r3, #128
|
|
|
3900 02e8 1B02 lsls r3, r3, #8
|
|
|
3901 02ea 9C46 mov ip, r3
|
|
|
3902 02ec 6044 add r0, r0, ip
|
|
|
3903 02ee FFF7FEFF bl __aeabi_uidiv
|
|
|
3904 .LVL338:
|
|
|
3905 02f2 0004 lsls r0, r0, #16
|
|
|
3906 02f4 000C lsrs r0, r0, #16
|
|
|
3907 02f6 F060 str r0, [r6, #12]
|
|
|
2113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
3908 .loc 1 2113 0
|
|
|
3909 02f8 0020 movs r0, #0
|
|
|
2285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** case UART_CLOCKSOURCE_UNDEFINED:
|
|
|
3910 .loc 1 2285 0
|
|
|
3911 02fa 6AE7 b .L223
|
|
|
3912 .LVL339:
|
|
|
3913 .L252:
|
|
|
2195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
3914 .loc 1 2195 0
|
|
|
3915 02fc 0120 movs r0, #1
|
|
|
3916 .LVL340:
|
|
|
3917 02fe 68E7 b .L223
|
|
|
3918 .LVL341:
|
|
|
3919 .L270:
|
|
|
3920 0300 0020 movs r0, #0
|
|
|
3921 .LVL342:
|
|
|
3922 0302 66E7 b .L223
|
|
|
3923 .L256:
|
|
|
2206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3924 .loc 1 2206 0
|
|
|
3925 0304 0120 movs r0, #1
|
|
|
3926 0306 64E7 b .L223
|
|
|
3927 .L257:
|
|
|
3928 0308 0120 movs r0, #1
|
|
|
3929 030a 62E7 b .L223
|
|
|
3930 .LVL343:
|
|
|
3931 .L258:
|
|
|
2218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3932 .loc 1 2218 0
|
|
|
3933 030c 0120 movs r0, #1
|
|
|
ARM GAS /tmp/cc7An1gz.s page 127
|
|
|
|
|
|
|
|
|
3934 .LVL344:
|
|
|
3935 030e 60E7 b .L223
|
|
|
3936 .L272:
|
|
|
3937 .align 2
|
|
|
3938 .L271:
|
|
|
3939 0310 F369FFEF .word -268473869
|
|
|
3940 0314 FFCFFFFF .word -12289
|
|
|
3941 0318 00480040 .word 1073760256
|
|
|
3942 031c FFF4FFFF .word -2817
|
|
|
3943 0320 00380140 .word 1073821696
|
|
|
3944 0324 00440040 .word 1073759232
|
|
|
3945 0328 004C0040 .word 1073761280
|
|
|
3946 032c 00500040 .word 1073762304
|
|
|
3947 0330 00000000 .word .L240
|
|
|
3948 0334 00100240 .word 1073876992
|
|
|
3949 0338 00FDFFFF .word -768
|
|
|
3950 033c FFFC0F00 .word 1047807
|
|
|
3951 0340 0024F400 .word 16000000
|
|
|
3952 0344 00093D00 .word 4000000
|
|
|
3953 0348 24000000 .word .L233
|
|
|
3954 034c 00127A00 .word 8000000
|
|
|
3955 0350 0048E801 .word 32000000
|
|
|
3956 .LVL345:
|
|
|
3957 .L260:
|
|
|
2288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** break;
|
|
|
3958 .loc 1 2288 0
|
|
|
3959 0354 0120 movs r0, #1
|
|
|
3960 .LVL346:
|
|
|
3961 0356 3CE7 b .L223
|
|
|
3962 .cfi_endproc
|
|
|
3963 .LFE78:
|
|
|
3965 .section .text.UART_AdvFeatureConfig,"ax",%progbits
|
|
|
3966 .align 1
|
|
|
3967 .global UART_AdvFeatureConfig
|
|
|
3968 .syntax unified
|
|
|
3969 .code 16
|
|
|
3970 .thumb_func
|
|
|
3971 .fpu softvfp
|
|
|
3973 UART_AdvFeatureConfig:
|
|
|
3974 .LFB79:
|
|
|
2303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */
|
|
|
3975 .loc 1 2303 0
|
|
|
3976 .cfi_startproc
|
|
|
3977 @ args = 0, pretend = 0, frame = 0
|
|
|
3978 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
3979 @ link register save eliminated.
|
|
|
3980 .LVL347:
|
|
|
2308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
3981 .loc 1 2308 0
|
|
|
3982 0000 436A ldr r3, [r0, #36]
|
|
|
3983 0002 DB07 lsls r3, r3, #31
|
|
|
3984 0004 06D5 bpl .L274
|
|
|
2311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3985 .loc 1 2311 0
|
|
|
3986 0006 0268 ldr r2, [r0]
|
|
|
3987 0008 5368 ldr r3, [r2, #4]
|
|
|
3988 000a 2C49 ldr r1, .L283
|
|
|
ARM GAS /tmp/cc7An1gz.s page 128
|
|
|
|
|
|
|
|
|
3989 000c 0B40 ands r3, r1
|
|
|
3990 000e 816A ldr r1, [r0, #40]
|
|
|
3991 0010 0B43 orrs r3, r1
|
|
|
3992 0012 5360 str r3, [r2, #4]
|
|
|
3993 .L274:
|
|
|
2315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
3994 .loc 1 2315 0
|
|
|
3995 0014 436A ldr r3, [r0, #36]
|
|
|
3996 0016 9B07 lsls r3, r3, #30
|
|
|
3997 0018 06D5 bpl .L275
|
|
|
2318:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
3998 .loc 1 2318 0
|
|
|
3999 001a 0268 ldr r2, [r0]
|
|
|
4000 001c 5368 ldr r3, [r2, #4]
|
|
|
4001 001e 2849 ldr r1, .L283+4
|
|
|
4002 0020 0B40 ands r3, r1
|
|
|
4003 0022 C16A ldr r1, [r0, #44]
|
|
|
4004 0024 0B43 orrs r3, r1
|
|
|
4005 0026 5360 str r3, [r2, #4]
|
|
|
4006 .L275:
|
|
|
2322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4007 .loc 1 2322 0
|
|
|
4008 0028 436A ldr r3, [r0, #36]
|
|
|
4009 002a 5B07 lsls r3, r3, #29
|
|
|
4010 002c 06D5 bpl .L276
|
|
|
2325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4011 .loc 1 2325 0
|
|
|
4012 002e 0268 ldr r2, [r0]
|
|
|
4013 0030 5368 ldr r3, [r2, #4]
|
|
|
4014 0032 2449 ldr r1, .L283+8
|
|
|
4015 0034 0B40 ands r3, r1
|
|
|
4016 0036 016B ldr r1, [r0, #48]
|
|
|
4017 0038 0B43 orrs r3, r1
|
|
|
4018 003a 5360 str r3, [r2, #4]
|
|
|
4019 .L276:
|
|
|
2329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4020 .loc 1 2329 0
|
|
|
4021 003c 436A ldr r3, [r0, #36]
|
|
|
4022 003e 1B07 lsls r3, r3, #28
|
|
|
4023 0040 06D5 bpl .L277
|
|
|
2332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4024 .loc 1 2332 0
|
|
|
4025 0042 0268 ldr r2, [r0]
|
|
|
4026 0044 5368 ldr r3, [r2, #4]
|
|
|
4027 0046 2049 ldr r1, .L283+12
|
|
|
4028 0048 0B40 ands r3, r1
|
|
|
4029 004a 416B ldr r1, [r0, #52]
|
|
|
4030 004c 0B43 orrs r3, r1
|
|
|
4031 004e 5360 str r3, [r2, #4]
|
|
|
4032 .L277:
|
|
|
2336:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4033 .loc 1 2336 0
|
|
|
4034 0050 436A ldr r3, [r0, #36]
|
|
|
4035 0052 DB06 lsls r3, r3, #27
|
|
|
4036 0054 06D5 bpl .L278
|
|
|
2339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4037 .loc 1 2339 0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 129
|
|
|
|
|
|
|
|
|
4038 0056 0268 ldr r2, [r0]
|
|
|
4039 0058 9368 ldr r3, [r2, #8]
|
|
|
4040 005a 1C49 ldr r1, .L283+16
|
|
|
4041 005c 0B40 ands r3, r1
|
|
|
4042 005e 816B ldr r1, [r0, #56]
|
|
|
4043 0060 0B43 orrs r3, r1
|
|
|
4044 0062 9360 str r3, [r2, #8]
|
|
|
4045 .L278:
|
|
|
2343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4046 .loc 1 2343 0
|
|
|
4047 0064 436A ldr r3, [r0, #36]
|
|
|
4048 0066 9B06 lsls r3, r3, #26
|
|
|
4049 0068 06D5 bpl .L279
|
|
|
2346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4050 .loc 1 2346 0
|
|
|
4051 006a 0268 ldr r2, [r0]
|
|
|
4052 006c 9368 ldr r3, [r2, #8]
|
|
|
4053 006e 1849 ldr r1, .L283+20
|
|
|
4054 0070 0B40 ands r3, r1
|
|
|
4055 0072 C16B ldr r1, [r0, #60]
|
|
|
4056 0074 0B43 orrs r3, r1
|
|
|
4057 0076 9360 str r3, [r2, #8]
|
|
|
4058 .L279:
|
|
|
2350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4059 .loc 1 2350 0
|
|
|
4060 0078 436A ldr r3, [r0, #36]
|
|
|
4061 007a 5B06 lsls r3, r3, #25
|
|
|
4062 007c 0BD5 bpl .L280
|
|
|
2354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */
|
|
|
4063 .loc 1 2354 0
|
|
|
4064 007e 0268 ldr r2, [r0]
|
|
|
4065 0080 5368 ldr r3, [r2, #4]
|
|
|
4066 0082 1449 ldr r1, .L283+24
|
|
|
4067 0084 0B40 ands r3, r1
|
|
|
4068 0086 016C ldr r1, [r0, #64]
|
|
|
4069 0088 0B43 orrs r3, r1
|
|
|
4070 008a 5360 str r3, [r2, #4]
|
|
|
2356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4071 .loc 1 2356 0
|
|
|
4072 008c 8023 movs r3, #128
|
|
|
4073 008e 5B03 lsls r3, r3, #13
|
|
|
4074 0090 026C ldr r2, [r0, #64]
|
|
|
4075 0092 9A42 cmp r2, r3
|
|
|
4076 0094 0AD0 beq .L282
|
|
|
4077 .L280:
|
|
|
2364:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4078 .loc 1 2364 0
|
|
|
4079 0096 436A ldr r3, [r0, #36]
|
|
|
4080 0098 1B06 lsls r3, r3, #24
|
|
|
4081 009a 06D5 bpl .L273
|
|
|
2367:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4082 .loc 1 2367 0
|
|
|
4083 009c 0268 ldr r2, [r0]
|
|
|
4084 009e 5368 ldr r3, [r2, #4]
|
|
|
4085 00a0 0D49 ldr r1, .L283+28
|
|
|
4086 00a2 0B40 ands r3, r1
|
|
|
4087 00a4 816C ldr r1, [r0, #72]
|
|
|
ARM GAS /tmp/cc7An1gz.s page 130
|
|
|
|
|
|
|
|
|
4088 00a6 0B43 orrs r3, r1
|
|
|
4089 00a8 5360 str r3, [r2, #4]
|
|
|
4090 .L273:
|
|
|
2369:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4091 .loc 1 2369 0
|
|
|
4092 @ sp needed
|
|
|
4093 00aa 7047 bx lr
|
|
|
4094 .L282:
|
|
|
2359:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4095 .loc 1 2359 0
|
|
|
4096 00ac 0268 ldr r2, [r0]
|
|
|
4097 00ae 5368 ldr r3, [r2, #4]
|
|
|
4098 00b0 0A49 ldr r1, .L283+32
|
|
|
4099 00b2 0B40 ands r3, r1
|
|
|
4100 00b4 416C ldr r1, [r0, #68]
|
|
|
4101 00b6 0B43 orrs r3, r1
|
|
|
4102 00b8 5360 str r3, [r2, #4]
|
|
|
4103 00ba ECE7 b .L280
|
|
|
4104 .L284:
|
|
|
4105 .align 2
|
|
|
4106 .L283:
|
|
|
4107 00bc FFFFFDFF .word -131073
|
|
|
4108 00c0 FFFFFEFF .word -65537
|
|
|
4109 00c4 FFFFFBFF .word -262145
|
|
|
4110 00c8 FF7FFFFF .word -32769
|
|
|
4111 00cc FFEFFFFF .word -4097
|
|
|
4112 00d0 FFDFFFFF .word -8193
|
|
|
4113 00d4 FFFFEFFF .word -1048577
|
|
|
4114 00d8 FFFFF7FF .word -524289
|
|
|
4115 00dc FFFF9FFF .word -6291457
|
|
|
4116 .cfi_endproc
|
|
|
4117 .LFE79:
|
|
|
4119 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits
|
|
|
4120 .align 1
|
|
|
4121 .global UART_WaitOnFlagUntilTimeout
|
|
|
4122 .syntax unified
|
|
|
4123 .code 16
|
|
|
4124 .thumb_func
|
|
|
4125 .fpu softvfp
|
|
|
4127 UART_WaitOnFlagUntilTimeout:
|
|
|
4128 .LFB81:
|
|
|
2427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Wait until flag is set */
|
|
|
4129 .loc 1 2427 0
|
|
|
4130 .cfi_startproc
|
|
|
4131 @ args = 4, pretend = 0, frame = 0
|
|
|
4132 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
4133 .LVL348:
|
|
|
4134 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
4135 .LCFI28:
|
|
|
4136 .cfi_def_cfa_offset 20
|
|
|
4137 .cfi_offset 4, -20
|
|
|
4138 .cfi_offset 5, -16
|
|
|
4139 .cfi_offset 6, -12
|
|
|
4140 .cfi_offset 7, -8
|
|
|
4141 .cfi_offset 14, -4
|
|
|
4142 0002 C646 mov lr, r8
|
|
|
4143 0004 00B5 push {lr}
|
|
|
ARM GAS /tmp/cc7An1gz.s page 131
|
|
|
|
|
|
|
|
|
4144 .LCFI29:
|
|
|
4145 .cfi_def_cfa_offset 24
|
|
|
4146 .cfi_offset 8, -24
|
|
|
4147 0006 0600 movs r6, r0
|
|
|
4148 0008 0C00 movs r4, r1
|
|
|
4149 000a 1700 movs r7, r2
|
|
|
4150 000c 9846 mov r8, r3
|
|
|
4151 000e 069D ldr r5, [sp, #24]
|
|
|
4152 .LVL349:
|
|
|
4153 .L287:
|
|
|
2429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4154 .loc 1 2429 0
|
|
|
4155 0010 3368 ldr r3, [r6]
|
|
|
4156 0012 DB69 ldr r3, [r3, #28]
|
|
|
4157 0014 2340 ands r3, r4
|
|
|
4158 0016 1B1B subs r3, r3, r4
|
|
|
4159 0018 5A42 rsbs r2, r3, #0
|
|
|
4160 001a 5341 adcs r3, r3, r2
|
|
|
4161 001c BB42 cmp r3, r7
|
|
|
4162 001e 1ED1 bne .L291
|
|
|
2432:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4163 .loc 1 2432 0
|
|
|
4164 0020 6B1C adds r3, r5, #1
|
|
|
4165 0022 F5D0 beq .L287
|
|
|
2434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4166 .loc 1 2434 0
|
|
|
4167 0024 002D cmp r5, #0
|
|
|
4168 0026 05D0 beq .L288
|
|
|
2434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4169 .loc 1 2434 0 is_stmt 0 discriminator 1
|
|
|
4170 0028 FFF7FEFF bl HAL_GetTick
|
|
|
4171 .LVL350:
|
|
|
4172 002c 4346 mov r3, r8
|
|
|
4173 002e C01A subs r0, r0, r3
|
|
|
4174 0030 A842 cmp r0, r5
|
|
|
4175 0032 EDD9 bls .L287
|
|
|
4176 .L288:
|
|
|
2437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
|
|
|
4177 .loc 1 2437 0 is_stmt 1
|
|
|
4178 0034 3268 ldr r2, [r6]
|
|
|
4179 0036 1368 ldr r3, [r2]
|
|
|
4180 0038 0B49 ldr r1, .L292
|
|
|
4181 003a 0B40 ands r3, r1
|
|
|
4182 003c 1360 str r3, [r2]
|
|
|
2438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4183 .loc 1 2438 0
|
|
|
4184 003e 3268 ldr r2, [r6]
|
|
|
4185 0040 9368 ldr r3, [r2, #8]
|
|
|
4186 0042 A331 adds r1, r1, #163
|
|
|
4187 0044 FF31 adds r1, r1, #255
|
|
|
4188 0046 8B43 bics r3, r1
|
|
|
4189 0048 9360 str r3, [r2, #8]
|
|
|
2440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
4190 .loc 1 2440 0
|
|
|
4191 004a 2023 movs r3, #32
|
|
|
4192 004c 6922 movs r2, #105
|
|
|
4193 004e B354 strb r3, [r6, r2]
|
|
|
ARM GAS /tmp/cc7An1gz.s page 132
|
|
|
|
|
|
|
|
|
2441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4194 .loc 1 2441 0
|
|
|
4195 0050 0132 adds r2, r2, #1
|
|
|
4196 0052 B354 strb r3, [r6, r2]
|
|
|
2444:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** return HAL_TIMEOUT;
|
|
|
4197 .loc 1 2444 0
|
|
|
4198 0054 4833 adds r3, r3, #72
|
|
|
4199 0056 0022 movs r2, #0
|
|
|
4200 0058 F254 strb r2, [r6, r3]
|
|
|
2445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4201 .loc 1 2445 0
|
|
|
4202 005a 0320 movs r0, #3
|
|
|
4203 005c 00E0 b .L289
|
|
|
4204 .L291:
|
|
|
2449:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4205 .loc 1 2449 0
|
|
|
4206 005e 0020 movs r0, #0
|
|
|
4207 .L289:
|
|
|
2450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4208 .loc 1 2450 0
|
|
|
4209 @ sp needed
|
|
|
4210 .LVL351:
|
|
|
4211 .LVL352:
|
|
|
4212 .LVL353:
|
|
|
4213 0060 04BC pop {r2}
|
|
|
4214 0062 9046 mov r8, r2
|
|
|
4215 0064 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
4216 .L293:
|
|
|
4217 0066 C046 .align 2
|
|
|
4218 .L292:
|
|
|
4219 0068 5FFEFFFF .word -417
|
|
|
4220 .cfi_endproc
|
|
|
4221 .LFE81:
|
|
|
4223 .section .text.HAL_UART_Transmit,"ax",%progbits
|
|
|
4224 .align 1
|
|
|
4225 .global HAL_UART_Transmit
|
|
|
4226 .syntax unified
|
|
|
4227 .code 16
|
|
|
4228 .thumb_func
|
|
|
4229 .fpu softvfp
|
|
|
4231 HAL_UART_Transmit:
|
|
|
4232 .LFB46:
|
|
|
659:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint16_t* tmp;
|
|
|
4233 .loc 1 659 0
|
|
|
4234 .cfi_startproc
|
|
|
4235 @ args = 0, pretend = 0, frame = 8
|
|
|
4236 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
4237 .LVL354:
|
|
|
4238 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
4239 .LCFI30:
|
|
|
4240 .cfi_def_cfa_offset 20
|
|
|
4241 .cfi_offset 4, -20
|
|
|
4242 .cfi_offset 5, -16
|
|
|
4243 .cfi_offset 6, -12
|
|
|
4244 .cfi_offset 7, -8
|
|
|
4245 .cfi_offset 14, -4
|
|
|
4246 0002 85B0 sub sp, sp, #20
|
|
|
ARM GAS /tmp/cc7An1gz.s page 133
|
|
|
|
|
|
|
|
|
4247 .LCFI31:
|
|
|
4248 .cfi_def_cfa_offset 40
|
|
|
4249 0004 0400 movs r4, r0
|
|
|
4250 0006 0E00 movs r6, r1
|
|
|
4251 0008 1700 movs r7, r2
|
|
|
4252 000a 1D00 movs r5, r3
|
|
|
4253 .LVL355:
|
|
|
664:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4254 .loc 1 664 0
|
|
|
4255 000c 6923 movs r3, #105
|
|
|
4256 .LVL356:
|
|
|
4257 000e C35C ldrb r3, [r0, r3]
|
|
|
4258 0010 202B cmp r3, #32
|
|
|
4259 0012 59D1 bne .L301
|
|
|
666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4260 .loc 1 666 0
|
|
|
4261 0014 0029 cmp r1, #0
|
|
|
4262 0016 5AD0 beq .L302
|
|
|
666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4263 .loc 1 666 0 is_stmt 0 discriminator 1
|
|
|
4264 0018 002A cmp r2, #0
|
|
|
4265 001a 5AD0 beq .L303
|
|
|
674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4266 .loc 1 674 0 is_stmt 1
|
|
|
4267 001c 8023 movs r3, #128
|
|
|
4268 001e 5B01 lsls r3, r3, #5
|
|
|
4269 0020 8268 ldr r2, [r0, #8]
|
|
|
4270 .LVL357:
|
|
|
4271 0022 9A42 cmp r2, r3
|
|
|
4272 0024 13D0 beq .L308
|
|
|
4273 .L296:
|
|
|
683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4274 .loc 1 683 0
|
|
|
4275 0026 6823 movs r3, #104
|
|
|
4276 0028 E35C ldrb r3, [r4, r3]
|
|
|
4277 002a 012B cmp r3, #1
|
|
|
4278 002c 53D0 beq .L305
|
|
|
683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4279 .loc 1 683 0 is_stmt 0 discriminator 2
|
|
|
4280 002e 6823 movs r3, #104
|
|
|
4281 0030 0122 movs r2, #1
|
|
|
4282 0032 E254 strb r2, [r4, r3]
|
|
|
685:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
|
|
|
4283 .loc 1 685 0 is_stmt 1 discriminator 2
|
|
|
4284 0034 0023 movs r3, #0
|
|
|
4285 0036 E366 str r3, [r4, #108]
|
|
|
686:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4286 .loc 1 686 0 discriminator 2
|
|
|
4287 0038 6933 adds r3, r3, #105
|
|
|
4288 003a 2032 adds r2, r2, #32
|
|
|
4289 003c E254 strb r2, [r4, r3]
|
|
|
689:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4290 .loc 1 689 0 discriminator 2
|
|
|
4291 003e FFF7FEFF bl HAL_GetTick
|
|
|
4292 .LVL358:
|
|
|
4293 0042 0390 str r0, [sp, #12]
|
|
|
4294 .LVL359:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 134
|
|
|
|
|
|
|
|
|
691:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->TxXferCount = Size;
|
|
|
4295 .loc 1 691 0 discriminator 2
|
|
|
4296 0044 5023 movs r3, #80
|
|
|
4297 0046 E752 strh r7, [r4, r3]
|
|
|
692:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** while(huart->TxXferCount > 0U)
|
|
|
4298 .loc 1 692 0 discriminator 2
|
|
|
4299 0048 0233 adds r3, r3, #2
|
|
|
4300 004a E752 strh r7, [r4, r3]
|
|
|
693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4301 .loc 1 693 0 discriminator 2
|
|
|
4302 004c 0AE0 b .L297
|
|
|
4303 .LVL360:
|
|
|
4304 .L308:
|
|
|
674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4305 .loc 1 674 0 discriminator 1
|
|
|
4306 004e 0369 ldr r3, [r0, #16]
|
|
|
4307 0050 002B cmp r3, #0
|
|
|
4308 0052 E8D1 bne .L296
|
|
|
676:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4309 .loc 1 676 0
|
|
|
4310 0054 CB07 lsls r3, r1, #31
|
|
|
4311 0056 E6D5 bpl .L296
|
|
|
678:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4312 .loc 1 678 0
|
|
|
4313 0058 0120 movs r0, #1
|
|
|
4314 .LVL361:
|
|
|
4315 005a 36E0 b .L295
|
|
|
4316 .LVL362:
|
|
|
4317 .L298:
|
|
|
708:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4318 .loc 1 708 0
|
|
|
4319 005c 3278 ldrb r2, [r6]
|
|
|
4320 005e 2368 ldr r3, [r4]
|
|
|
4321 0060 9A62 str r2, [r3, #40]
|
|
|
4322 0062 0136 adds r6, r6, #1
|
|
|
4323 .LVL363:
|
|
|
4324 .L297:
|
|
|
693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4325 .loc 1 693 0
|
|
|
4326 0064 5223 movs r3, #82
|
|
|
4327 0066 E35A ldrh r3, [r4, r3]
|
|
|
4328 0068 9BB2 uxth r3, r3
|
|
|
4329 006a 002B cmp r3, #0
|
|
|
4330 006c 1CD0 beq .L309
|
|
|
695:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
|
|
|
4331 .loc 1 695 0
|
|
|
4332 006e 5222 movs r2, #82
|
|
|
4333 0070 A35A ldrh r3, [r4, r2]
|
|
|
4334 0072 013B subs r3, r3, #1
|
|
|
4335 0074 9BB2 uxth r3, r3
|
|
|
4336 0076 A352 strh r3, [r4, r2]
|
|
|
696:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4337 .loc 1 696 0
|
|
|
4338 0078 0095 str r5, [sp]
|
|
|
4339 007a 039B ldr r3, [sp, #12]
|
|
|
4340 007c 0022 movs r2, #0
|
|
|
4341 007e 8021 movs r1, #128
|
|
|
ARM GAS /tmp/cc7An1gz.s page 135
|
|
|
|
|
|
|
|
|
4342 0080 2000 movs r0, r4
|
|
|
4343 0082 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
|
|
|
4344 .LVL364:
|
|
|
4345 0086 0028 cmp r0, #0
|
|
|
4346 0088 27D1 bne .L306
|
|
|
700:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4347 .loc 1 700 0
|
|
|
4348 008a 8023 movs r3, #128
|
|
|
4349 008c 5B01 lsls r3, r3, #5
|
|
|
4350 008e A268 ldr r2, [r4, #8]
|
|
|
4351 0090 9A42 cmp r2, r3
|
|
|
4352 0092 E3D1 bne .L298
|
|
|
700:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4353 .loc 1 700 0 is_stmt 0 discriminator 1
|
|
|
4354 0094 2369 ldr r3, [r4, #16]
|
|
|
4355 0096 002B cmp r3, #0
|
|
|
4356 0098 E0D1 bne .L298
|
|
|
4357 .LVL365:
|
|
|
703:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** pData += 2U;
|
|
|
4358 .loc 1 703 0 is_stmt 1
|
|
|
4359 009a 3388 ldrh r3, [r6]
|
|
|
4360 009c 2268 ldr r2, [r4]
|
|
|
4361 009e DB05 lsls r3, r3, #23
|
|
|
4362 00a0 DB0D lsrs r3, r3, #23
|
|
|
4363 00a2 9362 str r3, [r2, #40]
|
|
|
704:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4364 .loc 1 704 0
|
|
|
4365 00a4 0236 adds r6, r6, #2
|
|
|
4366 .LVL366:
|
|
|
4367 00a6 DDE7 b .L297
|
|
|
4368 .LVL367:
|
|
|
4369 .L309:
|
|
|
711:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4370 .loc 1 711 0
|
|
|
4371 00a8 0095 str r5, [sp]
|
|
|
4372 00aa 039B ldr r3, [sp, #12]
|
|
|
4373 00ac 0022 movs r2, #0
|
|
|
4374 00ae 4021 movs r1, #64
|
|
|
4375 00b0 2000 movs r0, r4
|
|
|
4376 00b2 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
|
|
|
4377 .LVL368:
|
|
|
4378 00b6 0028 cmp r0, #0
|
|
|
4379 00b8 11D1 bne .L307
|
|
|
717:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4380 .loc 1 717 0
|
|
|
4381 00ba 6923 movs r3, #105
|
|
|
4382 00bc 2022 movs r2, #32
|
|
|
4383 00be E254 strb r2, [r4, r3]
|
|
|
720:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4384 .loc 1 720 0
|
|
|
4385 00c0 013B subs r3, r3, #1
|
|
|
4386 00c2 0022 movs r2, #0
|
|
|
4387 00c4 E254 strb r2, [r4, r3]
|
|
|
722:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4388 .loc 1 722 0
|
|
|
4389 00c6 00E0 b .L295
|
|
|
4390 .LVL369:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 136
|
|
|
|
|
|
|
|
|
4391 .L301:
|
|
|
726:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4392 .loc 1 726 0
|
|
|
4393 00c8 0220 movs r0, #2
|
|
|
4394 .LVL370:
|
|
|
4395 .L295:
|
|
|
728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4396 .loc 1 728 0
|
|
|
4397 00ca 05B0 add sp, sp, #20
|
|
|
4398 @ sp needed
|
|
|
4399 .LVL371:
|
|
|
4400 .LVL372:
|
|
|
4401 .LVL373:
|
|
|
4402 00cc F0BD pop {r4, r5, r6, r7, pc}
|
|
|
4403 .LVL374:
|
|
|
4404 .L302:
|
|
|
668:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4405 .loc 1 668 0
|
|
|
4406 00ce 0120 movs r0, #1
|
|
|
4407 .LVL375:
|
|
|
4408 00d0 FBE7 b .L295
|
|
|
4409 .LVL376:
|
|
|
4410 .L303:
|
|
|
4411 00d2 0120 movs r0, #1
|
|
|
4412 .LVL377:
|
|
|
4413 00d4 F9E7 b .L295
|
|
|
4414 .LVL378:
|
|
|
4415 .L305:
|
|
|
683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4416 .loc 1 683 0
|
|
|
4417 00d6 0220 movs r0, #2
|
|
|
4418 .LVL379:
|
|
|
4419 00d8 F7E7 b .L295
|
|
|
4420 .LVL380:
|
|
|
4421 .L306:
|
|
|
698:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4422 .loc 1 698 0
|
|
|
4423 00da 0320 movs r0, #3
|
|
|
4424 00dc F5E7 b .L295
|
|
|
4425 .L307:
|
|
|
713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4426 .loc 1 713 0
|
|
|
4427 00de 0320 movs r0, #3
|
|
|
4428 00e0 F3E7 b .L295
|
|
|
4429 .cfi_endproc
|
|
|
4430 .LFE46:
|
|
|
4432 .section .text.HAL_UART_Receive,"ax",%progbits
|
|
|
4433 .align 1
|
|
|
4434 .global HAL_UART_Receive
|
|
|
4435 .syntax unified
|
|
|
4436 .code 16
|
|
|
4437 .thumb_func
|
|
|
4438 .fpu softvfp
|
|
|
4440 HAL_UART_Receive:
|
|
|
4441 .LFB47:
|
|
|
743:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint16_t* tmp;
|
|
|
4442 .loc 1 743 0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 137
|
|
|
|
|
|
|
|
|
4443 .cfi_startproc
|
|
|
4444 @ args = 0, pretend = 0, frame = 8
|
|
|
4445 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
4446 .LVL381:
|
|
|
4447 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
4448 .LCFI32:
|
|
|
4449 .cfi_def_cfa_offset 20
|
|
|
4450 .cfi_offset 4, -20
|
|
|
4451 .cfi_offset 5, -16
|
|
|
4452 .cfi_offset 6, -12
|
|
|
4453 .cfi_offset 7, -8
|
|
|
4454 .cfi_offset 14, -4
|
|
|
4455 0002 85B0 sub sp, sp, #20
|
|
|
4456 .LCFI33:
|
|
|
4457 .cfi_def_cfa_offset 40
|
|
|
4458 0004 0400 movs r4, r0
|
|
|
4459 0006 0F00 movs r7, r1
|
|
|
4460 0008 1600 movs r6, r2
|
|
|
4461 000a 1D00 movs r5, r3
|
|
|
4462 .LVL382:
|
|
|
749:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4463 .loc 1 749 0
|
|
|
4464 000c 6A23 movs r3, #106
|
|
|
4465 .LVL383:
|
|
|
4466 000e C35C ldrb r3, [r0, r3]
|
|
|
4467 0010 202B cmp r3, #32
|
|
|
4468 0012 00D0 beq .LCB4183
|
|
|
4469 0014 83E0 b .L323 @long jump
|
|
|
4470 .LCB4183:
|
|
|
751:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4471 .loc 1 751 0
|
|
|
4472 0016 0029 cmp r1, #0
|
|
|
4473 0018 00D1 bne .LCB4185
|
|
|
4474 001a 83E0 b .L324 @long jump
|
|
|
4475 .LCB4185:
|
|
|
751:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4476 .loc 1 751 0 is_stmt 0 discriminator 1
|
|
|
4477 001c 002A cmp r2, #0
|
|
|
4478 001e 00D1 bne .LCB4187
|
|
|
4479 0020 82E0 b .L325 @long jump
|
|
|
4480 .LCB4187:
|
|
|
759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4481 .loc 1 759 0 is_stmt 1
|
|
|
4482 0022 8023 movs r3, #128
|
|
|
4483 0024 5B01 lsls r3, r3, #5
|
|
|
4484 0026 8268 ldr r2, [r0, #8]
|
|
|
4485 .LVL384:
|
|
|
4486 0028 9A42 cmp r2, r3
|
|
|
4487 002a 21D0 beq .L329
|
|
|
4488 .L312:
|
|
|
768:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4489 .loc 1 768 0
|
|
|
4490 002c 6823 movs r3, #104
|
|
|
4491 002e E35C ldrb r3, [r4, r3]
|
|
|
4492 0030 012B cmp r3, #1
|
|
|
4493 0032 00D1 bne .LCB4199
|
|
|
4494 0034 7AE0 b .L327 @long jump
|
|
|
ARM GAS /tmp/cc7An1gz.s page 138
|
|
|
|
|
|
|
|
|
4495 .LCB4199:
|
|
|
768:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4496 .loc 1 768 0 is_stmt 0 discriminator 2
|
|
|
4497 0036 6823 movs r3, #104
|
|
|
4498 0038 0122 movs r2, #1
|
|
|
4499 003a E254 strb r2, [r4, r3]
|
|
|
770:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
|
|
|
4500 .loc 1 770 0 is_stmt 1 discriminator 2
|
|
|
4501 003c 0023 movs r3, #0
|
|
|
4502 003e E366 str r3, [r4, #108]
|
|
|
771:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4503 .loc 1 771 0 discriminator 2
|
|
|
4504 0040 6A33 adds r3, r3, #106
|
|
|
4505 0042 2132 adds r2, r2, #33
|
|
|
4506 0044 E254 strb r2, [r4, r3]
|
|
|
774:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4507 .loc 1 774 0 discriminator 2
|
|
|
4508 0046 FFF7FEFF bl HAL_GetTick
|
|
|
4509 .LVL385:
|
|
|
4510 004a 0390 str r0, [sp, #12]
|
|
|
4511 .LVL386:
|
|
|
776:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxXferCount = Size;
|
|
|
4512 .loc 1 776 0 discriminator 2
|
|
|
4513 004c 5823 movs r3, #88
|
|
|
4514 004e E652 strh r6, [r4, r3]
|
|
|
777:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4515 .loc 1 777 0 discriminator 2
|
|
|
4516 0050 0233 adds r3, r3, #2
|
|
|
4517 0052 E652 strh r6, [r4, r3]
|
|
|
780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uhMask = huart->Mask;
|
|
|
4518 .loc 1 780 0 discriminator 2
|
|
|
4519 0054 A368 ldr r3, [r4, #8]
|
|
|
4520 0056 8022 movs r2, #128
|
|
|
4521 0058 5201 lsls r2, r2, #5
|
|
|
4522 005a 9342 cmp r3, r2
|
|
|
4523 005c 0FD0 beq .L330
|
|
|
4524 005e 002B cmp r3, #0
|
|
|
4525 0060 1CD1 bne .L316
|
|
|
780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uhMask = huart->Mask;
|
|
|
4526 .loc 1 780 0 is_stmt 0 discriminator 5
|
|
|
4527 0062 2369 ldr r3, [r4, #16]
|
|
|
4528 0064 002B cmp r3, #0
|
|
|
4529 0066 15D1 bne .L317
|
|
|
780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uhMask = huart->Mask;
|
|
|
4530 .loc 1 780 0 discriminator 7
|
|
|
4531 0068 5C33 adds r3, r3, #92
|
|
|
4532 006a FF22 movs r2, #255
|
|
|
4533 006c E252 strh r2, [r4, r3]
|
|
|
4534 006e 19E0 b .L315
|
|
|
4535 .LVL387:
|
|
|
4536 .L329:
|
|
|
759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4537 .loc 1 759 0 is_stmt 1 discriminator 1
|
|
|
4538 0070 0369 ldr r3, [r0, #16]
|
|
|
4539 0072 002B cmp r3, #0
|
|
|
4540 0074 DAD1 bne .L312
|
|
|
761:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
ARM GAS /tmp/cc7An1gz.s page 139
|
|
|
|
|
|
|
|
|
4541 .loc 1 761 0
|
|
|
4542 0076 CB07 lsls r3, r1, #31
|
|
|
4543 0078 D8D5 bpl .L312
|
|
|
763:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4544 .loc 1 763 0
|
|
|
4545 007a 0120 movs r0, #1
|
|
|
4546 .LVL388:
|
|
|
4547 007c 50E0 b .L311
|
|
|
4548 .LVL389:
|
|
|
4549 .L330:
|
|
|
780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uhMask = huart->Mask;
|
|
|
4550 .loc 1 780 0 discriminator 1
|
|
|
4551 007e 2369 ldr r3, [r4, #16]
|
|
|
4552 0080 002B cmp r3, #0
|
|
|
4553 0082 03D1 bne .L314
|
|
|
780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uhMask = huart->Mask;
|
|
|
4554 .loc 1 780 0 is_stmt 0 discriminator 3
|
|
|
4555 0084 5C33 adds r3, r3, #92
|
|
|
4556 0086 2B4A ldr r2, .L333
|
|
|
4557 0088 E252 strh r2, [r4, r3]
|
|
|
4558 008a 0BE0 b .L315
|
|
|
4559 .L314:
|
|
|
780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uhMask = huart->Mask;
|
|
|
4560 .loc 1 780 0 discriminator 4
|
|
|
4561 008c 5C23 movs r3, #92
|
|
|
4562 008e FF22 movs r2, #255
|
|
|
4563 0090 E252 strh r2, [r4, r3]
|
|
|
4564 0092 07E0 b .L315
|
|
|
4565 .L317:
|
|
|
780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uhMask = huart->Mask;
|
|
|
4566 .loc 1 780 0 discriminator 8
|
|
|
4567 0094 5C23 movs r3, #92
|
|
|
4568 0096 7F22 movs r2, #127
|
|
|
4569 0098 E252 strh r2, [r4, r3]
|
|
|
4570 009a 03E0 b .L315
|
|
|
4571 .L316:
|
|
|
780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uhMask = huart->Mask;
|
|
|
4572 .loc 1 780 0 discriminator 6
|
|
|
4573 009c 8022 movs r2, #128
|
|
|
4574 009e 5205 lsls r2, r2, #21
|
|
|
4575 00a0 9342 cmp r3, r2
|
|
|
4576 00a2 02D0 beq .L331
|
|
|
4577 .L315:
|
|
|
781:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4578 .loc 1 781 0 is_stmt 1
|
|
|
4579 00a4 5C23 movs r3, #92
|
|
|
4580 00a6 E65A ldrh r6, [r4, r3]
|
|
|
4581 .LVL390:
|
|
|
784:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4582 .loc 1 784 0
|
|
|
4583 00a8 10E0 b .L319
|
|
|
4584 .LVL391:
|
|
|
4585 .L331:
|
|
|
780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uhMask = huart->Mask;
|
|
|
4586 .loc 1 780 0 discriminator 9
|
|
|
4587 00aa 2369 ldr r3, [r4, #16]
|
|
|
4588 00ac 002B cmp r3, #0
|
|
|
ARM GAS /tmp/cc7An1gz.s page 140
|
|
|
|
|
|
|
|
|
4589 00ae 03D1 bne .L318
|
|
|
780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uhMask = huart->Mask;
|
|
|
4590 .loc 1 780 0 is_stmt 0 discriminator 10
|
|
|
4591 00b0 5C33 adds r3, r3, #92
|
|
|
4592 00b2 7F22 movs r2, #127
|
|
|
4593 00b4 E252 strh r2, [r4, r3]
|
|
|
4594 00b6 F5E7 b .L315
|
|
|
4595 .L318:
|
|
|
780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uhMask = huart->Mask;
|
|
|
4596 .loc 1 780 0 discriminator 11
|
|
|
4597 00b8 5C23 movs r3, #92
|
|
|
4598 00ba 3F22 movs r2, #63
|
|
|
4599 00bc E252 strh r2, [r4, r3]
|
|
|
4600 00be F1E7 b .L315
|
|
|
4601 .LVL392:
|
|
|
4602 .L320:
|
|
|
799:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4603 .loc 1 799 0 is_stmt 1
|
|
|
4604 00c0 2368 ldr r3, [r4]
|
|
|
4605 00c2 5B6A ldr r3, [r3, #36]
|
|
|
4606 00c4 F2B2 uxtb r2, r6
|
|
|
4607 .LVL393:
|
|
|
4608 00c6 1340 ands r3, r2
|
|
|
4609 00c8 3B70 strb r3, [r7]
|
|
|
4610 00ca 0137 adds r7, r7, #1
|
|
|
4611 .LVL394:
|
|
|
4612 .L319:
|
|
|
784:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4613 .loc 1 784 0
|
|
|
4614 00cc 5A23 movs r3, #90
|
|
|
4615 00ce E35A ldrh r3, [r4, r3]
|
|
|
4616 00d0 9BB2 uxth r3, r3
|
|
|
4617 00d2 002B cmp r3, #0
|
|
|
4618 00d4 1BD0 beq .L332
|
|
|
786:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** if(UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK)
|
|
|
4619 .loc 1 786 0
|
|
|
4620 00d6 5A22 movs r2, #90
|
|
|
4621 00d8 A35A ldrh r3, [r4, r2]
|
|
|
4622 00da 013B subs r3, r3, #1
|
|
|
4623 00dc 9BB2 uxth r3, r3
|
|
|
4624 00de A352 strh r3, [r4, r2]
|
|
|
787:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4625 .loc 1 787 0
|
|
|
4626 00e0 0095 str r5, [sp]
|
|
|
4627 00e2 039B ldr r3, [sp, #12]
|
|
|
4628 00e4 0022 movs r2, #0
|
|
|
4629 00e6 2021 movs r1, #32
|
|
|
4630 00e8 2000 movs r0, r4
|
|
|
4631 00ea FFF7FEFF bl UART_WaitOnFlagUntilTimeout
|
|
|
4632 .LVL395:
|
|
|
4633 00ee 0028 cmp r0, #0
|
|
|
4634 00f0 1ED1 bne .L328
|
|
|
791:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4635 .loc 1 791 0
|
|
|
4636 00f2 8023 movs r3, #128
|
|
|
4637 00f4 5B01 lsls r3, r3, #5
|
|
|
4638 00f6 A268 ldr r2, [r4, #8]
|
|
|
ARM GAS /tmp/cc7An1gz.s page 141
|
|
|
|
|
|
|
|
|
4639 00f8 9A42 cmp r2, r3
|
|
|
4640 00fa E1D1 bne .L320
|
|
|
791:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4641 .loc 1 791 0 is_stmt 0 discriminator 1
|
|
|
4642 00fc 2369 ldr r3, [r4, #16]
|
|
|
4643 00fe 002B cmp r3, #0
|
|
|
4644 0100 DED1 bne .L320
|
|
|
4645 .LVL396:
|
|
|
794:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** pData +=2U;
|
|
|
4646 .loc 1 794 0 is_stmt 1
|
|
|
4647 0102 2368 ldr r3, [r4]
|
|
|
4648 0104 5B6A ldr r3, [r3, #36]
|
|
|
4649 0106 3340 ands r3, r6
|
|
|
4650 0108 3B80 strh r3, [r7]
|
|
|
795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4651 .loc 1 795 0
|
|
|
4652 010a 0237 adds r7, r7, #2
|
|
|
4653 .LVL397:
|
|
|
4654 010c DEE7 b .L319
|
|
|
4655 .LVL398:
|
|
|
4656 .L332:
|
|
|
804:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4657 .loc 1 804 0
|
|
|
4658 010e 6A33 adds r3, r3, #106
|
|
|
4659 0110 2022 movs r2, #32
|
|
|
4660 0112 E254 strb r2, [r4, r3]
|
|
|
807:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4661 .loc 1 807 0
|
|
|
4662 0114 023B subs r3, r3, #2
|
|
|
4663 0116 0022 movs r2, #0
|
|
|
4664 0118 E254 strb r2, [r4, r3]
|
|
|
809:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4665 .loc 1 809 0
|
|
|
4666 011a 0020 movs r0, #0
|
|
|
4667 011c 00E0 b .L311
|
|
|
4668 .LVL399:
|
|
|
4669 .L323:
|
|
|
813:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4670 .loc 1 813 0
|
|
|
4671 011e 0220 movs r0, #2
|
|
|
4672 .LVL400:
|
|
|
4673 .L311:
|
|
|
815:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4674 .loc 1 815 0
|
|
|
4675 0120 05B0 add sp, sp, #20
|
|
|
4676 @ sp needed
|
|
|
4677 .LVL401:
|
|
|
4678 .LVL402:
|
|
|
4679 .LVL403:
|
|
|
4680 0122 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
4681 .LVL404:
|
|
|
4682 .L324:
|
|
|
753:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4683 .loc 1 753 0
|
|
|
4684 0124 0120 movs r0, #1
|
|
|
4685 .LVL405:
|
|
|
4686 0126 FBE7 b .L311
|
|
|
ARM GAS /tmp/cc7An1gz.s page 142
|
|
|
|
|
|
|
|
|
4687 .LVL406:
|
|
|
4688 .L325:
|
|
|
4689 0128 0120 movs r0, #1
|
|
|
4690 .LVL407:
|
|
|
4691 012a F9E7 b .L311
|
|
|
4692 .LVL408:
|
|
|
4693 .L327:
|
|
|
768:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4694 .loc 1 768 0
|
|
|
4695 012c 0220 movs r0, #2
|
|
|
4696 .LVL409:
|
|
|
4697 012e F7E7 b .L311
|
|
|
4698 .LVL410:
|
|
|
4699 .L328:
|
|
|
789:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4700 .loc 1 789 0
|
|
|
4701 0130 0320 movs r0, #3
|
|
|
4702 0132 F5E7 b .L311
|
|
|
4703 .L334:
|
|
|
4704 .align 2
|
|
|
4705 .L333:
|
|
|
4706 0134 FF010000 .word 511
|
|
|
4707 .cfi_endproc
|
|
|
4708 .LFE47:
|
|
|
4710 .section .text.UART_CheckIdleState,"ax",%progbits
|
|
|
4711 .align 1
|
|
|
4712 .global UART_CheckIdleState
|
|
|
4713 .syntax unified
|
|
|
4714 .code 16
|
|
|
4715 .thumb_func
|
|
|
4716 .fpu softvfp
|
|
|
4718 UART_CheckIdleState:
|
|
|
4719 .LFB80:
|
|
|
2377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** uint32_t tickstart = 0;
|
|
|
4720 .loc 1 2377 0
|
|
|
4721 .cfi_startproc
|
|
|
4722 @ args = 0, pretend = 0, frame = 0
|
|
|
4723 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
4724 .LVL411:
|
|
|
4725 0000 30B5 push {r4, r5, lr}
|
|
|
4726 .LCFI34:
|
|
|
4727 .cfi_def_cfa_offset 12
|
|
|
4728 .cfi_offset 4, -12
|
|
|
4729 .cfi_offset 5, -8
|
|
|
4730 .cfi_offset 14, -4
|
|
|
4731 0002 83B0 sub sp, sp, #12
|
|
|
4732 .LCFI35:
|
|
|
4733 .cfi_def_cfa_offset 24
|
|
|
4734 0004 0400 movs r4, r0
|
|
|
4735 .LVL412:
|
|
|
2381:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4736 .loc 1 2381 0
|
|
|
4737 0006 0023 movs r3, #0
|
|
|
4738 0008 C366 str r3, [r0, #108]
|
|
|
2384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4739 .loc 1 2384 0
|
|
|
4740 000a FFF7FEFF bl HAL_GetTick
|
|
|
ARM GAS /tmp/cc7An1gz.s page 143
|
|
|
|
|
|
|
|
|
4741 .LVL413:
|
|
|
4742 000e 0500 movs r5, r0
|
|
|
4743 .LVL414:
|
|
|
2387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4744 .loc 1 2387 0
|
|
|
4745 0010 2368 ldr r3, [r4]
|
|
|
4746 0012 1B68 ldr r3, [r3]
|
|
|
4747 0014 1B07 lsls r3, r3, #28
|
|
|
4748 0016 0ED4 bmi .L341
|
|
|
4749 .LVL415:
|
|
|
4750 .L336:
|
|
|
2397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4751 .loc 1 2397 0
|
|
|
4752 0018 2368 ldr r3, [r4]
|
|
|
4753 001a 1B68 ldr r3, [r3]
|
|
|
4754 001c 5B07 lsls r3, r3, #29
|
|
|
4755 001e 17D4 bmi .L342
|
|
|
4756 .L338:
|
|
|
2408:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
|
|
|
4757 .loc 1 2408 0
|
|
|
4758 0020 2023 movs r3, #32
|
|
|
4759 0022 6922 movs r2, #105
|
|
|
4760 0024 A354 strb r3, [r4, r2]
|
|
|
2409:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4761 .loc 1 2409 0
|
|
|
4762 0026 0132 adds r2, r2, #1
|
|
|
4763 0028 A354 strb r3, [r4, r2]
|
|
|
2412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4764 .loc 1 2412 0
|
|
|
4765 002a 4833 adds r3, r3, #72
|
|
|
4766 002c 0022 movs r2, #0
|
|
|
4767 002e E254 strb r2, [r4, r3]
|
|
|
2414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4768 .loc 1 2414 0
|
|
|
4769 0030 0020 movs r0, #0
|
|
|
4770 .L337:
|
|
|
2415:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4771 .loc 1 2415 0
|
|
|
4772 0032 03B0 add sp, sp, #12
|
|
|
4773 @ sp needed
|
|
|
4774 .LVL416:
|
|
|
4775 .LVL417:
|
|
|
4776 0034 30BD pop {r4, r5, pc}
|
|
|
4777 .LVL418:
|
|
|
4778 .L341:
|
|
|
2390:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4779 .loc 1 2390 0
|
|
|
4780 0036 8021 movs r1, #128
|
|
|
4781 0038 0C4B ldr r3, .L343
|
|
|
4782 003a 0093 str r3, [sp]
|
|
|
4783 003c 0300 movs r3, r0
|
|
|
4784 003e 0022 movs r2, #0
|
|
|
4785 0040 8903 lsls r1, r1, #14
|
|
|
4786 0042 2000 movs r0, r4
|
|
|
4787 .LVL419:
|
|
|
4788 0044 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
|
|
|
4789 .LVL420:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 144
|
|
|
|
|
|
|
|
|
4790 0048 0028 cmp r0, #0
|
|
|
4791 004a E5D0 beq .L336
|
|
|
2393:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4792 .loc 1 2393 0
|
|
|
4793 004c 0320 movs r0, #3
|
|
|
4794 004e F0E7 b .L337
|
|
|
4795 .L342:
|
|
|
2400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4796 .loc 1 2400 0
|
|
|
4797 0050 8021 movs r1, #128
|
|
|
4798 0052 064B ldr r3, .L343
|
|
|
4799 0054 0093 str r3, [sp]
|
|
|
4800 0056 2B00 movs r3, r5
|
|
|
4801 0058 0022 movs r2, #0
|
|
|
4802 005a C903 lsls r1, r1, #15
|
|
|
4803 005c 2000 movs r0, r4
|
|
|
4804 005e FFF7FEFF bl UART_WaitOnFlagUntilTimeout
|
|
|
4805 .LVL421:
|
|
|
4806 0062 0028 cmp r0, #0
|
|
|
4807 0064 DCD0 beq .L338
|
|
|
2403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4808 .loc 1 2403 0
|
|
|
4809 0066 0320 movs r0, #3
|
|
|
4810 0068 E3E7 b .L337
|
|
|
4811 .L344:
|
|
|
4812 006a C046 .align 2
|
|
|
4813 .L343:
|
|
|
4814 006c FFFFFF01 .word 33554431
|
|
|
4815 .cfi_endproc
|
|
|
4816 .LFE80:
|
|
|
4818 .section .text.HAL_UART_Init,"ax",%progbits
|
|
|
4819 .align 1
|
|
|
4820 .global HAL_UART_Init
|
|
|
4821 .syntax unified
|
|
|
4822 .code 16
|
|
|
4823 .thumb_func
|
|
|
4824 .fpu softvfp
|
|
|
4826 HAL_UART_Init:
|
|
|
4827 .LFB39:
|
|
|
226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the UART handle allocation */
|
|
|
4828 .loc 1 226 0
|
|
|
4829 .cfi_startproc
|
|
|
4830 @ args = 0, pretend = 0, frame = 0
|
|
|
4831 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
4832 .LVL422:
|
|
|
4833 0000 10B5 push {r4, lr}
|
|
|
4834 .LCFI36:
|
|
|
4835 .cfi_def_cfa_offset 8
|
|
|
4836 .cfi_offset 4, -8
|
|
|
4837 .cfi_offset 14, -4
|
|
|
4838 0002 041E subs r4, r0, #0
|
|
|
228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4839 .loc 1 228 0
|
|
|
4840 0004 30D0 beq .L349
|
|
|
244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4841 .loc 1 244 0
|
|
|
4842 0006 6923 movs r3, #105
|
|
|
ARM GAS /tmp/cc7An1gz.s page 145
|
|
|
|
|
|
|
|
|
4843 0008 C35C ldrb r3, [r0, r3]
|
|
|
4844 000a 002B cmp r3, #0
|
|
|
4845 000c 22D0 beq .L350
|
|
|
4846 .LVL423:
|
|
|
4847 .L347:
|
|
|
253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4848 .loc 1 253 0
|
|
|
4849 000e 6923 movs r3, #105
|
|
|
4850 0010 2422 movs r2, #36
|
|
|
4851 0012 E254 strb r2, [r4, r3]
|
|
|
256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4852 .loc 1 256 0
|
|
|
4853 0014 2268 ldr r2, [r4]
|
|
|
4854 0016 1368 ldr r3, [r2]
|
|
|
4855 0018 0121 movs r1, #1
|
|
|
4856 001a 8B43 bics r3, r1
|
|
|
4857 001c 1360 str r3, [r2]
|
|
|
259:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4858 .loc 1 259 0
|
|
|
4859 001e 636A ldr r3, [r4, #36]
|
|
|
4860 0020 002B cmp r3, #0
|
|
|
4861 0022 1DD1 bne .L351
|
|
|
4862 .L348:
|
|
|
264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4863 .loc 1 264 0
|
|
|
4864 0024 2000 movs r0, r4
|
|
|
4865 0026 FFF7FEFF bl UART_SetConfig
|
|
|
4866 .LVL424:
|
|
|
4867 002a 0128 cmp r0, #1
|
|
|
4868 002c 11D0 beq .L346
|
|
|
272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
|
|
|
4869 .loc 1 272 0
|
|
|
4870 002e 2268 ldr r2, [r4]
|
|
|
4871 0030 5368 ldr r3, [r2, #4]
|
|
|
4872 0032 0E49 ldr r1, .L352
|
|
|
4873 0034 0B40 ands r3, r1
|
|
|
4874 0036 5360 str r3, [r2, #4]
|
|
|
273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4875 .loc 1 273 0
|
|
|
4876 0038 2268 ldr r2, [r4]
|
|
|
4877 003a 9368 ldr r3, [r2, #8]
|
|
|
4878 003c 2A21 movs r1, #42
|
|
|
4879 003e 8B43 bics r3, r1
|
|
|
4880 0040 9360 str r3, [r2, #8]
|
|
|
276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4881 .loc 1 276 0
|
|
|
4882 0042 2268 ldr r2, [r4]
|
|
|
4883 0044 1368 ldr r3, [r2]
|
|
|
4884 0046 2939 subs r1, r1, #41
|
|
|
4885 0048 0B43 orrs r3, r1
|
|
|
4886 004a 1360 str r3, [r2]
|
|
|
279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4887 .loc 1 279 0
|
|
|
4888 004c 2000 movs r0, r4
|
|
|
4889 004e FFF7FEFF bl UART_CheckIdleState
|
|
|
4890 .LVL425:
|
|
|
4891 .L346:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 146
|
|
|
|
|
|
|
|
|
280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4892 .loc 1 280 0
|
|
|
4893 @ sp needed
|
|
|
4894 .LVL426:
|
|
|
4895 0052 10BD pop {r4, pc}
|
|
|
4896 .LVL427:
|
|
|
4897 .L350:
|
|
|
247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4898 .loc 1 247 0
|
|
|
4899 0054 6833 adds r3, r3, #104
|
|
|
4900 0056 0022 movs r2, #0
|
|
|
4901 0058 C254 strb r2, [r0, r3]
|
|
|
250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4902 .loc 1 250 0
|
|
|
4903 005a FFF7FEFF bl HAL_UART_MspInit
|
|
|
4904 .LVL428:
|
|
|
4905 005e D6E7 b .L347
|
|
|
4906 .L351:
|
|
|
261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4907 .loc 1 261 0
|
|
|
4908 0060 2000 movs r0, r4
|
|
|
4909 0062 FFF7FEFF bl UART_AdvFeatureConfig
|
|
|
4910 .LVL429:
|
|
|
4911 0066 DDE7 b .L348
|
|
|
4912 .LVL430:
|
|
|
4913 .L349:
|
|
|
230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
4914 .loc 1 230 0
|
|
|
4915 0068 0120 movs r0, #1
|
|
|
4916 .LVL431:
|
|
|
4917 006a F2E7 b .L346
|
|
|
4918 .L353:
|
|
|
4919 .align 2
|
|
|
4920 .L352:
|
|
|
4921 006c FFB7FFFF .word -18433
|
|
|
4922 .cfi_endproc
|
|
|
4923 .LFE39:
|
|
|
4925 .section .text.HAL_HalfDuplex_Init,"ax",%progbits
|
|
|
4926 .align 1
|
|
|
4927 .global HAL_HalfDuplex_Init
|
|
|
4928 .syntax unified
|
|
|
4929 .code 16
|
|
|
4930 .thumb_func
|
|
|
4931 .fpu softvfp
|
|
|
4933 HAL_HalfDuplex_Init:
|
|
|
4934 .LFB40:
|
|
|
289:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the UART handle allocation */
|
|
|
4935 .loc 1 289 0
|
|
|
4936 .cfi_startproc
|
|
|
4937 @ args = 0, pretend = 0, frame = 0
|
|
|
4938 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
4939 .LVL432:
|
|
|
4940 0000 10B5 push {r4, lr}
|
|
|
4941 .LCFI37:
|
|
|
4942 .cfi_def_cfa_offset 8
|
|
|
4943 .cfi_offset 4, -8
|
|
|
4944 .cfi_offset 14, -4
|
|
|
ARM GAS /tmp/cc7An1gz.s page 147
|
|
|
|
|
|
|
|
|
4945 0002 041E subs r4, r0, #0
|
|
|
291:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4946 .loc 1 291 0
|
|
|
4947 0004 35D0 beq .L358
|
|
|
299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4948 .loc 1 299 0
|
|
|
4949 0006 6923 movs r3, #105
|
|
|
4950 0008 C35C ldrb r3, [r0, r3]
|
|
|
4951 000a 002B cmp r3, #0
|
|
|
4952 000c 27D0 beq .L359
|
|
|
4953 .LVL433:
|
|
|
4954 .L356:
|
|
|
308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4955 .loc 1 308 0
|
|
|
4956 000e 6923 movs r3, #105
|
|
|
4957 0010 2422 movs r2, #36
|
|
|
4958 0012 E254 strb r2, [r4, r3]
|
|
|
311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4959 .loc 1 311 0
|
|
|
4960 0014 2268 ldr r2, [r4]
|
|
|
4961 0016 1368 ldr r3, [r2]
|
|
|
4962 0018 0121 movs r1, #1
|
|
|
4963 001a 8B43 bics r3, r1
|
|
|
4964 001c 1360 str r3, [r2]
|
|
|
314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4965 .loc 1 314 0
|
|
|
4966 001e 636A ldr r3, [r4, #36]
|
|
|
4967 0020 002B cmp r3, #0
|
|
|
4968 0022 22D1 bne .L360
|
|
|
4969 .L357:
|
|
|
319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
4970 .loc 1 319 0
|
|
|
4971 0024 2000 movs r0, r4
|
|
|
4972 0026 FFF7FEFF bl UART_SetConfig
|
|
|
4973 .LVL434:
|
|
|
4974 002a 0128 cmp r0, #1
|
|
|
4975 002c 16D0 beq .L355
|
|
|
327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
|
|
|
4976 .loc 1 327 0
|
|
|
4977 002e 2268 ldr r2, [r4]
|
|
|
4978 0030 5368 ldr r3, [r2, #4]
|
|
|
4979 0032 1149 ldr r1, .L361
|
|
|
4980 0034 0B40 ands r3, r1
|
|
|
4981 0036 5360 str r3, [r2, #4]
|
|
|
328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4982 .loc 1 328 0
|
|
|
4983 0038 2268 ldr r2, [r4]
|
|
|
4984 003a 9368 ldr r3, [r2, #8]
|
|
|
4985 003c 2221 movs r1, #34
|
|
|
4986 003e 8B43 bics r3, r1
|
|
|
4987 0040 9360 str r3, [r2, #8]
|
|
|
331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4988 .loc 1 331 0
|
|
|
4989 0042 2268 ldr r2, [r4]
|
|
|
4990 0044 9368 ldr r3, [r2, #8]
|
|
|
4991 0046 1A39 subs r1, r1, #26
|
|
|
4992 0048 0B43 orrs r3, r1
|
|
|
ARM GAS /tmp/cc7An1gz.s page 148
|
|
|
|
|
|
|
|
|
4993 004a 9360 str r3, [r2, #8]
|
|
|
334:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
4994 .loc 1 334 0
|
|
|
4995 004c 2268 ldr r2, [r4]
|
|
|
4996 004e 1368 ldr r3, [r2]
|
|
|
4997 0050 0739 subs r1, r1, #7
|
|
|
4998 0052 0B43 orrs r3, r1
|
|
|
4999 0054 1360 str r3, [r2]
|
|
|
337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5000 .loc 1 337 0
|
|
|
5001 0056 2000 movs r0, r4
|
|
|
5002 0058 FFF7FEFF bl UART_CheckIdleState
|
|
|
5003 .LVL435:
|
|
|
5004 .L355:
|
|
|
338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5005 .loc 1 338 0
|
|
|
5006 @ sp needed
|
|
|
5007 .LVL436:
|
|
|
5008 005c 10BD pop {r4, pc}
|
|
|
5009 .LVL437:
|
|
|
5010 .L359:
|
|
|
302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5011 .loc 1 302 0
|
|
|
5012 005e 6833 adds r3, r3, #104
|
|
|
5013 0060 0022 movs r2, #0
|
|
|
5014 0062 C254 strb r2, [r0, r3]
|
|
|
305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5015 .loc 1 305 0
|
|
|
5016 0064 FFF7FEFF bl HAL_UART_MspInit
|
|
|
5017 .LVL438:
|
|
|
5018 0068 D1E7 b .L356
|
|
|
5019 .L360:
|
|
|
316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5020 .loc 1 316 0
|
|
|
5021 006a 2000 movs r0, r4
|
|
|
5022 006c FFF7FEFF bl UART_AdvFeatureConfig
|
|
|
5023 .LVL439:
|
|
|
5024 0070 D8E7 b .L357
|
|
|
5025 .LVL440:
|
|
|
5026 .L358:
|
|
|
293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5027 .loc 1 293 0
|
|
|
5028 0072 0120 movs r0, #1
|
|
|
5029 .LVL441:
|
|
|
5030 0074 F2E7 b .L355
|
|
|
5031 .L362:
|
|
|
5032 0076 C046 .align 2
|
|
|
5033 .L361:
|
|
|
5034 0078 FFB7FFFF .word -18433
|
|
|
5035 .cfi_endproc
|
|
|
5036 .LFE40:
|
|
|
5038 .section .text.HAL_LIN_Init,"ax",%progbits
|
|
|
5039 .align 1
|
|
|
5040 .global HAL_LIN_Init
|
|
|
5041 .syntax unified
|
|
|
5042 .code 16
|
|
|
5043 .thumb_func
|
|
|
ARM GAS /tmp/cc7An1gz.s page 149
|
|
|
|
|
|
|
|
|
5044 .fpu softvfp
|
|
|
5046 HAL_LIN_Init:
|
|
|
5047 .LFB41:
|
|
|
352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the UART handle allocation */
|
|
|
5048 .loc 1 352 0
|
|
|
5049 .cfi_startproc
|
|
|
5050 @ args = 0, pretend = 0, frame = 0
|
|
|
5051 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
5052 .LVL442:
|
|
|
5053 0000 70B5 push {r4, r5, r6, lr}
|
|
|
5054 .LCFI38:
|
|
|
5055 .cfi_def_cfa_offset 16
|
|
|
5056 .cfi_offset 4, -16
|
|
|
5057 .cfi_offset 5, -12
|
|
|
5058 .cfi_offset 6, -8
|
|
|
5059 .cfi_offset 14, -4
|
|
|
5060 0002 0400 movs r4, r0
|
|
|
5061 0004 0D00 movs r5, r1
|
|
|
354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
5062 .loc 1 354 0
|
|
|
5063 0006 0028 cmp r0, #0
|
|
|
5064 0008 44D0 beq .L367
|
|
|
365:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
5065 .loc 1 365 0
|
|
|
5066 000a 8023 movs r3, #128
|
|
|
5067 000c 1B02 lsls r3, r3, #8
|
|
|
5068 000e C269 ldr r2, [r0, #28]
|
|
|
5069 0010 9A42 cmp r2, r3
|
|
|
5070 0012 41D0 beq .L368
|
|
|
370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
5071 .loc 1 370 0
|
|
|
5072 0014 8368 ldr r3, [r0, #8]
|
|
|
5073 0016 002B cmp r3, #0
|
|
|
5074 0018 40D1 bne .L369
|
|
|
375:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
5075 .loc 1 375 0
|
|
|
5076 001a 6933 adds r3, r3, #105
|
|
|
5077 001c C35C ldrb r3, [r0, r3]
|
|
|
5078 001e 002B cmp r3, #0
|
|
|
5079 0020 2ED0 beq .L370
|
|
|
5080 .LVL443:
|
|
|
5081 .L365:
|
|
|
384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5082 .loc 1 384 0
|
|
|
5083 0022 6923 movs r3, #105
|
|
|
5084 0024 2422 movs r2, #36
|
|
|
5085 0026 E254 strb r2, [r4, r3]
|
|
|
387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5086 .loc 1 387 0
|
|
|
5087 0028 2268 ldr r2, [r4]
|
|
|
5088 002a 1368 ldr r3, [r2]
|
|
|
5089 002c 0121 movs r1, #1
|
|
|
5090 002e 8B43 bics r3, r1
|
|
|
5091 0030 1360 str r3, [r2]
|
|
|
390:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
5092 .loc 1 390 0
|
|
|
5093 0032 636A ldr r3, [r4, #36]
|
|
|
ARM GAS /tmp/cc7An1gz.s page 150
|
|
|
|
|
|
|
|
|
5094 0034 002B cmp r3, #0
|
|
|
5095 0036 29D1 bne .L371
|
|
|
5096 .L366:
|
|
|
395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
5097 .loc 1 395 0
|
|
|
5098 0038 2000 movs r0, r4
|
|
|
5099 003a FFF7FEFF bl UART_SetConfig
|
|
|
5100 .LVL444:
|
|
|
5101 003e 0128 cmp r0, #1
|
|
|
5102 0040 29D0 beq .L364
|
|
|
403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
|
|
|
5103 .loc 1 403 0
|
|
|
5104 0042 2268 ldr r2, [r4]
|
|
|
5105 0044 5368 ldr r3, [r2, #4]
|
|
|
5106 0046 1649 ldr r1, .L372
|
|
|
5107 0048 0B40 ands r3, r1
|
|
|
5108 004a 5360 str r3, [r2, #4]
|
|
|
404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5109 .loc 1 404 0
|
|
|
5110 004c 2268 ldr r2, [r4]
|
|
|
5111 004e 9368 ldr r3, [r2, #8]
|
|
|
5112 0050 2A21 movs r1, #42
|
|
|
5113 0052 8B43 bics r3, r1
|
|
|
5114 0054 9360 str r3, [r2, #8]
|
|
|
407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5115 .loc 1 407 0
|
|
|
5116 0056 2268 ldr r2, [r4]
|
|
|
5117 0058 5168 ldr r1, [r2, #4]
|
|
|
5118 005a 8023 movs r3, #128
|
|
|
5119 005c DB01 lsls r3, r3, #7
|
|
|
5120 005e 0B43 orrs r3, r1
|
|
|
5121 0060 5360 str r3, [r2, #4]
|
|
|
410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5122 .loc 1 410 0
|
|
|
5123 0062 2268 ldr r2, [r4]
|
|
|
5124 0064 5368 ldr r3, [r2, #4]
|
|
|
5125 0066 2021 movs r1, #32
|
|
|
5126 0068 8B43 bics r3, r1
|
|
|
5127 006a 1D43 orrs r5, r3
|
|
|
5128 .LVL445:
|
|
|
5129 006c 5560 str r5, [r2, #4]
|
|
|
413:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5130 .loc 1 413 0
|
|
|
5131 006e 2268 ldr r2, [r4]
|
|
|
5132 0070 1368 ldr r3, [r2]
|
|
|
5133 0072 1F39 subs r1, r1, #31
|
|
|
5134 0074 0B43 orrs r3, r1
|
|
|
5135 0076 1360 str r3, [r2]
|
|
|
416:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5136 .loc 1 416 0
|
|
|
5137 0078 2000 movs r0, r4
|
|
|
5138 007a FFF7FEFF bl UART_CheckIdleState
|
|
|
5139 .LVL446:
|
|
|
5140 007e 0AE0 b .L364
|
|
|
5141 .LVL447:
|
|
|
5142 .L370:
|
|
|
378:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
ARM GAS /tmp/cc7An1gz.s page 151
|
|
|
|
|
|
|
|
|
5143 .loc 1 378 0
|
|
|
5144 0080 6833 adds r3, r3, #104
|
|
|
5145 0082 0022 movs r2, #0
|
|
|
5146 0084 C254 strb r2, [r0, r3]
|
|
|
381:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5147 .loc 1 381 0
|
|
|
5148 0086 FFF7FEFF bl HAL_UART_MspInit
|
|
|
5149 .LVL448:
|
|
|
5150 008a CAE7 b .L365
|
|
|
5151 .L371:
|
|
|
392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5152 .loc 1 392 0
|
|
|
5153 008c 2000 movs r0, r4
|
|
|
5154 008e FFF7FEFF bl UART_AdvFeatureConfig
|
|
|
5155 .LVL449:
|
|
|
5156 0092 D1E7 b .L366
|
|
|
5157 .LVL450:
|
|
|
5158 .L367:
|
|
|
356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5159 .loc 1 356 0
|
|
|
5160 0094 0120 movs r0, #1
|
|
|
5161 .LVL451:
|
|
|
5162 .L364:
|
|
|
417:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5163 .loc 1 417 0
|
|
|
5164 @ sp needed
|
|
|
5165 .LVL452:
|
|
|
5166 0096 70BD pop {r4, r5, r6, pc}
|
|
|
5167 .LVL453:
|
|
|
5168 .L368:
|
|
|
367:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5169 .loc 1 367 0
|
|
|
5170 0098 0120 movs r0, #1
|
|
|
5171 .LVL454:
|
|
|
5172 009a FCE7 b .L364
|
|
|
5173 .LVL455:
|
|
|
5174 .L369:
|
|
|
372:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5175 .loc 1 372 0
|
|
|
5176 009c 0120 movs r0, #1
|
|
|
5177 .LVL456:
|
|
|
5178 009e FAE7 b .L364
|
|
|
5179 .L373:
|
|
|
5180 .align 2
|
|
|
5181 .L372:
|
|
|
5182 00a0 FFF7FFFF .word -2049
|
|
|
5183 .cfi_endproc
|
|
|
5184 .LFE41:
|
|
|
5186 .section .text.HAL_MultiProcessor_Init,"ax",%progbits
|
|
|
5187 .align 1
|
|
|
5188 .global HAL_MultiProcessor_Init
|
|
|
5189 .syntax unified
|
|
|
5190 .code 16
|
|
|
5191 .thumb_func
|
|
|
5192 .fpu softvfp
|
|
|
5194 HAL_MultiProcessor_Init:
|
|
|
5195 .LFB42:
|
|
|
ARM GAS /tmp/cc7An1gz.s page 152
|
|
|
|
|
|
|
|
|
439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Check the UART handle allocation */
|
|
|
5196 .loc 1 439 0
|
|
|
5197 .cfi_startproc
|
|
|
5198 @ args = 0, pretend = 0, frame = 0
|
|
|
5199 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
5200 .LVL457:
|
|
|
5201 0000 70B5 push {r4, r5, r6, lr}
|
|
|
5202 .LCFI39:
|
|
|
5203 .cfi_def_cfa_offset 16
|
|
|
5204 .cfi_offset 4, -16
|
|
|
5205 .cfi_offset 5, -12
|
|
|
5206 .cfi_offset 6, -8
|
|
|
5207 .cfi_offset 14, -4
|
|
|
5208 0002 0400 movs r4, r0
|
|
|
5209 0004 0D00 movs r5, r1
|
|
|
5210 0006 1600 movs r6, r2
|
|
|
441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
5211 .loc 1 441 0
|
|
|
5212 0008 0028 cmp r0, #0
|
|
|
5213 000a 42D0 beq .L379
|
|
|
449:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
5214 .loc 1 449 0
|
|
|
5215 000c 6923 movs r3, #105
|
|
|
5216 000e C35C ldrb r3, [r0, r3]
|
|
|
5217 0010 002B cmp r3, #0
|
|
|
5218 0012 2CD0 beq .L380
|
|
|
5219 .LVL458:
|
|
|
5220 .L376:
|
|
|
458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5221 .loc 1 458 0
|
|
|
5222 0014 6923 movs r3, #105
|
|
|
5223 0016 2422 movs r2, #36
|
|
|
5224 0018 E254 strb r2, [r4, r3]
|
|
|
461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5225 .loc 1 461 0
|
|
|
5226 001a 2268 ldr r2, [r4]
|
|
|
5227 001c 1368 ldr r3, [r2]
|
|
|
5228 001e 0121 movs r1, #1
|
|
|
5229 0020 8B43 bics r3, r1
|
|
|
5230 0022 1360 str r3, [r2]
|
|
|
464:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
5231 .loc 1 464 0
|
|
|
5232 0024 636A ldr r3, [r4, #36]
|
|
|
5233 0026 002B cmp r3, #0
|
|
|
5234 0028 27D1 bne .L381
|
|
|
5235 .L377:
|
|
|
469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
5236 .loc 1 469 0
|
|
|
5237 002a 2000 movs r0, r4
|
|
|
5238 002c FFF7FEFF bl UART_SetConfig
|
|
|
5239 .LVL459:
|
|
|
5240 0030 0128 cmp r0, #1
|
|
|
5241 0032 1BD0 beq .L375
|
|
|
477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
|
|
|
5242 .loc 1 477 0
|
|
|
5243 0034 2268 ldr r2, [r4]
|
|
|
5244 0036 5368 ldr r3, [r2, #4]
|
|
|
ARM GAS /tmp/cc7An1gz.s page 153
|
|
|
|
|
|
|
|
|
5245 0038 1749 ldr r1, .L383
|
|
|
5246 003a 0B40 ands r3, r1
|
|
|
5247 003c 5360 str r3, [r2, #4]
|
|
|
478:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5248 .loc 1 478 0
|
|
|
5249 003e 2268 ldr r2, [r4]
|
|
|
5250 0040 9368 ldr r3, [r2, #8]
|
|
|
5251 0042 2A21 movs r1, #42
|
|
|
5252 0044 8B43 bics r3, r1
|
|
|
5253 0046 9360 str r3, [r2, #8]
|
|
|
480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** {
|
|
|
5254 .loc 1 480 0
|
|
|
5255 0048 8023 movs r3, #128
|
|
|
5256 004a 1B01 lsls r3, r3, #4
|
|
|
5257 004c 9E42 cmp r6, r3
|
|
|
5258 004e 18D0 beq .L382
|
|
|
5259 .L378:
|
|
|
487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5260 .loc 1 487 0
|
|
|
5261 0050 2368 ldr r3, [r4]
|
|
|
5262 0052 1A68 ldr r2, [r3]
|
|
|
5263 0054 1149 ldr r1, .L383+4
|
|
|
5264 0056 0A40 ands r2, r1
|
|
|
5265 0058 3243 orrs r2, r6
|
|
|
5266 005a 1A60 str r2, [r3]
|
|
|
490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5267 .loc 1 490 0
|
|
|
5268 005c 2268 ldr r2, [r4]
|
|
|
5269 005e 1368 ldr r3, [r2]
|
|
|
5270 0060 0121 movs r1, #1
|
|
|
5271 0062 0B43 orrs r3, r1
|
|
|
5272 0064 1360 str r3, [r2]
|
|
|
493:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5273 .loc 1 493 0
|
|
|
5274 0066 2000 movs r0, r4
|
|
|
5275 0068 FFF7FEFF bl UART_CheckIdleState
|
|
|
5276 .LVL460:
|
|
|
5277 .L375:
|
|
|
494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5278 .loc 1 494 0
|
|
|
5279 @ sp needed
|
|
|
5280 .LVL461:
|
|
|
5281 .LVL462:
|
|
|
5282 006c 70BD pop {r4, r5, r6, pc}
|
|
|
5283 .LVL463:
|
|
|
5284 .L380:
|
|
|
452:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5285 .loc 1 452 0
|
|
|
5286 006e 6833 adds r3, r3, #104
|
|
|
5287 0070 0022 movs r2, #0
|
|
|
5288 .LVL464:
|
|
|
5289 0072 C254 strb r2, [r0, r3]
|
|
|
455:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5290 .loc 1 455 0
|
|
|
5291 0074 FFF7FEFF bl HAL_UART_MspInit
|
|
|
5292 .LVL465:
|
|
|
5293 0078 CCE7 b .L376
|
|
|
ARM GAS /tmp/cc7An1gz.s page 154
|
|
|
|
|
|
|
|
|
5294 .L381:
|
|
|
466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5295 .loc 1 466 0
|
|
|
5296 007a 2000 movs r0, r4
|
|
|
5297 007c FFF7FEFF bl UART_AdvFeatureConfig
|
|
|
5298 .LVL466:
|
|
|
5299 0080 D3E7 b .L377
|
|
|
5300 .L382:
|
|
|
483:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5301 .loc 1 483 0
|
|
|
5302 0082 2268 ldr r2, [r4]
|
|
|
5303 0084 5368 ldr r3, [r2, #4]
|
|
|
5304 0086 1B02 lsls r3, r3, #8
|
|
|
5305 0088 1B0A lsrs r3, r3, #8
|
|
|
5306 008a 2D06 lsls r5, r5, #24
|
|
|
5307 008c 1D43 orrs r5, r3
|
|
|
5308 008e 5560 str r5, [r2, #4]
|
|
|
5309 0090 DEE7 b .L378
|
|
|
5310 .LVL467:
|
|
|
5311 .L379:
|
|
|
443:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5312 .loc 1 443 0
|
|
|
5313 0092 0120 movs r0, #1
|
|
|
5314 .LVL468:
|
|
|
5315 0094 EAE7 b .L375
|
|
|
5316 .L384:
|
|
|
5317 0096 C046 .align 2
|
|
|
5318 .L383:
|
|
|
5319 0098 FFB7FFFF .word -18433
|
|
|
5320 009c FFF7FFFF .word -2049
|
|
|
5321 .cfi_endproc
|
|
|
5322 .LFE42:
|
|
|
5324 .section .text.HAL_MultiProcessor_EnableMuteMode,"ax",%progbits
|
|
|
5325 .align 1
|
|
|
5326 .global HAL_MultiProcessor_EnableMuteMode
|
|
|
5327 .syntax unified
|
|
|
5328 .code 16
|
|
|
5329 .thumb_func
|
|
|
5330 .fpu softvfp
|
|
|
5332 HAL_MultiProcessor_EnableMuteMode:
|
|
|
5333 .LFB70:
|
|
|
1924:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
5334 .loc 1 1924 0
|
|
|
5335 .cfi_startproc
|
|
|
5336 @ args = 0, pretend = 0, frame = 0
|
|
|
5337 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
5338 .LVL469:
|
|
|
5339 0000 10B5 push {r4, lr}
|
|
|
5340 .LCFI40:
|
|
|
5341 .cfi_def_cfa_offset 8
|
|
|
5342 .cfi_offset 4, -8
|
|
|
5343 .cfi_offset 14, -4
|
|
|
1926:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5344 .loc 1 1926 0
|
|
|
5345 0002 6823 movs r3, #104
|
|
|
5346 0004 C35C ldrb r3, [r0, r3]
|
|
|
5347 0006 012B cmp r3, #1
|
|
|
ARM GAS /tmp/cc7An1gz.s page 155
|
|
|
|
|
|
|
|
|
5348 0008 10D0 beq .L387
|
|
|
1926:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5349 .loc 1 1926 0 is_stmt 0 discriminator 2
|
|
|
5350 000a 6823 movs r3, #104
|
|
|
5351 000c 0122 movs r2, #1
|
|
|
5352 000e C254 strb r2, [r0, r3]
|
|
|
1928:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5353 .loc 1 1928 0 is_stmt 1 discriminator 2
|
|
|
5354 0010 6832 adds r2, r2, #104
|
|
|
5355 0012 443B subs r3, r3, #68
|
|
|
5356 0014 8354 strb r3, [r0, r2]
|
|
|
1931:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5357 .loc 1 1931 0 discriminator 2
|
|
|
5358 0016 0168 ldr r1, [r0]
|
|
|
5359 0018 0C68 ldr r4, [r1]
|
|
|
5360 001a 8023 movs r3, #128
|
|
|
5361 001c 9B01 lsls r3, r3, #6
|
|
|
5362 001e 2343 orrs r3, r4
|
|
|
5363 0020 0B60 str r3, [r1]
|
|
|
1933:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5364 .loc 1 1933 0 discriminator 2
|
|
|
5365 0022 2023 movs r3, #32
|
|
|
5366 0024 8354 strb r3, [r0, r2]
|
|
|
1935:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5367 .loc 1 1935 0 discriminator 2
|
|
|
5368 0026 FFF7FEFF bl UART_CheckIdleState
|
|
|
5369 .LVL470:
|
|
|
5370 .L386:
|
|
|
1936:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5371 .loc 1 1936 0
|
|
|
5372 @ sp needed
|
|
|
5373 002a 10BD pop {r4, pc}
|
|
|
5374 .LVL471:
|
|
|
5375 .L387:
|
|
|
1926:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5376 .loc 1 1926 0
|
|
|
5377 002c 0220 movs r0, #2
|
|
|
5378 .LVL472:
|
|
|
5379 002e FCE7 b .L386
|
|
|
5380 .cfi_endproc
|
|
|
5381 .LFE70:
|
|
|
5383 .section .text.HAL_MultiProcessor_DisableMuteMode,"ax",%progbits
|
|
|
5384 .align 1
|
|
|
5385 .global HAL_MultiProcessor_DisableMuteMode
|
|
|
5386 .syntax unified
|
|
|
5387 .code 16
|
|
|
5388 .thumb_func
|
|
|
5389 .fpu softvfp
|
|
|
5391 HAL_MultiProcessor_DisableMuteMode:
|
|
|
5392 .LFB71:
|
|
|
1945:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** /* Process Locked */
|
|
|
5393 .loc 1 1945 0
|
|
|
5394 .cfi_startproc
|
|
|
5395 @ args = 0, pretend = 0, frame = 0
|
|
|
5396 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
5397 .LVL473:
|
|
|
5398 0000 10B5 push {r4, lr}
|
|
|
ARM GAS /tmp/cc7An1gz.s page 156
|
|
|
|
|
|
|
|
|
5399 .LCFI41:
|
|
|
5400 .cfi_def_cfa_offset 8
|
|
|
5401 .cfi_offset 4, -8
|
|
|
5402 .cfi_offset 14, -4
|
|
|
1947:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5403 .loc 1 1947 0
|
|
|
5404 0002 6823 movs r3, #104
|
|
|
5405 0004 C35C ldrb r3, [r0, r3]
|
|
|
5406 0006 012B cmp r3, #1
|
|
|
5407 0008 0FD0 beq .L390
|
|
|
1947:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5408 .loc 1 1947 0 is_stmt 0 discriminator 2
|
|
|
5409 000a 6823 movs r3, #104
|
|
|
5410 000c 0122 movs r2, #1
|
|
|
5411 000e C254 strb r2, [r0, r3]
|
|
|
1949:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5412 .loc 1 1949 0 is_stmt 1 discriminator 2
|
|
|
5413 0010 6832 adds r2, r2, #104
|
|
|
5414 0012 443B subs r3, r3, #68
|
|
|
5415 0014 8354 strb r3, [r0, r2]
|
|
|
1952:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5416 .loc 1 1952 0 discriminator 2
|
|
|
5417 0016 0168 ldr r1, [r0]
|
|
|
5418 0018 0B68 ldr r3, [r1]
|
|
|
5419 001a 054C ldr r4, .L391
|
|
|
5420 001c 2340 ands r3, r4
|
|
|
5421 001e 0B60 str r3, [r1]
|
|
|
1954:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5422 .loc 1 1954 0 discriminator 2
|
|
|
5423 0020 2023 movs r3, #32
|
|
|
5424 0022 8354 strb r3, [r0, r2]
|
|
|
1956:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c **** }
|
|
|
5425 .loc 1 1956 0 discriminator 2
|
|
|
5426 0024 FFF7FEFF bl UART_CheckIdleState
|
|
|
5427 .LVL474:
|
|
|
5428 .L389:
|
|
|
1957:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5429 .loc 1 1957 0
|
|
|
5430 @ sp needed
|
|
|
5431 0028 10BD pop {r4, pc}
|
|
|
5432 .LVL475:
|
|
|
5433 .L390:
|
|
|
1947:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c ****
|
|
|
5434 .loc 1 1947 0
|
|
|
5435 002a 0220 movs r0, #2
|
|
|
5436 .LVL476:
|
|
|
5437 002c FCE7 b .L389
|
|
|
5438 .L392:
|
|
|
5439 002e C046 .align 2
|
|
|
5440 .L391:
|
|
|
5441 0030 FFDFFFFF .word -8193
|
|
|
5442 .cfi_endproc
|
|
|
5443 .LFE71:
|
|
|
5445 .text
|
|
|
5446 .Letext0:
|
|
|
5447 .file 2 "/usr/arm-none-eabi/include/machine/_default_types.h"
|
|
|
5448 .file 3 "/usr/arm-none-eabi/include/sys/_stdint.h"
|
|
|
ARM GAS /tmp/cc7An1gz.s page 157
|
|
|
|
|
|
|
|
|
5449 .file 4 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/system_stm32l0xx.h"
|
|
|
5450 .file 5 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l073xx.h"
|
|
|
5451 .file 6 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l0xx.h"
|
|
|
5452 .file 7 "/usr/arm-none-eabi/include/sys/lock.h"
|
|
|
5453 .file 8 "/usr/arm-none-eabi/include/sys/_types.h"
|
|
|
5454 .file 9 "/usr/lib/gcc/arm-none-eabi/7.2.0/include/stddef.h"
|
|
|
5455 .file 10 "/usr/arm-none-eabi/include/sys/reent.h"
|
|
|
5456 .file 11 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_def.h"
|
|
|
5457 .file 12 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_dma.h"
|
|
|
5458 .file 13 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_uart.h"
|
|
|
5459 .file 14 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal.h"
|
|
|
5460 .file 15 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_rcc_ex.h"
|
|
|
5461 .file 16 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_rcc.h"
|
|
|
5462 .file 17 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_uart_ex.h"
|
|
|
ARM GAS /tmp/cc7An1gz.s page 158
|
|
|
|
|
|
|
|
|
DEFINED SYMBOLS
|
|
|
*ABS*:0000000000000000 stm32l0xx_hal_uart.c
|
|
|
/tmp/cc7An1gz.s:16 .text.HAL_UART_MspInit:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:23 .text.HAL_UART_MspInit:0000000000000000 HAL_UART_MspInit
|
|
|
/tmp/cc7An1gz.s:39 .text.HAL_UART_MspDeInit:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:46 .text.HAL_UART_MspDeInit:0000000000000000 HAL_UART_MspDeInit
|
|
|
/tmp/cc7An1gz.s:61 .text.HAL_UART_DeInit:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:68 .text.HAL_UART_DeInit:0000000000000000 HAL_UART_DeInit
|
|
|
/tmp/cc7An1gz.s:135 .text.HAL_UART_Transmit_IT:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:142 .text.HAL_UART_Transmit_IT:0000000000000000 HAL_UART_Transmit_IT
|
|
|
/tmp/cc7An1gz.s:250 .text.HAL_UART_Receive_IT:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:257 .text.HAL_UART_Receive_IT:0000000000000000 HAL_UART_Receive_IT
|
|
|
/tmp/cc7An1gz.s:451 .text.HAL_UART_Receive_IT:00000000000000d0 $d
|
|
|
/tmp/cc7An1gz.s:456 .text.HAL_UART_Transmit_DMA:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:463 .text.HAL_UART_Transmit_DMA:0000000000000000 HAL_UART_Transmit_DMA
|
|
|
/tmp/cc7An1gz.s:598 .text.HAL_UART_Transmit_DMA:000000000000009c $d
|
|
|
/tmp/cc7An1gz.s:1362 .text.UART_DMATransmitCplt:0000000000000000 UART_DMATransmitCplt
|
|
|
/tmp/cc7An1gz.s:1445 .text.UART_DMATxHalfCplt:0000000000000000 UART_DMATxHalfCplt
|
|
|
/tmp/cc7An1gz.s:1776 .text.UART_DMAError:0000000000000000 UART_DMAError
|
|
|
/tmp/cc7An1gz.s:605 .text.HAL_UART_Receive_DMA:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:612 .text.HAL_UART_Receive_DMA:0000000000000000 HAL_UART_Receive_DMA
|
|
|
/tmp/cc7An1gz.s:753 .text.HAL_UART_Receive_DMA:00000000000000a4 $d
|
|
|
/tmp/cc7An1gz.s:1498 .text.UART_DMAReceiveCplt:0000000000000000 UART_DMAReceiveCplt
|
|
|
/tmp/cc7An1gz.s:1723 .text.UART_DMARxHalfCplt:0000000000000000 UART_DMARxHalfCplt
|
|
|
/tmp/cc7An1gz.s:760 .text.HAL_UART_DMAPause:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:767 .text.HAL_UART_DMAPause:0000000000000000 HAL_UART_DMAPause
|
|
|
/tmp/cc7An1gz.s:855 .text.HAL_UART_DMAPause:0000000000000068 $d
|
|
|
/tmp/cc7An1gz.s:860 .text.HAL_UART_DMAResume:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:867 .text.HAL_UART_DMAResume:0000000000000000 HAL_UART_DMAResume
|
|
|
/tmp/cc7An1gz.s:950 .text.HAL_UART_DMAStop:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:957 .text.HAL_UART_DMAStop:0000000000000000 HAL_UART_DMAStop
|
|
|
/tmp/cc7An1gz.s:1069 .text.HAL_UART_DMAStop:000000000000007c $d
|
|
|
/tmp/cc7An1gz.s:1076 .text.HAL_UART_Abort:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:1083 .text.HAL_UART_Abort:0000000000000000 HAL_UART_Abort
|
|
|
/tmp/cc7An1gz.s:1182 .text.HAL_UART_Abort:000000000000007c $d
|
|
|
/tmp/cc7An1gz.s:1187 .text.HAL_UART_AbortTransmit:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:1194 .text.HAL_UART_AbortTransmit:0000000000000000 HAL_UART_AbortTransmit
|
|
|
/tmp/cc7An1gz.s:1253 .text.HAL_UART_AbortReceive:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:1260 .text.HAL_UART_AbortReceive:0000000000000000 HAL_UART_AbortReceive
|
|
|
/tmp/cc7An1gz.s:1329 .text.HAL_UART_AbortReceive:0000000000000050 $d
|
|
|
/tmp/cc7An1gz.s:1334 .text.HAL_UART_TxCpltCallback:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:1341 .text.HAL_UART_TxCpltCallback:0000000000000000 HAL_UART_TxCpltCallback
|
|
|
/tmp/cc7An1gz.s:1356 .text.UART_DMATransmitCplt:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:1417 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:1424 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 HAL_UART_TxHalfCpltCallback
|
|
|
/tmp/cc7An1gz.s:1439 .text.UART_DMATxHalfCplt:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:1470 .text.HAL_UART_RxCpltCallback:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:1477 .text.HAL_UART_RxCpltCallback:0000000000000000 HAL_UART_RxCpltCallback
|
|
|
/tmp/cc7An1gz.s:1492 .text.UART_DMAReceiveCplt:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:1557 .text.UART_DMAReceiveCplt:0000000000000040 $d
|
|
|
/tmp/cc7An1gz.s:1562 .text.UART_Receive_IT:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:1568 .text.UART_Receive_IT:0000000000000000 UART_Receive_IT
|
|
|
/tmp/cc7An1gz.s:1690 .text.UART_Receive_IT:0000000000000084 $d
|
|
|
/tmp/cc7An1gz.s:1695 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:1702 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 HAL_UART_RxHalfCpltCallback
|
|
|
/tmp/cc7An1gz.s:1717 .text.UART_DMARxHalfCplt:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:1748 .text.HAL_UART_ErrorCallback:0000000000000000 $t
|
|
|
ARM GAS /tmp/cc7An1gz.s page 159
|
|
|
|
|
|
|
|
|
/tmp/cc7An1gz.s:1755 .text.HAL_UART_ErrorCallback:0000000000000000 HAL_UART_ErrorCallback
|
|
|
/tmp/cc7An1gz.s:1770 .text.UART_DMAError:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:1874 .text.UART_DMAError:000000000000006c $d
|
|
|
/tmp/cc7An1gz.s:1881 .text.HAL_UART_IRQHandler:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:1888 .text.HAL_UART_IRQHandler:0000000000000000 HAL_UART_IRQHandler
|
|
|
/tmp/cc7An1gz.s:2265 .text.HAL_UART_IRQHandler:00000000000001c0 $d
|
|
|
/tmp/cc7An1gz.s:2279 .text.UART_DMAAbortOnError:0000000000000000 UART_DMAAbortOnError
|
|
|
/tmp/cc7An1gz.s:2273 .text.UART_DMAAbortOnError:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:2311 .text.HAL_UART_AbortCpltCallback:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:2318 .text.HAL_UART_AbortCpltCallback:0000000000000000 HAL_UART_AbortCpltCallback
|
|
|
/tmp/cc7An1gz.s:2333 .text.HAL_UART_Abort_IT:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:2340 .text.HAL_UART_Abort_IT:0000000000000000 HAL_UART_Abort_IT
|
|
|
/tmp/cc7An1gz.s:2510 .text.HAL_UART_Abort_IT:00000000000000cc $d
|
|
|
/tmp/cc7An1gz.s:2591 .text.UART_DMATxAbortCallback:0000000000000000 UART_DMATxAbortCallback
|
|
|
/tmp/cc7An1gz.s:2523 .text.UART_DMARxAbortCallback:0000000000000000 UART_DMARxAbortCallback
|
|
|
/tmp/cc7An1gz.s:2517 .text.UART_DMARxAbortCallback:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:2585 .text.UART_DMATxAbortCallback:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:2653 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:2660 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 HAL_UART_AbortTransmitCpltCallback
|
|
|
/tmp/cc7An1gz.s:2675 .text.HAL_UART_AbortTransmit_IT:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:2682 .text.HAL_UART_AbortTransmit_IT:0000000000000000 HAL_UART_AbortTransmit_IT
|
|
|
/tmp/cc7An1gz.s:2767 .text.HAL_UART_AbortTransmit_IT:0000000000000060 $d
|
|
|
/tmp/cc7An1gz.s:2778 .text.UART_DMATxOnlyAbortCallback:0000000000000000 UART_DMATxOnlyAbortCallback
|
|
|
/tmp/cc7An1gz.s:2772 .text.UART_DMATxOnlyAbortCallback:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:2811 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:2818 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 HAL_UART_AbortReceiveCpltCallback
|
|
|
/tmp/cc7An1gz.s:2833 .text.HAL_UART_AbortReceive_IT:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:2840 .text.HAL_UART_AbortReceive_IT:0000000000000000 HAL_UART_AbortReceive_IT
|
|
|
/tmp/cc7An1gz.s:2939 .text.HAL_UART_AbortReceive_IT:0000000000000078 $d
|
|
|
/tmp/cc7An1gz.s:2951 .text.UART_DMARxOnlyAbortCallback:0000000000000000 UART_DMARxOnlyAbortCallback
|
|
|
/tmp/cc7An1gz.s:2945 .text.UART_DMARxOnlyAbortCallback:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:2988 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:2995 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 HAL_MultiProcessor_EnterMuteMode
|
|
|
/tmp/cc7An1gz.s:3016 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:3023 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 HAL_HalfDuplex_EnableTransmitter
|
|
|
/tmp/cc7An1gz.s:3084 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:3091 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 HAL_HalfDuplex_EnableReceiver
|
|
|
/tmp/cc7An1gz.s:3152 .text.HAL_LIN_SendBreak:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:3159 .text.HAL_LIN_SendBreak:0000000000000000 HAL_LIN_SendBreak
|
|
|
/tmp/cc7An1gz.s:3214 .text.HAL_UART_GetState:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:3221 .text.HAL_UART_GetState:0000000000000000 HAL_UART_GetState
|
|
|
/tmp/cc7An1gz.s:3247 .text.HAL_UART_GetError:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:3254 .text.HAL_UART_GetError:0000000000000000 HAL_UART_GetError
|
|
|
/tmp/cc7An1gz.s:3274 .text.UART_SetConfig:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:3281 .text.UART_SetConfig:0000000000000000 UART_SetConfig
|
|
|
/tmp/cc7An1gz.s:3399 .rodata.UART_SetConfig:0000000000000000 $d
|
|
|
/tmp/cc7An1gz.s:3939 .text.UART_SetConfig:0000000000000310 $d
|
|
|
/tmp/cc7An1gz.s:3959 .text.UART_SetConfig:0000000000000354 $t
|
|
|
/tmp/cc7An1gz.s:3966 .text.UART_AdvFeatureConfig:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:3973 .text.UART_AdvFeatureConfig:0000000000000000 UART_AdvFeatureConfig
|
|
|
/tmp/cc7An1gz.s:4107 .text.UART_AdvFeatureConfig:00000000000000bc $d
|
|
|
/tmp/cc7An1gz.s:4120 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:4127 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 UART_WaitOnFlagUntilTimeout
|
|
|
/tmp/cc7An1gz.s:4219 .text.UART_WaitOnFlagUntilTimeout:0000000000000068 $d
|
|
|
/tmp/cc7An1gz.s:4224 .text.HAL_UART_Transmit:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:4231 .text.HAL_UART_Transmit:0000000000000000 HAL_UART_Transmit
|
|
|
/tmp/cc7An1gz.s:4433 .text.HAL_UART_Receive:0000000000000000 $t
|
|
|
ARM GAS /tmp/cc7An1gz.s page 160
|
|
|
|
|
|
|
|
|
/tmp/cc7An1gz.s:4440 .text.HAL_UART_Receive:0000000000000000 HAL_UART_Receive
|
|
|
/tmp/cc7An1gz.s:4706 .text.HAL_UART_Receive:0000000000000134 $d
|
|
|
/tmp/cc7An1gz.s:4711 .text.UART_CheckIdleState:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:4718 .text.UART_CheckIdleState:0000000000000000 UART_CheckIdleState
|
|
|
/tmp/cc7An1gz.s:4814 .text.UART_CheckIdleState:000000000000006c $d
|
|
|
/tmp/cc7An1gz.s:4819 .text.HAL_UART_Init:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:4826 .text.HAL_UART_Init:0000000000000000 HAL_UART_Init
|
|
|
/tmp/cc7An1gz.s:4921 .text.HAL_UART_Init:000000000000006c $d
|
|
|
/tmp/cc7An1gz.s:4926 .text.HAL_HalfDuplex_Init:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:4933 .text.HAL_HalfDuplex_Init:0000000000000000 HAL_HalfDuplex_Init
|
|
|
/tmp/cc7An1gz.s:5034 .text.HAL_HalfDuplex_Init:0000000000000078 $d
|
|
|
/tmp/cc7An1gz.s:5039 .text.HAL_LIN_Init:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:5046 .text.HAL_LIN_Init:0000000000000000 HAL_LIN_Init
|
|
|
/tmp/cc7An1gz.s:5182 .text.HAL_LIN_Init:00000000000000a0 $d
|
|
|
/tmp/cc7An1gz.s:5187 .text.HAL_MultiProcessor_Init:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:5194 .text.HAL_MultiProcessor_Init:0000000000000000 HAL_MultiProcessor_Init
|
|
|
/tmp/cc7An1gz.s:5319 .text.HAL_MultiProcessor_Init:0000000000000098 $d
|
|
|
/tmp/cc7An1gz.s:5325 .text.HAL_MultiProcessor_EnableMuteMode:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:5332 .text.HAL_MultiProcessor_EnableMuteMode:0000000000000000 HAL_MultiProcessor_EnableMuteMode
|
|
|
/tmp/cc7An1gz.s:5384 .text.HAL_MultiProcessor_DisableMuteMode:0000000000000000 $t
|
|
|
/tmp/cc7An1gz.s:5391 .text.HAL_MultiProcessor_DisableMuteMode:0000000000000000 HAL_MultiProcessor_DisableMuteMode
|
|
|
/tmp/cc7An1gz.s:5441 .text.HAL_MultiProcessor_DisableMuteMode:0000000000000030 $d
|
|
|
.debug_frame:0000000000000010 $d
|
|
|
|
|
|
UNDEFINED SYMBOLS
|
|
|
HAL_DMA_Start_IT
|
|
|
HAL_DMA_Abort
|
|
|
HAL_DMA_Abort_IT
|
|
|
HAL_UARTEx_WakeupCallback
|
|
|
__aeabi_uldivmod
|
|
|
__aeabi_uidiv
|
|
|
HAL_RCCEx_GetPeriphCLKFreq
|
|
|
HAL_RCC_GetPCLK1Freq
|
|
|
HAL_RCC_GetSysClockFreq
|
|
|
HAL_RCC_GetPCLK2Freq
|
|
|
HAL_GetTick
|
|
|
|