ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 5 .eabi_attribute 28, 1 6 .eabi_attribute 20, 1 7 .eabi_attribute 21, 1 8 .eabi_attribute 23, 3 9 .eabi_attribute 24, 1 10 .eabi_attribute 25, 1 11 .eabi_attribute 26, 1 12 .eabi_attribute 30, 2 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "usart.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .section .text.MX_USART2_UART_Init,"ax",%progbits 20 .align 1 21 .p2align 2,,3 22 .global MX_USART2_UART_Init 23 .syntax unified 24 .thumb 25 .thumb_func 27 MX_USART2_UART_Init: 28 .LFB130: 29 .file 1 "Core/Src/usart.c" 1:Core/Src/usart.c **** /* USER CODE BEGIN Header */ 2:Core/Src/usart.c **** /** 3:Core/Src/usart.c **** ****************************************************************************** 4:Core/Src/usart.c **** * @file usart.c 5:Core/Src/usart.c **** * @brief This file provides code for the configuration 6:Core/Src/usart.c **** * of the USART instances. 7:Core/Src/usart.c **** ****************************************************************************** 8:Core/Src/usart.c **** * @attention 9:Core/Src/usart.c **** * 10:Core/Src/usart.c **** * Copyright (c) 2025 STMicroelectronics. 11:Core/Src/usart.c **** * All rights reserved. 12:Core/Src/usart.c **** * 13:Core/Src/usart.c **** * This software is licensed under terms that can be found in the LICENSE file 14:Core/Src/usart.c **** * in the root directory of this software component. 15:Core/Src/usart.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 16:Core/Src/usart.c **** * 17:Core/Src/usart.c **** ****************************************************************************** 18:Core/Src/usart.c **** */ 19:Core/Src/usart.c **** /* USER CODE END Header */ 20:Core/Src/usart.c **** /* Includes ------------------------------------------------------------------*/ 21:Core/Src/usart.c **** #include "usart.h" 22:Core/Src/usart.c **** 23:Core/Src/usart.c **** /* USER CODE BEGIN 0 */ 24:Core/Src/usart.c **** 25:Core/Src/usart.c **** /* USER CODE END 0 */ 26:Core/Src/usart.c **** 27:Core/Src/usart.c **** UART_HandleTypeDef huart2; 28:Core/Src/usart.c **** UART_HandleTypeDef huart3; 29:Core/Src/usart.c **** DMA_HandleTypeDef hdma_usart2_tx; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 2 30:Core/Src/usart.c **** DMA_HandleTypeDef hdma_usart2_rx; 31:Core/Src/usart.c **** DMA_HandleTypeDef hdma_usart3_rx; 32:Core/Src/usart.c **** DMA_HandleTypeDef hdma_usart3_tx; 33:Core/Src/usart.c **** 34:Core/Src/usart.c **** /* USART2 init function */ 35:Core/Src/usart.c **** 36:Core/Src/usart.c **** void MX_USART2_UART_Init(void) 37:Core/Src/usart.c **** { 30 .loc 1 37 1 view -0 31 .cfi_startproc 32 @ args = 0, pretend = 0, frame = 0 33 @ frame_needed = 0, uses_anonymous_args = 0 38:Core/Src/usart.c **** 39:Core/Src/usart.c **** /* USER CODE BEGIN USART2_Init 0 */ 40:Core/Src/usart.c **** 41:Core/Src/usart.c **** /* USER CODE END USART2_Init 0 */ 42:Core/Src/usart.c **** 43:Core/Src/usart.c **** /* USER CODE BEGIN USART2_Init 1 */ 44:Core/Src/usart.c **** 45:Core/Src/usart.c **** /* USER CODE END USART2_Init 1 */ 46:Core/Src/usart.c **** huart2.Instance = USART2; 34 .loc 1 46 3 view .LVU1 37:Core/Src/usart.c **** 35 .loc 1 37 1 is_stmt 0 view .LVU2 36 0000 10B5 push {r4, lr} 37 .LCFI0: 38 .cfi_def_cfa_offset 8 39 .cfi_offset 4, -8 40 .cfi_offset 14, -4 41 .loc 1 46 19 view .LVU3 42 0002 0C48 ldr r0, .L6 43 0004 0C4C ldr r4, .L6+4 47:Core/Src/usart.c **** huart2.Init.BaudRate = 115200; 48:Core/Src/usart.c **** huart2.Init.WordLength = UART_WORDLENGTH_8B; 44 .loc 1 48 26 view .LVU4 45 0006 0023 movs r3, #0 47:Core/Src/usart.c **** huart2.Init.BaudRate = 115200; 46 .loc 1 47 24 view .LVU5 47 0008 4FF4E131 mov r1, #115200 49:Core/Src/usart.c **** huart2.Init.StopBits = UART_STOPBITS_1; 50:Core/Src/usart.c **** huart2.Init.Parity = UART_PARITY_NONE; 51:Core/Src/usart.c **** huart2.Init.Mode = UART_MODE_TX_RX; 48 .loc 1 51 20 view .LVU6 49 000c 0C22 movs r2, #12 47:Core/Src/usart.c **** huart2.Init.BaudRate = 115200; 50 .loc 1 47 24 view .LVU7 51 000e C0E90041 strd r4, r1, [r0] 48:Core/Src/usart.c **** huart2.Init.StopBits = UART_STOPBITS_1; 52 .loc 1 48 3 is_stmt 1 view .LVU8 49:Core/Src/usart.c **** huart2.Init.StopBits = UART_STOPBITS_1; 53 .loc 1 49 24 is_stmt 0 view .LVU9 54 0012 C0E90233 strd r3, r3, [r0, #8] 50:Core/Src/usart.c **** huart2.Init.Mode = UART_MODE_TX_RX; 55 .loc 1 50 3 is_stmt 1 view .LVU10 56 .loc 1 51 20 is_stmt 0 view .LVU11 57 0016 C0E90432 strd r3, r2, [r0, #16] 52:Core/Src/usart.c **** huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 3 58 .loc 1 52 3 is_stmt 1 view .LVU12 53:Core/Src/usart.c **** huart2.Init.OverSampling = UART_OVERSAMPLING_16; 59 .loc 1 53 28 is_stmt 0 view .LVU13 60 001a C0E90633 strd r3, r3, [r0, #24] 54:Core/Src/usart.c **** huart2.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; 61 .loc 1 54 3 is_stmt 1 view .LVU14 55:Core/Src/usart.c **** huart2.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; 62 .loc 1 55 38 is_stmt 0 view .LVU15 63 001e C0E90833 strd r3, r3, [r0, #32] 56:Core/Src/usart.c **** if (HAL_UART_Init(&huart2) != HAL_OK) 64 .loc 1 56 3 is_stmt 1 view .LVU16 65 .loc 1 56 7 is_stmt 0 view .LVU17 66 0022 FFF7FEFF bl HAL_UART_Init 67 .LVL0: 68 .loc 1 56 6 view .LVU18 69 0026 00B9 cbnz r0, .L5 57:Core/Src/usart.c **** { 58:Core/Src/usart.c **** Error_Handler(); 59:Core/Src/usart.c **** } 60:Core/Src/usart.c **** /* USER CODE BEGIN USART2_Init 2 */ 61:Core/Src/usart.c **** 62:Core/Src/usart.c **** /* USER CODE END USART2_Init 2 */ 63:Core/Src/usart.c **** 64:Core/Src/usart.c **** } 70 .loc 1 64 1 view .LVU19 71 0028 10BD pop {r4, pc} 72 .L5: 58:Core/Src/usart.c **** } 73 .loc 1 58 5 is_stmt 1 view .LVU20 74 .loc 1 64 1 is_stmt 0 view .LVU21 75 002a BDE81040 pop {r4, lr} 76 .LCFI1: 77 .cfi_restore 14 78 .cfi_restore 4 79 .cfi_def_cfa_offset 0 58:Core/Src/usart.c **** } 80 .loc 1 58 5 view .LVU22 81 002e FFF7FEBF b Error_Handler 82 .LVL1: 83 .L7: 84 0032 00BF .align 2 85 .L6: 86 0034 00000000 .word .LANCHOR0 87 0038 00440040 .word 1073759232 88 .cfi_endproc 89 .LFE130: 91 .section .text.MX_USART3_UART_Init,"ax",%progbits 92 .align 1 93 .p2align 2,,3 94 .global MX_USART3_UART_Init 95 .syntax unified 96 .thumb 97 .thumb_func 99 MX_USART3_UART_Init: 100 .LFB131: 65:Core/Src/usart.c **** /* USART3 init function */ 66:Core/Src/usart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 4 67:Core/Src/usart.c **** void MX_USART3_UART_Init(void) 68:Core/Src/usart.c **** { 101 .loc 1 68 1 is_stmt 1 view -0 102 .cfi_startproc 103 @ args = 0, pretend = 0, frame = 0 104 @ frame_needed = 0, uses_anonymous_args = 0 69:Core/Src/usart.c **** 70:Core/Src/usart.c **** /* USER CODE BEGIN USART3_Init 0 */ 71:Core/Src/usart.c **** 72:Core/Src/usart.c **** /* USER CODE END USART3_Init 0 */ 73:Core/Src/usart.c **** 74:Core/Src/usart.c **** /* USER CODE BEGIN USART3_Init 1 */ 75:Core/Src/usart.c **** 76:Core/Src/usart.c **** /* USER CODE END USART3_Init 1 */ 77:Core/Src/usart.c **** huart3.Instance = USART3; 105 .loc 1 77 3 view .LVU24 68:Core/Src/usart.c **** 106 .loc 1 68 1 is_stmt 0 view .LVU25 107 0000 10B5 push {r4, lr} 108 .LCFI2: 109 .cfi_def_cfa_offset 8 110 .cfi_offset 4, -8 111 .cfi_offset 14, -4 112 .loc 1 77 19 view .LVU26 113 0002 0C48 ldr r0, .L12 114 0004 0C4C ldr r4, .L12+4 78:Core/Src/usart.c **** huart3.Init.BaudRate = 115200; 79:Core/Src/usart.c **** huart3.Init.WordLength = UART_WORDLENGTH_8B; 115 .loc 1 79 26 view .LVU27 116 0006 0023 movs r3, #0 78:Core/Src/usart.c **** huart3.Init.BaudRate = 115200; 117 .loc 1 78 24 view .LVU28 118 0008 4FF4E131 mov r1, #115200 80:Core/Src/usart.c **** huart3.Init.StopBits = UART_STOPBITS_1; 81:Core/Src/usart.c **** huart3.Init.Parity = UART_PARITY_NONE; 82:Core/Src/usart.c **** huart3.Init.Mode = UART_MODE_TX_RX; 119 .loc 1 82 20 view .LVU29 120 000c 0C22 movs r2, #12 78:Core/Src/usart.c **** huart3.Init.BaudRate = 115200; 121 .loc 1 78 24 view .LVU30 122 000e C0E90041 strd r4, r1, [r0] 79:Core/Src/usart.c **** huart3.Init.StopBits = UART_STOPBITS_1; 123 .loc 1 79 3 is_stmt 1 view .LVU31 80:Core/Src/usart.c **** huart3.Init.StopBits = UART_STOPBITS_1; 124 .loc 1 80 24 is_stmt 0 view .LVU32 125 0012 C0E90233 strd r3, r3, [r0, #8] 81:Core/Src/usart.c **** huart3.Init.Mode = UART_MODE_TX_RX; 126 .loc 1 81 3 is_stmt 1 view .LVU33 127 .loc 1 82 20 is_stmt 0 view .LVU34 128 0016 C0E90432 strd r3, r2, [r0, #16] 83:Core/Src/usart.c **** huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; 129 .loc 1 83 3 is_stmt 1 view .LVU35 84:Core/Src/usart.c **** huart3.Init.OverSampling = UART_OVERSAMPLING_16; 130 .loc 1 84 28 is_stmt 0 view .LVU36 131 001a C0E90633 strd r3, r3, [r0, #24] 85:Core/Src/usart.c **** huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; 132 .loc 1 85 3 is_stmt 1 view .LVU37 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 5 86:Core/Src/usart.c **** huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; 133 .loc 1 86 38 is_stmt 0 view .LVU38 134 001e C0E90833 strd r3, r3, [r0, #32] 87:Core/Src/usart.c **** if (HAL_UART_Init(&huart3) != HAL_OK) 135 .loc 1 87 3 is_stmt 1 view .LVU39 136 .loc 1 87 7 is_stmt 0 view .LVU40 137 0022 FFF7FEFF bl HAL_UART_Init 138 .LVL2: 139 .loc 1 87 6 view .LVU41 140 0026 00B9 cbnz r0, .L11 88:Core/Src/usart.c **** { 89:Core/Src/usart.c **** Error_Handler(); 90:Core/Src/usart.c **** } 91:Core/Src/usart.c **** /* USER CODE BEGIN USART3_Init 2 */ 92:Core/Src/usart.c **** 93:Core/Src/usart.c **** /* USER CODE END USART3_Init 2 */ 94:Core/Src/usart.c **** 95:Core/Src/usart.c **** } 141 .loc 1 95 1 view .LVU42 142 0028 10BD pop {r4, pc} 143 .L11: 89:Core/Src/usart.c **** } 144 .loc 1 89 5 is_stmt 1 view .LVU43 145 .loc 1 95 1 is_stmt 0 view .LVU44 146 002a BDE81040 pop {r4, lr} 147 .LCFI3: 148 .cfi_restore 14 149 .cfi_restore 4 150 .cfi_def_cfa_offset 0 89:Core/Src/usart.c **** } 151 .loc 1 89 5 view .LVU45 152 002e FFF7FEBF b Error_Handler 153 .LVL3: 154 .L13: 155 0032 00BF .align 2 156 .L12: 157 0034 00000000 .word .LANCHOR1 158 0038 00480040 .word 1073760256 159 .cfi_endproc 160 .LFE131: 162 .section .text.HAL_UART_MspInit,"ax",%progbits 163 .align 1 164 .p2align 2,,3 165 .global HAL_UART_MspInit 166 .syntax unified 167 .thumb 168 .thumb_func 170 HAL_UART_MspInit: 171 .LVL4: 172 .LFB132: 96:Core/Src/usart.c **** 97:Core/Src/usart.c **** void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) 98:Core/Src/usart.c **** { 173 .loc 1 98 1 is_stmt 1 view -0 174 .cfi_startproc 175 @ args = 0, pretend = 0, frame = 40 176 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 6 99:Core/Src/usart.c **** 100:Core/Src/usart.c **** GPIO_InitTypeDef GPIO_InitStruct = {0}; 177 .loc 1 100 3 view .LVU47 98:Core/Src/usart.c **** 178 .loc 1 98 1 is_stmt 0 view .LVU48 179 0000 70B5 push {r4, r5, r6, lr} 180 .LCFI4: 181 .cfi_def_cfa_offset 16 182 .cfi_offset 4, -16 183 .cfi_offset 5, -12 184 .cfi_offset 6, -8 185 .cfi_offset 14, -4 101:Core/Src/usart.c **** if(uartHandle->Instance==USART2) 186 .loc 1 101 16 view .LVU49 187 0002 0368 ldr r3, [r0] 188 .loc 1 101 5 view .LVU50 189 0004 5D4A ldr r2, .L40 98:Core/Src/usart.c **** 190 .loc 1 98 1 view .LVU51 191 0006 8AB0 sub sp, sp, #40 192 .LCFI5: 193 .cfi_def_cfa_offset 56 100:Core/Src/usart.c **** if(uartHandle->Instance==USART2) 194 .loc 1 100 20 view .LVU52 195 0008 0024 movs r4, #0 196 .loc 1 101 5 view .LVU53 197 000a 9342 cmp r3, r2 100:Core/Src/usart.c **** if(uartHandle->Instance==USART2) 198 .loc 1 100 20 view .LVU54 199 000c CDE90544 strd r4, r4, [sp, #20] 200 0010 CDE90744 strd r4, r4, [sp, #28] 98:Core/Src/usart.c **** 201 .loc 1 98 1 view .LVU55 202 0014 0546 mov r5, r0 100:Core/Src/usart.c **** if(uartHandle->Instance==USART2) 203 .loc 1 100 20 view .LVU56 204 0016 0994 str r4, [sp, #36] 205 .loc 1 101 3 is_stmt 1 view .LVU57 206 .loc 1 101 5 is_stmt 0 view .LVU58 207 0018 04D0 beq .L34 102:Core/Src/usart.c **** { 103:Core/Src/usart.c **** /* USER CODE BEGIN USART2_MspInit 0 */ 104:Core/Src/usart.c **** 105:Core/Src/usart.c **** /* USER CODE END USART2_MspInit 0 */ 106:Core/Src/usart.c **** /* USART2 clock enable */ 107:Core/Src/usart.c **** __HAL_RCC_USART2_CLK_ENABLE(); 108:Core/Src/usart.c **** 109:Core/Src/usart.c **** __HAL_RCC_GPIOA_CLK_ENABLE(); 110:Core/Src/usart.c **** /**USART2 GPIO Configuration 111:Core/Src/usart.c **** PA2 ------> USART2_TX 112:Core/Src/usart.c **** PA3 ------> USART2_RX 113:Core/Src/usart.c **** */ 114:Core/Src/usart.c **** GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3; 115:Core/Src/usart.c **** GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 116:Core/Src/usart.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; 117:Core/Src/usart.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 118:Core/Src/usart.c **** GPIO_InitStruct.Alternate = GPIO_AF7_USART2; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 7 119:Core/Src/usart.c **** HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 120:Core/Src/usart.c **** 121:Core/Src/usart.c **** /* USART2 DMA Init */ 122:Core/Src/usart.c **** /* USART2_TX Init */ 123:Core/Src/usart.c **** hdma_usart2_tx.Instance = DMA1_Channel7; 124:Core/Src/usart.c **** hdma_usart2_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; 125:Core/Src/usart.c **** hdma_usart2_tx.Init.PeriphInc = DMA_PINC_DISABLE; 126:Core/Src/usart.c **** hdma_usart2_tx.Init.MemInc = DMA_MINC_ENABLE; 127:Core/Src/usart.c **** hdma_usart2_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; 128:Core/Src/usart.c **** hdma_usart2_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; 129:Core/Src/usart.c **** hdma_usart2_tx.Init.Mode = DMA_NORMAL; 130:Core/Src/usart.c **** hdma_usart2_tx.Init.Priority = DMA_PRIORITY_LOW; 131:Core/Src/usart.c **** if (HAL_DMA_Init(&hdma_usart2_tx) != HAL_OK) 132:Core/Src/usart.c **** { 133:Core/Src/usart.c **** Error_Handler(); 134:Core/Src/usart.c **** } 135:Core/Src/usart.c **** 136:Core/Src/usart.c **** __HAL_LINKDMA(uartHandle,hdmatx,hdma_usart2_tx); 137:Core/Src/usart.c **** 138:Core/Src/usart.c **** /* USART2_RX Init */ 139:Core/Src/usart.c **** hdma_usart2_rx.Instance = DMA1_Channel6; 140:Core/Src/usart.c **** hdma_usart2_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; 141:Core/Src/usart.c **** hdma_usart2_rx.Init.PeriphInc = DMA_PINC_DISABLE; 142:Core/Src/usart.c **** hdma_usart2_rx.Init.MemInc = DMA_MINC_ENABLE; 143:Core/Src/usart.c **** hdma_usart2_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; 144:Core/Src/usart.c **** hdma_usart2_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; 145:Core/Src/usart.c **** hdma_usart2_rx.Init.Mode = DMA_NORMAL; 146:Core/Src/usart.c **** hdma_usart2_rx.Init.Priority = DMA_PRIORITY_LOW; 147:Core/Src/usart.c **** if (HAL_DMA_Init(&hdma_usart2_rx) != HAL_OK) 148:Core/Src/usart.c **** { 149:Core/Src/usart.c **** Error_Handler(); 150:Core/Src/usart.c **** } 151:Core/Src/usart.c **** 152:Core/Src/usart.c **** __HAL_LINKDMA(uartHandle,hdmarx,hdma_usart2_rx); 153:Core/Src/usart.c **** 154:Core/Src/usart.c **** /* USART2 interrupt Init */ 155:Core/Src/usart.c **** HAL_NVIC_SetPriority(USART2_IRQn, 0, 0); 156:Core/Src/usart.c **** HAL_NVIC_EnableIRQ(USART2_IRQn); 157:Core/Src/usart.c **** /* USER CODE BEGIN USART2_MspInit 1 */ 158:Core/Src/usart.c **** 159:Core/Src/usart.c **** /* USER CODE END USART2_MspInit 1 */ 160:Core/Src/usart.c **** } 161:Core/Src/usart.c **** else if(uartHandle->Instance==USART3) 208 .loc 1 161 8 is_stmt 1 view .LVU59 209 .loc 1 161 10 is_stmt 0 view .LVU60 210 001a 594A ldr r2, .L40+4 211 001c 9342 cmp r3, r2 212 001e 51D0 beq .L35 162:Core/Src/usart.c **** { 163:Core/Src/usart.c **** /* USER CODE BEGIN USART3_MspInit 0 */ 164:Core/Src/usart.c **** 165:Core/Src/usart.c **** /* USER CODE END USART3_MspInit 0 */ 166:Core/Src/usart.c **** /* USART3 clock enable */ 167:Core/Src/usart.c **** __HAL_RCC_USART3_CLK_ENABLE(); 168:Core/Src/usart.c **** 169:Core/Src/usart.c **** __HAL_RCC_GPIOB_CLK_ENABLE(); 170:Core/Src/usart.c **** /**USART3 GPIO Configuration ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 8 171:Core/Src/usart.c **** PB10 ------> USART3_TX 172:Core/Src/usart.c **** PB11 ------> USART3_RX 173:Core/Src/usart.c **** */ 174:Core/Src/usart.c **** GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11; 175:Core/Src/usart.c **** GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 176:Core/Src/usart.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; 177:Core/Src/usart.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 178:Core/Src/usart.c **** GPIO_InitStruct.Alternate = GPIO_AF7_USART3; 179:Core/Src/usart.c **** HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 180:Core/Src/usart.c **** 181:Core/Src/usart.c **** /* USART3 DMA Init */ 182:Core/Src/usart.c **** /* USART3_RX Init */ 183:Core/Src/usart.c **** hdma_usart3_rx.Instance = DMA1_Channel3; 184:Core/Src/usart.c **** hdma_usart3_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; 185:Core/Src/usart.c **** hdma_usart3_rx.Init.PeriphInc = DMA_PINC_DISABLE; 186:Core/Src/usart.c **** hdma_usart3_rx.Init.MemInc = DMA_MINC_ENABLE; 187:Core/Src/usart.c **** hdma_usart3_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; 188:Core/Src/usart.c **** hdma_usart3_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; 189:Core/Src/usart.c **** hdma_usart3_rx.Init.Mode = DMA_NORMAL; 190:Core/Src/usart.c **** hdma_usart3_rx.Init.Priority = DMA_PRIORITY_LOW; 191:Core/Src/usart.c **** if (HAL_DMA_Init(&hdma_usart3_rx) != HAL_OK) 192:Core/Src/usart.c **** { 193:Core/Src/usart.c **** Error_Handler(); 194:Core/Src/usart.c **** } 195:Core/Src/usart.c **** 196:Core/Src/usart.c **** __HAL_LINKDMA(uartHandle,hdmarx,hdma_usart3_rx); 197:Core/Src/usart.c **** 198:Core/Src/usart.c **** /* USART3_TX Init */ 199:Core/Src/usart.c **** hdma_usart3_tx.Instance = DMA1_Channel2; 200:Core/Src/usart.c **** hdma_usart3_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; 201:Core/Src/usart.c **** hdma_usart3_tx.Init.PeriphInc = DMA_PINC_DISABLE; 202:Core/Src/usart.c **** hdma_usart3_tx.Init.MemInc = DMA_MINC_ENABLE; 203:Core/Src/usart.c **** hdma_usart3_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; 204:Core/Src/usart.c **** hdma_usart3_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; 205:Core/Src/usart.c **** hdma_usart3_tx.Init.Mode = DMA_NORMAL; 206:Core/Src/usart.c **** hdma_usart3_tx.Init.Priority = DMA_PRIORITY_LOW; 207:Core/Src/usart.c **** if (HAL_DMA_Init(&hdma_usart3_tx) != HAL_OK) 208:Core/Src/usart.c **** { 209:Core/Src/usart.c **** Error_Handler(); 210:Core/Src/usart.c **** } 211:Core/Src/usart.c **** 212:Core/Src/usart.c **** __HAL_LINKDMA(uartHandle,hdmatx,hdma_usart3_tx); 213:Core/Src/usart.c **** 214:Core/Src/usart.c **** /* USART3 interrupt Init */ 215:Core/Src/usart.c **** HAL_NVIC_SetPriority(USART3_IRQn, 0, 0); 216:Core/Src/usart.c **** HAL_NVIC_EnableIRQ(USART3_IRQn); 217:Core/Src/usart.c **** /* USER CODE BEGIN USART3_MspInit 1 */ 218:Core/Src/usart.c **** 219:Core/Src/usart.c **** /* USER CODE END USART3_MspInit 1 */ 220:Core/Src/usart.c **** } 221:Core/Src/usart.c **** } 213 .loc 1 221 1 view .LVU61 214 0020 0AB0 add sp, sp, #40 215 .LCFI6: 216 .cfi_remember_state 217 .cfi_def_cfa_offset 16 218 @ sp needed ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 9 219 0022 70BD pop {r4, r5, r6, pc} 220 .L34: 221 .LCFI7: 222 .cfi_restore_state 107:Core/Src/usart.c **** 223 .loc 1 107 5 is_stmt 1 view .LVU62 224 .LBB2: 107:Core/Src/usart.c **** 225 .loc 1 107 5 view .LVU63 107:Core/Src/usart.c **** 226 .loc 1 107 5 view .LVU64 227 0024 574B ldr r3, .L40+8 228 .LBE2: 123:Core/Src/usart.c **** hdma_usart2_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; 229 .loc 1 123 29 is_stmt 0 view .LVU65 230 0026 584E ldr r6, .L40+12 231 .LBB3: 107:Core/Src/usart.c **** 232 .loc 1 107 5 view .LVU66 233 0028 DA69 ldr r2, [r3, #28] 234 002a 42F40032 orr r2, r2, #131072 235 002e DA61 str r2, [r3, #28] 107:Core/Src/usart.c **** 236 .loc 1 107 5 is_stmt 1 view .LVU67 237 0030 DA69 ldr r2, [r3, #28] 238 0032 02F40032 and r2, r2, #131072 239 0036 0192 str r2, [sp, #4] 107:Core/Src/usart.c **** 240 .loc 1 107 5 view .LVU68 241 0038 019A ldr r2, [sp, #4] 242 .LBE3: 107:Core/Src/usart.c **** 243 .loc 1 107 5 view .LVU69 109:Core/Src/usart.c **** /**USART2 GPIO Configuration 244 .loc 1 109 5 view .LVU70 245 .LBB4: 109:Core/Src/usart.c **** /**USART2 GPIO Configuration 246 .loc 1 109 5 view .LVU71 109:Core/Src/usart.c **** /**USART2 GPIO Configuration 247 .loc 1 109 5 view .LVU72 248 003a 5A69 ldr r2, [r3, #20] 249 003c 42F40032 orr r2, r2, #131072 250 0040 5A61 str r2, [r3, #20] 109:Core/Src/usart.c **** /**USART2 GPIO Configuration 251 .loc 1 109 5 view .LVU73 252 0042 5B69 ldr r3, [r3, #20] 253 0044 03F40033 and r3, r3, #131072 254 0048 0293 str r3, [sp, #8] 109:Core/Src/usart.c **** /**USART2 GPIO Configuration 255 .loc 1 109 5 view .LVU74 256 .LBE4: 114:Core/Src/usart.c **** GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 257 .loc 1 114 25 is_stmt 0 view .LVU75 258 004a 0C23 movs r3, #12 259 004c 0593 str r3, [sp, #20] 260 .LBB5: 109:Core/Src/usart.c **** /**USART2 GPIO Configuration ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 10 261 .loc 1 109 5 view .LVU76 262 004e 029B ldr r3, [sp, #8] 263 .LBE5: 109:Core/Src/usart.c **** /**USART2 GPIO Configuration 264 .loc 1 109 5 is_stmt 1 view .LVU77 114:Core/Src/usart.c **** GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 265 .loc 1 114 5 view .LVU78 115:Core/Src/usart.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; 266 .loc 1 115 5 view .LVU79 115:Core/Src/usart.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; 267 .loc 1 115 26 is_stmt 0 view .LVU80 268 0050 0223 movs r3, #2 118:Core/Src/usart.c **** HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 269 .loc 1 118 31 view .LVU81 270 0052 0322 movs r2, #3 119:Core/Src/usart.c **** 271 .loc 1 119 5 view .LVU82 272 0054 4FF09040 mov r0, #1207959552 273 .LVL5: 115:Core/Src/usart.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; 274 .loc 1 115 26 view .LVU83 275 0058 0693 str r3, [sp, #24] 116:Core/Src/usart.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 276 .loc 1 116 5 is_stmt 1 view .LVU84 117:Core/Src/usart.c **** GPIO_InitStruct.Alternate = GPIO_AF7_USART2; 277 .loc 1 117 5 view .LVU85 119:Core/Src/usart.c **** 278 .loc 1 119 5 is_stmt 0 view .LVU86 279 005a 05A9 add r1, sp, #20 118:Core/Src/usart.c **** HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 280 .loc 1 118 31 view .LVU87 281 005c 0723 movs r3, #7 282 005e CDE90823 strd r2, r3, [sp, #32] 119:Core/Src/usart.c **** 283 .loc 1 119 5 is_stmt 1 view .LVU88 284 0062 FFF7FEFF bl HAL_GPIO_Init 285 .LVL6: 123:Core/Src/usart.c **** hdma_usart2_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; 286 .loc 1 123 5 view .LVU89 124:Core/Src/usart.c **** hdma_usart2_tx.Init.PeriphInc = DMA_PINC_DISABLE; 287 .loc 1 124 35 is_stmt 0 view .LVU90 288 0066 494A ldr r2, .L40+16 289 0068 1023 movs r3, #16 290 006a C6E90023 strd r2, r3, [r6] 125:Core/Src/usart.c **** hdma_usart2_tx.Init.MemInc = DMA_MINC_ENABLE; 291 .loc 1 125 5 is_stmt 1 view .LVU91 131:Core/Src/usart.c **** { 292 .loc 1 131 9 is_stmt 0 view .LVU92 293 006e 3046 mov r0, r6 126:Core/Src/usart.c **** hdma_usart2_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; 294 .loc 1 126 32 view .LVU93 295 0070 8023 movs r3, #128 296 0072 C6E90243 strd r4, r3, [r6, #8] 127:Core/Src/usart.c **** hdma_usart2_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; 297 .loc 1 127 5 is_stmt 1 view .LVU94 128:Core/Src/usart.c **** hdma_usart2_tx.Init.Mode = DMA_NORMAL; 298 .loc 1 128 42 is_stmt 0 view .LVU95 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 11 299 0076 C6E90444 strd r4, r4, [r6, #16] 129:Core/Src/usart.c **** hdma_usart2_tx.Init.Priority = DMA_PRIORITY_LOW; 300 .loc 1 129 5 is_stmt 1 view .LVU96 130:Core/Src/usart.c **** if (HAL_DMA_Init(&hdma_usart2_tx) != HAL_OK) 301 .loc 1 130 34 is_stmt 0 view .LVU97 302 007a C6E90644 strd r4, r4, [r6, #24] 131:Core/Src/usart.c **** { 303 .loc 1 131 5 is_stmt 1 view .LVU98 131:Core/Src/usart.c **** { 304 .loc 1 131 9 is_stmt 0 view .LVU99 305 007e FFF7FEFF bl HAL_DMA_Init 306 .LVL7: 131:Core/Src/usart.c **** { 307 .loc 1 131 8 view .LVU100 308 0082 0028 cmp r0, #0 309 0084 70D1 bne .L36 310 .L16: 136:Core/Src/usart.c **** 311 .loc 1 136 5 is_stmt 1 view .LVU101 136:Core/Src/usart.c **** 312 .loc 1 136 5 view .LVU102 139:Core/Src/usart.c **** hdma_usart2_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; 313 .loc 1 139 29 is_stmt 0 view .LVU103 314 0086 424C ldr r4, .L40+20 315 0088 4249 ldr r1, .L40+24 136:Core/Src/usart.c **** 316 .loc 1 136 5 view .LVU104 317 008a 2E67 str r6, [r5, #112] 136:Core/Src/usart.c **** 318 .loc 1 136 5 is_stmt 1 view .LVU105 140:Core/Src/usart.c **** hdma_usart2_rx.Init.PeriphInc = DMA_PINC_DISABLE; 319 .loc 1 140 35 is_stmt 0 view .LVU106 320 008c 0023 movs r3, #0 142:Core/Src/usart.c **** hdma_usart2_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; 321 .loc 1 142 32 view .LVU107 322 008e 8022 movs r2, #128 147:Core/Src/usart.c **** { 323 .loc 1 147 9 view .LVU108 324 0090 2046 mov r0, r4 140:Core/Src/usart.c **** hdma_usart2_rx.Init.PeriphInc = DMA_PINC_DISABLE; 325 .loc 1 140 35 view .LVU109 326 0092 C4E90013 strd r1, r3, [r4] 142:Core/Src/usart.c **** hdma_usart2_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; 327 .loc 1 142 32 view .LVU110 328 0096 C4E90232 strd r3, r2, [r4, #8] 144:Core/Src/usart.c **** hdma_usart2_rx.Init.Mode = DMA_NORMAL; 329 .loc 1 144 42 view .LVU111 330 009a C4E90433 strd r3, r3, [r4, #16] 146:Core/Src/usart.c **** if (HAL_DMA_Init(&hdma_usart2_rx) != HAL_OK) 331 .loc 1 146 34 view .LVU112 332 009e C4E90633 strd r3, r3, [r4, #24] 136:Core/Src/usart.c **** 333 .loc 1 136 5 view .LVU113 334 00a2 7562 str r5, [r6, #36] 136:Core/Src/usart.c **** 335 .loc 1 136 5 is_stmt 1 view .LVU114 139:Core/Src/usart.c **** hdma_usart2_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 12 336 .loc 1 139 5 view .LVU115 141:Core/Src/usart.c **** hdma_usart2_rx.Init.MemInc = DMA_MINC_ENABLE; 337 .loc 1 141 5 view .LVU116 143:Core/Src/usart.c **** hdma_usart2_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; 338 .loc 1 143 5 view .LVU117 145:Core/Src/usart.c **** hdma_usart2_rx.Init.Priority = DMA_PRIORITY_LOW; 339 .loc 1 145 5 view .LVU118 147:Core/Src/usart.c **** { 340 .loc 1 147 5 view .LVU119 147:Core/Src/usart.c **** { 341 .loc 1 147 9 is_stmt 0 view .LVU120 342 00a4 FFF7FEFF bl HAL_DMA_Init 343 .LVL8: 147:Core/Src/usart.c **** { 344 .loc 1 147 8 view .LVU121 345 00a8 0028 cmp r0, #0 346 00aa 5AD1 bne .L37 347 .L17: 152:Core/Src/usart.c **** 348 .loc 1 152 5 is_stmt 1 view .LVU122 152:Core/Src/usart.c **** 349 .loc 1 152 5 view .LVU123 155:Core/Src/usart.c **** HAL_NVIC_EnableIRQ(USART2_IRQn); 350 .loc 1 155 5 is_stmt 0 view .LVU124 351 00ac 0022 movs r2, #0 352 00ae 1146 mov r1, r2 152:Core/Src/usart.c **** 353 .loc 1 152 5 view .LVU125 354 00b0 6C67 str r4, [r5, #116] 152:Core/Src/usart.c **** 355 .loc 1 152 5 is_stmt 1 view .LVU126 155:Core/Src/usart.c **** HAL_NVIC_EnableIRQ(USART2_IRQn); 356 .loc 1 155 5 is_stmt 0 view .LVU127 357 00b2 2620 movs r0, #38 152:Core/Src/usart.c **** 358 .loc 1 152 5 view .LVU128 359 00b4 6562 str r5, [r4, #36] 152:Core/Src/usart.c **** 360 .loc 1 152 5 is_stmt 1 view .LVU129 155:Core/Src/usart.c **** HAL_NVIC_EnableIRQ(USART2_IRQn); 361 .loc 1 155 5 view .LVU130 362 00b6 FFF7FEFF bl HAL_NVIC_SetPriority 363 .LVL9: 156:Core/Src/usart.c **** /* USER CODE BEGIN USART2_MspInit 1 */ 364 .loc 1 156 5 view .LVU131 365 00ba 2620 movs r0, #38 366 00bc FFF7FEFF bl HAL_NVIC_EnableIRQ 367 .LVL10: 368 .loc 1 221 1 is_stmt 0 view .LVU132 369 00c0 0AB0 add sp, sp, #40 370 .LCFI8: 371 .cfi_remember_state 372 .cfi_def_cfa_offset 16 373 @ sp needed 374 00c2 70BD pop {r4, r5, r6, pc} 375 .LVL11: 376 .L35: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 13 377 .LCFI9: 378 .cfi_restore_state 167:Core/Src/usart.c **** 379 .loc 1 167 5 is_stmt 1 view .LVU133 380 .LBB6: 167:Core/Src/usart.c **** 381 .loc 1 167 5 view .LVU134 167:Core/Src/usart.c **** 382 .loc 1 167 5 view .LVU135 383 00c4 2F4B ldr r3, .L40+8 384 .LBE6: 183:Core/Src/usart.c **** hdma_usart3_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; 385 .loc 1 183 29 is_stmt 0 view .LVU136 386 00c6 344E ldr r6, .L40+28 387 .LBB7: 167:Core/Src/usart.c **** 388 .loc 1 167 5 view .LVU137 389 00c8 DA69 ldr r2, [r3, #28] 390 .LBE7: 179:Core/Src/usart.c **** 391 .loc 1 179 5 view .LVU138 392 00ca 3448 ldr r0, .L40+32 393 .LVL12: 394 .LBB8: 167:Core/Src/usart.c **** 395 .loc 1 167 5 view .LVU139 396 00cc 42F48022 orr r2, r2, #262144 397 00d0 DA61 str r2, [r3, #28] 167:Core/Src/usart.c **** 398 .loc 1 167 5 is_stmt 1 view .LVU140 399 00d2 DA69 ldr r2, [r3, #28] 400 00d4 02F48022 and r2, r2, #262144 401 00d8 0392 str r2, [sp, #12] 167:Core/Src/usart.c **** 402 .loc 1 167 5 view .LVU141 403 00da 039A ldr r2, [sp, #12] 404 .LBE8: 167:Core/Src/usart.c **** 405 .loc 1 167 5 view .LVU142 169:Core/Src/usart.c **** /**USART3 GPIO Configuration 406 .loc 1 169 5 view .LVU143 407 .LBB9: 169:Core/Src/usart.c **** /**USART3 GPIO Configuration 408 .loc 1 169 5 view .LVU144 169:Core/Src/usart.c **** /**USART3 GPIO Configuration 409 .loc 1 169 5 view .LVU145 410 00dc 5A69 ldr r2, [r3, #20] 411 00de 42F48022 orr r2, r2, #262144 412 00e2 5A61 str r2, [r3, #20] 169:Core/Src/usart.c **** /**USART3 GPIO Configuration 413 .loc 1 169 5 view .LVU146 414 00e4 5B69 ldr r3, [r3, #20] 415 00e6 03F48023 and r3, r3, #262144 416 00ea 0493 str r3, [sp, #16] 169:Core/Src/usart.c **** /**USART3 GPIO Configuration 417 .loc 1 169 5 view .LVU147 418 .LBE9: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 14 174:Core/Src/usart.c **** GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 419 .loc 1 174 25 is_stmt 0 view .LVU148 420 00ec 4FF44063 mov r3, #3072 421 00f0 0593 str r3, [sp, #20] 422 .LBB10: 169:Core/Src/usart.c **** /**USART3 GPIO Configuration 423 .loc 1 169 5 view .LVU149 424 00f2 049B ldr r3, [sp, #16] 425 .LBE10: 169:Core/Src/usart.c **** /**USART3 GPIO Configuration 426 .loc 1 169 5 is_stmt 1 view .LVU150 174:Core/Src/usart.c **** GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 427 .loc 1 174 5 view .LVU151 175:Core/Src/usart.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; 428 .loc 1 175 5 view .LVU152 175:Core/Src/usart.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; 429 .loc 1 175 26 is_stmt 0 view .LVU153 430 00f4 0223 movs r3, #2 431 00f6 0693 str r3, [sp, #24] 176:Core/Src/usart.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 432 .loc 1 176 5 is_stmt 1 view .LVU154 177:Core/Src/usart.c **** GPIO_InitStruct.Alternate = GPIO_AF7_USART3; 433 .loc 1 177 5 view .LVU155 178:Core/Src/usart.c **** HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 434 .loc 1 178 31 is_stmt 0 view .LVU156 435 00f8 4FF0030C mov ip, #3 436 00fc 0723 movs r3, #7 179:Core/Src/usart.c **** 437 .loc 1 179 5 view .LVU157 438 00fe 05A9 add r1, sp, #20 178:Core/Src/usart.c **** HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 439 .loc 1 178 31 view .LVU158 440 0100 CDE908C3 strd ip, r3, [sp, #32] 179:Core/Src/usart.c **** 441 .loc 1 179 5 is_stmt 1 view .LVU159 442 0104 FFF7FEFF bl HAL_GPIO_Init 443 .LVL13: 183:Core/Src/usart.c **** hdma_usart3_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; 444 .loc 1 183 5 view .LVU160 183:Core/Src/usart.c **** hdma_usart3_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; 445 .loc 1 183 29 is_stmt 0 view .LVU161 446 0108 254A ldr r2, .L40+36 186:Core/Src/usart.c **** hdma_usart3_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; 447 .loc 1 186 32 view .LVU162 448 010a 8023 movs r3, #128 191:Core/Src/usart.c **** { 449 .loc 1 191 9 view .LVU163 450 010c 3046 mov r0, r6 184:Core/Src/usart.c **** hdma_usart3_rx.Init.PeriphInc = DMA_PINC_DISABLE; 451 .loc 1 184 35 view .LVU164 452 010e C6E90024 strd r2, r4, [r6] 185:Core/Src/usart.c **** hdma_usart3_rx.Init.MemInc = DMA_MINC_ENABLE; 453 .loc 1 185 5 is_stmt 1 view .LVU165 186:Core/Src/usart.c **** hdma_usart3_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; 454 .loc 1 186 32 is_stmt 0 view .LVU166 455 0112 C6E90243 strd r4, r3, [r6, #8] 187:Core/Src/usart.c **** hdma_usart3_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 15 456 .loc 1 187 5 is_stmt 1 view .LVU167 188:Core/Src/usart.c **** hdma_usart3_rx.Init.Mode = DMA_NORMAL; 457 .loc 1 188 42 is_stmt 0 view .LVU168 458 0116 C6E90444 strd r4, r4, [r6, #16] 189:Core/Src/usart.c **** hdma_usart3_rx.Init.Priority = DMA_PRIORITY_LOW; 459 .loc 1 189 5 is_stmt 1 view .LVU169 190:Core/Src/usart.c **** if (HAL_DMA_Init(&hdma_usart3_rx) != HAL_OK) 460 .loc 1 190 34 is_stmt 0 view .LVU170 461 011a C6E90644 strd r4, r4, [r6, #24] 191:Core/Src/usart.c **** { 462 .loc 1 191 5 is_stmt 1 view .LVU171 191:Core/Src/usart.c **** { 463 .loc 1 191 9 is_stmt 0 view .LVU172 464 011e FFF7FEFF bl HAL_DMA_Init 465 .LVL14: 191:Core/Src/usart.c **** { 466 .loc 1 191 8 view .LVU173 467 0122 20BB cbnz r0, .L38 468 .L19: 196:Core/Src/usart.c **** 469 .loc 1 196 5 is_stmt 1 view .LVU174 196:Core/Src/usart.c **** 470 .loc 1 196 5 view .LVU175 199:Core/Src/usart.c **** hdma_usart3_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; 471 .loc 1 199 29 is_stmt 0 view .LVU176 472 0124 1F4C ldr r4, .L40+40 473 0126 2049 ldr r1, .L40+44 196:Core/Src/usart.c **** 474 .loc 1 196 5 view .LVU177 475 0128 6E67 str r6, [r5, #116] 196:Core/Src/usart.c **** 476 .loc 1 196 5 is_stmt 1 view .LVU178 200:Core/Src/usart.c **** hdma_usart3_tx.Init.PeriphInc = DMA_PINC_DISABLE; 477 .loc 1 200 35 is_stmt 0 view .LVU179 478 012a 1022 movs r2, #16 201:Core/Src/usart.c **** hdma_usart3_tx.Init.MemInc = DMA_MINC_ENABLE; 479 .loc 1 201 35 view .LVU180 480 012c 0023 movs r3, #0 200:Core/Src/usart.c **** hdma_usart3_tx.Init.PeriphInc = DMA_PINC_DISABLE; 481 .loc 1 200 35 view .LVU181 482 012e C4E90012 strd r1, r2, [r4] 207:Core/Src/usart.c **** { 483 .loc 1 207 9 view .LVU182 484 0132 2046 mov r0, r4 202:Core/Src/usart.c **** hdma_usart3_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; 485 .loc 1 202 32 view .LVU183 486 0134 8022 movs r2, #128 487 0136 C4E90232 strd r3, r2, [r4, #8] 204:Core/Src/usart.c **** hdma_usart3_tx.Init.Mode = DMA_NORMAL; 488 .loc 1 204 42 view .LVU184 489 013a C4E90433 strd r3, r3, [r4, #16] 206:Core/Src/usart.c **** if (HAL_DMA_Init(&hdma_usart3_tx) != HAL_OK) 490 .loc 1 206 34 view .LVU185 491 013e C4E90633 strd r3, r3, [r4, #24] 196:Core/Src/usart.c **** 492 .loc 1 196 5 view .LVU186 493 0142 7562 str r5, [r6, #36] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 16 196:Core/Src/usart.c **** 494 .loc 1 196 5 is_stmt 1 view .LVU187 199:Core/Src/usart.c **** hdma_usart3_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; 495 .loc 1 199 5 view .LVU188 201:Core/Src/usart.c **** hdma_usart3_tx.Init.MemInc = DMA_MINC_ENABLE; 496 .loc 1 201 5 view .LVU189 203:Core/Src/usart.c **** hdma_usart3_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; 497 .loc 1 203 5 view .LVU190 205:Core/Src/usart.c **** hdma_usart3_tx.Init.Priority = DMA_PRIORITY_LOW; 498 .loc 1 205 5 view .LVU191 207:Core/Src/usart.c **** { 499 .loc 1 207 5 view .LVU192 207:Core/Src/usart.c **** { 500 .loc 1 207 9 is_stmt 0 view .LVU193 501 0144 FFF7FEFF bl HAL_DMA_Init 502 .LVL15: 207:Core/Src/usart.c **** { 503 .loc 1 207 8 view .LVU194 504 0148 A0B9 cbnz r0, .L39 505 .L20: 212:Core/Src/usart.c **** 506 .loc 1 212 5 is_stmt 1 view .LVU195 212:Core/Src/usart.c **** 507 .loc 1 212 5 view .LVU196 215:Core/Src/usart.c **** HAL_NVIC_EnableIRQ(USART3_IRQn); 508 .loc 1 215 5 is_stmt 0 view .LVU197 509 014a 0022 movs r2, #0 510 014c 1146 mov r1, r2 511 014e 2720 movs r0, #39 212:Core/Src/usart.c **** 512 .loc 1 212 5 view .LVU198 513 0150 2C67 str r4, [r5, #112] 212:Core/Src/usart.c **** 514 .loc 1 212 5 is_stmt 1 view .LVU199 515 0152 6562 str r5, [r4, #36] 212:Core/Src/usart.c **** 516 .loc 1 212 5 view .LVU200 215:Core/Src/usart.c **** HAL_NVIC_EnableIRQ(USART3_IRQn); 517 .loc 1 215 5 view .LVU201 518 0154 FFF7FEFF bl HAL_NVIC_SetPriority 519 .LVL16: 216:Core/Src/usart.c **** /* USER CODE BEGIN USART3_MspInit 1 */ 520 .loc 1 216 5 view .LVU202 521 0158 2720 movs r0, #39 522 015a FFF7FEFF bl HAL_NVIC_EnableIRQ 523 .LVL17: 524 .loc 1 221 1 is_stmt 0 view .LVU203 525 015e 0AB0 add sp, sp, #40 526 .LCFI10: 527 .cfi_remember_state 528 .cfi_def_cfa_offset 16 529 @ sp needed 530 0160 70BD pop {r4, r5, r6, pc} 531 .LVL18: 532 .L37: 533 .LCFI11: 534 .cfi_restore_state ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 17 149:Core/Src/usart.c **** } 535 .loc 1 149 7 is_stmt 1 view .LVU204 536 0162 FFF7FEFF bl Error_Handler 537 .LVL19: 538 0166 A1E7 b .L17 539 .L36: 133:Core/Src/usart.c **** } 540 .loc 1 133 7 view .LVU205 541 0168 FFF7FEFF bl Error_Handler 542 .LVL20: 543 016c 8BE7 b .L16 544 .L38: 193:Core/Src/usart.c **** } 545 .loc 1 193 7 view .LVU206 546 016e FFF7FEFF bl Error_Handler 547 .LVL21: 548 0172 D7E7 b .L19 549 .L39: 209:Core/Src/usart.c **** } 550 .loc 1 209 7 view .LVU207 551 0174 FFF7FEFF bl Error_Handler 552 .LVL22: 553 0178 E7E7 b .L20 554 .L41: 555 017a 00BF .align 2 556 .L40: 557 017c 00440040 .word 1073759232 558 0180 00480040 .word 1073760256 559 0184 00100240 .word 1073876992 560 0188 00000000 .word .LANCHOR2 561 018c 80000240 .word 1073873024 562 0190 00000000 .word .LANCHOR3 563 0194 6C000240 .word 1073873004 564 0198 00000000 .word .LANCHOR4 565 019c 00040048 .word 1207960576 566 01a0 30000240 .word 1073872944 567 01a4 00000000 .word .LANCHOR5 568 01a8 1C000240 .word 1073872924 569 .cfi_endproc 570 .LFE132: 572 .section .text.HAL_UART_MspDeInit,"ax",%progbits 573 .align 1 574 .p2align 2,,3 575 .global HAL_UART_MspDeInit 576 .syntax unified 577 .thumb 578 .thumb_func 580 HAL_UART_MspDeInit: 581 .LVL23: 582 .LFB133: 222:Core/Src/usart.c **** 223:Core/Src/usart.c **** void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle) 224:Core/Src/usart.c **** { 583 .loc 1 224 1 view -0 584 .cfi_startproc 585 @ args = 0, pretend = 0, frame = 0 586 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 18 225:Core/Src/usart.c **** 226:Core/Src/usart.c **** if(uartHandle->Instance==USART2) 587 .loc 1 226 3 view .LVU209 588 .loc 1 226 5 is_stmt 0 view .LVU210 589 0000 1A4A ldr r2, .L48 590 .loc 1 226 16 view .LVU211 591 0002 0368 ldr r3, [r0] 592 .loc 1 226 5 view .LVU212 593 0004 9342 cmp r3, r2 224:Core/Src/usart.c **** 594 .loc 1 224 1 view .LVU213 595 0006 10B5 push {r4, lr} 596 .LCFI12: 597 .cfi_def_cfa_offset 8 598 .cfi_offset 4, -8 599 .cfi_offset 14, -4 224:Core/Src/usart.c **** 600 .loc 1 224 1 view .LVU214 601 0008 0446 mov r4, r0 602 .loc 1 226 5 view .LVU215 603 000a 03D0 beq .L46 227:Core/Src/usart.c **** { 228:Core/Src/usart.c **** /* USER CODE BEGIN USART2_MspDeInit 0 */ 229:Core/Src/usart.c **** 230:Core/Src/usart.c **** /* USER CODE END USART2_MspDeInit 0 */ 231:Core/Src/usart.c **** /* Peripheral clock disable */ 232:Core/Src/usart.c **** __HAL_RCC_USART2_CLK_DISABLE(); 233:Core/Src/usart.c **** 234:Core/Src/usart.c **** /**USART2 GPIO Configuration 235:Core/Src/usart.c **** PA2 ------> USART2_TX 236:Core/Src/usart.c **** PA3 ------> USART2_RX 237:Core/Src/usart.c **** */ 238:Core/Src/usart.c **** HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3); 239:Core/Src/usart.c **** 240:Core/Src/usart.c **** /* USART2 DMA DeInit */ 241:Core/Src/usart.c **** HAL_DMA_DeInit(uartHandle->hdmatx); 242:Core/Src/usart.c **** HAL_DMA_DeInit(uartHandle->hdmarx); 243:Core/Src/usart.c **** 244:Core/Src/usart.c **** /* USART2 interrupt Deinit */ 245:Core/Src/usart.c **** HAL_NVIC_DisableIRQ(USART2_IRQn); 246:Core/Src/usart.c **** /* USER CODE BEGIN USART2_MspDeInit 1 */ 247:Core/Src/usart.c **** 248:Core/Src/usart.c **** /* USER CODE END USART2_MspDeInit 1 */ 249:Core/Src/usart.c **** } 250:Core/Src/usart.c **** else if(uartHandle->Instance==USART3) 604 .loc 1 250 8 is_stmt 1 view .LVU216 605 .loc 1 250 10 is_stmt 0 view .LVU217 606 000c 184A ldr r2, .L48+4 607 000e 9342 cmp r3, r2 608 0010 16D0 beq .L47 251:Core/Src/usart.c **** { 252:Core/Src/usart.c **** /* USER CODE BEGIN USART3_MspDeInit 0 */ 253:Core/Src/usart.c **** 254:Core/Src/usart.c **** /* USER CODE END USART3_MspDeInit 0 */ 255:Core/Src/usart.c **** /* Peripheral clock disable */ 256:Core/Src/usart.c **** __HAL_RCC_USART3_CLK_DISABLE(); 257:Core/Src/usart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 19 258:Core/Src/usart.c **** /**USART3 GPIO Configuration 259:Core/Src/usart.c **** PB10 ------> USART3_TX 260:Core/Src/usart.c **** PB11 ------> USART3_RX 261:Core/Src/usart.c **** */ 262:Core/Src/usart.c **** HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11); 263:Core/Src/usart.c **** 264:Core/Src/usart.c **** /* USART3 DMA DeInit */ 265:Core/Src/usart.c **** HAL_DMA_DeInit(uartHandle->hdmarx); 266:Core/Src/usart.c **** HAL_DMA_DeInit(uartHandle->hdmatx); 267:Core/Src/usart.c **** 268:Core/Src/usart.c **** /* USART3 interrupt Deinit */ 269:Core/Src/usart.c **** HAL_NVIC_DisableIRQ(USART3_IRQn); 270:Core/Src/usart.c **** /* USER CODE BEGIN USART3_MspDeInit 1 */ 271:Core/Src/usart.c **** 272:Core/Src/usart.c **** /* USER CODE END USART3_MspDeInit 1 */ 273:Core/Src/usart.c **** } 274:Core/Src/usart.c **** } 609 .loc 1 274 1 view .LVU218 610 0012 10BD pop {r4, pc} 611 .L46: 232:Core/Src/usart.c **** 612 .loc 1 232 5 is_stmt 1 view .LVU219 613 0014 02F5E632 add r2, r2, #117760 238:Core/Src/usart.c **** 614 .loc 1 238 5 is_stmt 0 view .LVU220 615 0018 0C21 movs r1, #12 232:Core/Src/usart.c **** 616 .loc 1 232 5 view .LVU221 617 001a D369 ldr r3, [r2, #28] 618 001c 23F40033 bic r3, r3, #131072 619 0020 D361 str r3, [r2, #28] 238:Core/Src/usart.c **** 620 .loc 1 238 5 is_stmt 1 view .LVU222 621 0022 4FF09040 mov r0, #1207959552 622 .LVL24: 238:Core/Src/usart.c **** 623 .loc 1 238 5 is_stmt 0 view .LVU223 624 0026 FFF7FEFF bl HAL_GPIO_DeInit 625 .LVL25: 241:Core/Src/usart.c **** HAL_DMA_DeInit(uartHandle->hdmarx); 626 .loc 1 241 5 is_stmt 1 view .LVU224 627 002a 206F ldr r0, [r4, #112] 628 002c FFF7FEFF bl HAL_DMA_DeInit 629 .LVL26: 242:Core/Src/usart.c **** 630 .loc 1 242 5 view .LVU225 631 0030 606F ldr r0, [r4, #116] 632 0032 FFF7FEFF bl HAL_DMA_DeInit 633 .LVL27: 245:Core/Src/usart.c **** /* USER CODE BEGIN USART2_MspDeInit 1 */ 634 .loc 1 245 5 view .LVU226 635 .loc 1 274 1 is_stmt 0 view .LVU227 636 0036 BDE81040 pop {r4, lr} 637 .LCFI13: 638 .cfi_remember_state 639 .cfi_restore 14 640 .cfi_restore 4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 20 641 .cfi_def_cfa_offset 0 642 .LVL28: 245:Core/Src/usart.c **** /* USER CODE BEGIN USART2_MspDeInit 1 */ 643 .loc 1 245 5 view .LVU228 644 003a 2620 movs r0, #38 645 003c FFF7FEBF b HAL_NVIC_DisableIRQ 646 .LVL29: 647 .L47: 648 .LCFI14: 649 .cfi_restore_state 256:Core/Src/usart.c **** 650 .loc 1 256 5 is_stmt 1 view .LVU229 651 0040 02F5E432 add r2, r2, #116736 262:Core/Src/usart.c **** 652 .loc 1 262 5 is_stmt 0 view .LVU230 653 0044 4FF44061 mov r1, #3072 256:Core/Src/usart.c **** 654 .loc 1 256 5 view .LVU231 655 0048 D369 ldr r3, [r2, #28] 262:Core/Src/usart.c **** 656 .loc 1 262 5 view .LVU232 657 004a 0A48 ldr r0, .L48+8 658 .LVL30: 256:Core/Src/usart.c **** 659 .loc 1 256 5 view .LVU233 660 004c 23F48023 bic r3, r3, #262144 661 0050 D361 str r3, [r2, #28] 262:Core/Src/usart.c **** 662 .loc 1 262 5 is_stmt 1 view .LVU234 663 0052 FFF7FEFF bl HAL_GPIO_DeInit 664 .LVL31: 265:Core/Src/usart.c **** HAL_DMA_DeInit(uartHandle->hdmatx); 665 .loc 1 265 5 view .LVU235 666 0056 606F ldr r0, [r4, #116] 667 0058 FFF7FEFF bl HAL_DMA_DeInit 668 .LVL32: 266:Core/Src/usart.c **** 669 .loc 1 266 5 view .LVU236 670 005c 206F ldr r0, [r4, #112] 671 005e FFF7FEFF bl HAL_DMA_DeInit 672 .LVL33: 269:Core/Src/usart.c **** /* USER CODE BEGIN USART3_MspDeInit 1 */ 673 .loc 1 269 5 view .LVU237 674 .loc 1 274 1 is_stmt 0 view .LVU238 675 0062 BDE81040 pop {r4, lr} 676 .LCFI15: 677 .cfi_restore 14 678 .cfi_restore 4 679 .cfi_def_cfa_offset 0 680 .LVL34: 269:Core/Src/usart.c **** /* USER CODE BEGIN USART3_MspDeInit 1 */ 681 .loc 1 269 5 view .LVU239 682 0066 2720 movs r0, #39 683 0068 FFF7FEBF b HAL_NVIC_DisableIRQ 684 .LVL35: 685 .L49: 686 .align 2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 21 687 .L48: 688 006c 00440040 .word 1073759232 689 0070 00480040 .word 1073760256 690 0074 00040048 .word 1207960576 691 .cfi_endproc 692 .LFE133: 694 .global hdma_usart3_tx 695 .global hdma_usart3_rx 696 .global hdma_usart2_rx 697 .global hdma_usart2_tx 698 .global huart3 699 .global huart2 700 .section .bss.hdma_usart2_rx,"aw",%nobits 701 .align 2 702 .set .LANCHOR3,. + 0 705 hdma_usart2_rx: 706 0000 00000000 .space 68 706 00000000 706 00000000 706 00000000 706 00000000 707 .section .bss.hdma_usart2_tx,"aw",%nobits 708 .align 2 709 .set .LANCHOR2,. + 0 712 hdma_usart2_tx: 713 0000 00000000 .space 68 713 00000000 713 00000000 713 00000000 713 00000000 714 .section .bss.hdma_usart3_rx,"aw",%nobits 715 .align 2 716 .set .LANCHOR4,. + 0 719 hdma_usart3_rx: 720 0000 00000000 .space 68 720 00000000 720 00000000 720 00000000 720 00000000 721 .section .bss.hdma_usart3_tx,"aw",%nobits 722 .align 2 723 .set .LANCHOR5,. + 0 726 hdma_usart3_tx: 727 0000 00000000 .space 68 727 00000000 727 00000000 727 00000000 727 00000000 728 .section .bss.huart2,"aw",%nobits 729 .align 2 730 .set .LANCHOR0,. + 0 733 huart2: 734 0000 00000000 .space 136 734 00000000 734 00000000 734 00000000 734 00000000 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 22 735 .section .bss.huart3,"aw",%nobits 736 .align 2 737 .set .LANCHOR1,. + 0 740 huart3: 741 0000 00000000 .space 136 741 00000000 741 00000000 741 00000000 741 00000000 742 .text 743 .Letext0: 744 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h" 745 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h" 746 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h" 747 .file 5 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h" 748 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_gpio.h" 749 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h" 750 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_uart.h" 751 .file 9 "Core/Inc/usart.h" 752 .file 10 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_cortex.h" 753 .file 11 "Core/Inc/main.h" ARM GAS C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s page 23 DEFINED SYMBOLS *ABS*:00000000 usart.c C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:20 .text.MX_USART2_UART_Init:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:27 .text.MX_USART2_UART_Init:00000000 MX_USART2_UART_Init C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:86 .text.MX_USART2_UART_Init:00000034 $d C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:92 .text.MX_USART3_UART_Init:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:99 .text.MX_USART3_UART_Init:00000000 MX_USART3_UART_Init C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:157 .text.MX_USART3_UART_Init:00000034 $d C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:163 .text.HAL_UART_MspInit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:170 .text.HAL_UART_MspInit:00000000 HAL_UART_MspInit C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:557 .text.HAL_UART_MspInit:0000017c $d C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:573 .text.HAL_UART_MspDeInit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:580 .text.HAL_UART_MspDeInit:00000000 HAL_UART_MspDeInit C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:688 .text.HAL_UART_MspDeInit:0000006c $d C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:726 .bss.hdma_usart3_tx:00000000 hdma_usart3_tx C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:719 .bss.hdma_usart3_rx:00000000 hdma_usart3_rx C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:705 .bss.hdma_usart2_rx:00000000 hdma_usart2_rx C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:712 .bss.hdma_usart2_tx:00000000 hdma_usart2_tx C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:740 .bss.huart3:00000000 huart3 C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:733 .bss.huart2:00000000 huart2 C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:701 .bss.hdma_usart2_rx:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:708 .bss.hdma_usart2_tx:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:715 .bss.hdma_usart3_rx:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:722 .bss.hdma_usart3_tx:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:729 .bss.huart2:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccu8VJwe.s:736 .bss.huart3:00000000 $d UNDEFINED SYMBOLS HAL_UART_Init Error_Handler HAL_GPIO_Init HAL_DMA_Init HAL_NVIC_SetPriority HAL_NVIC_EnableIRQ HAL_GPIO_DeInit HAL_DMA_DeInit HAL_NVIC_DisableIRQ