ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.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, 6 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "bsp_serial.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .section .text.bspSerialWrite,"ax",%progbits 20 .align 1 21 .global bspSerialWrite 22 .syntax unified 23 .thumb 24 .thumb_func 26 bspSerialWrite: 27 .LFB130: 28 .file 1 "user_src/bsp_serial.c" 1:user_src/bsp_serial.c **** #include "bsp_serial.h" 2:user_src/bsp_serial.c **** 3:user_src/bsp_serial.c **** 4:user_src/bsp_serial.c **** #ifdef BSP_USING_UART1 5:user_src/bsp_serial.c **** Serial serial1; 6:user_src/bsp_serial.c **** void USART1_IRQHandler( void ) 7:user_src/bsp_serial.c **** { 8:user_src/bsp_serial.c **** _uartIsr( &serial1 ); 9:user_src/bsp_serial.c **** } 10:user_src/bsp_serial.c **** #endif 11:user_src/bsp_serial.c **** #ifdef BSP_USING_UART2 12:user_src/bsp_serial.c **** Serial serial2; 13:user_src/bsp_serial.c **** //void USART2_IRQHandler(void) 14:user_src/bsp_serial.c **** //{ 15:user_src/bsp_serial.c **** // _uartIsr(&serial2); 16:user_src/bsp_serial.c **** // } 17:user_src/bsp_serial.c **** 18:user_src/bsp_serial.c **** #endif 19:user_src/bsp_serial.c **** #ifdef BSP_USING_UART3 20:user_src/bsp_serial.c **** Serial serial3; 21:user_src/bsp_serial.c **** void USART3_IRQHandler( void ) 22:user_src/bsp_serial.c **** { 23:user_src/bsp_serial.c **** _uartIsr( &serial3 ); 24:user_src/bsp_serial.c **** } 25:user_src/bsp_serial.c **** 26:user_src/bsp_serial.c **** #endif 27:user_src/bsp_serial.c **** #ifdef BSP_USING_UART4 28:user_src/bsp_serial.c **** Serial serial4; 29:user_src/bsp_serial.c **** void UART4_IRQHandler( void ) 30:user_src/bsp_serial.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 2 31:user_src/bsp_serial.c **** _uartIsr( &serial4 ); 32:user_src/bsp_serial.c **** } 33:user_src/bsp_serial.c **** #endif 34:user_src/bsp_serial.c **** #ifdef BSP_USING_UART5 35:user_src/bsp_serial.c **** Serial serial5; 36:user_src/bsp_serial.c **** void UART5_IRQHandler( void ) 37:user_src/bsp_serial.c **** { 38:user_src/bsp_serial.c **** _uartIsr( &serial5 ); 39:user_src/bsp_serial.c **** } 40:user_src/bsp_serial.c **** #endif 41:user_src/bsp_serial.c **** 42:user_src/bsp_serial.c **** /* 43:user_src/bsp_serial.c **** static int _serialInit(Serial *serial, UART_HandleTypeDef *huart) 44:user_src/bsp_serial.c **** { 45:user_src/bsp_serial.c **** rkfifo_init(&serial->_rxFifo, serial->_pRxBuff, sizeof(serial->_pRxBuff), 1); 46:user_src/bsp_serial.c **** rkfifo_init(&serial->_txFifo, serial->_pTxBuff, sizeof(serial->_pTxBuff), 1); 47:user_src/bsp_serial.c **** 48:user_src/bsp_serial.c **** #ifdef BSP_UART_USING_DMA 49:user_src/bsp_serial.c **** serial->_dmarx_remaining_cnt = sizeof(serial->_pRxBuff); 50:user_src/bsp_serial.c **** if (HAL_UART_Receive_DMA(serial->huart, serial->_rxFifo.data, sizeof(serial->_rxFifo)) != HAL_O 51:user_src/bsp_serial.c **** { 52:user_src/bsp_serial.c **** Error_Handler(); 53:user_src/bsp_serial.c **** } 54:user_src/bsp_serial.c **** CLEAR_BIT(serial->huart->Instance->CR3, USART_CR3_EIE); 55:user_src/bsp_serial.c **** __HAL_UART_ENABLE_IT(serial->huart, UART_IT_IDLE); 56:user_src/bsp_serial.c **** #endif 57:user_src/bsp_serial.c **** 58:user_src/bsp_serial.c **** serial->huart = huart; 59:user_src/bsp_serial.c **** __HAL_UART_ENABLE_IT(serial->huart, UART_IT_RXNE); 60:user_src/bsp_serial.c **** 61:user_src/bsp_serial.c **** return 0; 62:user_src/bsp_serial.c **** } 63:user_src/bsp_serial.c **** 64:user_src/bsp_serial.c **** static int _serialDeinit(Serial *serial) 65:user_src/bsp_serial.c **** { 66:user_src/bsp_serial.c **** assert_param(serial != 0); 67:user_src/bsp_serial.c **** __HAL_UART_DISABLE_IT(serial->huart, UART_IT_RXNE); 68:user_src/bsp_serial.c **** 69:user_src/bsp_serial.c **** return 0; 70:user_src/bsp_serial.c **** } 71:user_src/bsp_serial.c **** */ 72:user_src/bsp_serial.c **** /** 73:user_src/bsp_serial.c **** * @brief 串口发送数据,非阻塞式发送 74:user_src/bsp_serial.c **** * 75:user_src/bsp_serial.c **** * @param serial 串口对象 76:user_src/bsp_serial.c **** * @param pTxData 发送数据指针 77:user_src/bsp_serial.c **** * @param txLen 要发送长度 78:user_src/bsp_serial.c **** * @return uint32_t 发送成功字节数 79:user_src/bsp_serial.c **** */ 80:user_src/bsp_serial.c **** uint32_t bspSerialWrite( Serial *serial, const uint8_t *pTxData, uint32_t txLen ) 81:user_src/bsp_serial.c **** { 29 .loc 1 81 1 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 24 32 @ frame_needed = 1, uses_anonymous_args = 0 33 0000 80B5 push {r7, lr} 34 .LCFI0: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 3 35 .cfi_def_cfa_offset 8 36 .cfi_offset 7, -8 37 .cfi_offset 14, -4 38 0002 86B0 sub sp, sp, #24 39 .LCFI1: 40 .cfi_def_cfa_offset 32 41 0004 00AF add r7, sp, #0 42 .LCFI2: 43 .cfi_def_cfa_register 7 44 0006 F860 str r0, [r7, #12] 45 0008 B960 str r1, [r7, #8] 46 000a 7A60 str r2, [r7, #4] 82:user_src/bsp_serial.c **** uint32_t ret = 0; 47 .loc 1 82 14 48 000c 0023 movs r3, #0 49 000e 7B61 str r3, [r7, #20] 83:user_src/bsp_serial.c **** 84:user_src/bsp_serial.c **** ret = rkfifo_in( &serial->_txFifo, pTxData, txLen ); 50 .loc 1 84 11 51 0010 FB68 ldr r3, [r7, #12] 52 0012 9833 adds r3, r3, #152 53 0014 7A68 ldr r2, [r7, #4] 54 0016 B968 ldr r1, [r7, #8] 55 0018 1846 mov r0, r3 56 001a FFF7FEFF bl rkfifo_in 57 001e 7861 str r0, [r7, #20] 85:user_src/bsp_serial.c **** 86:user_src/bsp_serial.c **** if ( ret ) 58 .loc 1 86 8 59 0020 7B69 ldr r3, [r7, #20] 60 0022 002B cmp r3, #0 61 0024 0BD0 beq .L2 87:user_src/bsp_serial.c **** { 88:user_src/bsp_serial.c **** __HAL_UART_ENABLE_IT( serial->huart, UART_IT_TXE ); 62 .loc 1 88 9 63 0026 FB68 ldr r3, [r7, #12] 64 0028 D3F8B030 ldr r3, [r3, #176] 65 002c 1B68 ldr r3, [r3] 66 002e 1A68 ldr r2, [r3] 67 0030 FB68 ldr r3, [r7, #12] 68 0032 D3F8B030 ldr r3, [r3, #176] 69 0036 1B68 ldr r3, [r3] 70 0038 42F08002 orr r2, r2, #128 71 003c 1A60 str r2, [r3] 72 .L2: 89:user_src/bsp_serial.c **** } 90:user_src/bsp_serial.c **** 91:user_src/bsp_serial.c **** return ret; 73 .loc 1 91 12 74 003e 7B69 ldr r3, [r7, #20] 92:user_src/bsp_serial.c **** } 75 .loc 1 92 1 76 0040 1846 mov r0, r3 77 0042 1837 adds r7, r7, #24 78 .LCFI3: 79 .cfi_def_cfa_offset 8 80 0044 BD46 mov sp, r7 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 4 81 .LCFI4: 82 .cfi_def_cfa_register 13 83 @ sp needed 84 0046 80BD pop {r7, pc} 85 .cfi_endproc 86 .LFE130: 88 .section .text.bspSerialReadReady,"ax",%progbits 89 .align 1 90 .global bspSerialReadReady 91 .syntax unified 92 .thumb 93 .thumb_func 95 bspSerialReadReady: 96 .LFB131: 93:user_src/bsp_serial.c **** 94:user_src/bsp_serial.c **** int bspSerialReadReady( Serial *serial, uint32_t timeOut ) 95:user_src/bsp_serial.c **** { 97 .loc 1 95 1 98 .cfi_startproc 99 @ args = 0, pretend = 0, frame = 16 100 @ frame_needed = 1, uses_anonymous_args = 0 101 @ link register save eliminated. 102 0000 80B4 push {r7} 103 .LCFI5: 104 .cfi_def_cfa_offset 4 105 .cfi_offset 7, -4 106 0002 85B0 sub sp, sp, #20 107 .LCFI6: 108 .cfi_def_cfa_offset 24 109 0004 00AF add r7, sp, #0 110 .LCFI7: 111 .cfi_def_cfa_register 7 112 0006 7860 str r0, [r7, #4] 113 0008 3960 str r1, [r7] 96:user_src/bsp_serial.c **** int ret = 0; 114 .loc 1 96 9 115 000a 0023 movs r3, #0 116 000c FB60 str r3, [r7, #12] 97:user_src/bsp_serial.c **** 98:user_src/bsp_serial.c **** return ret; 117 .loc 1 98 12 118 000e FB68 ldr r3, [r7, #12] 99:user_src/bsp_serial.c **** } 119 .loc 1 99 1 120 0010 1846 mov r0, r3 121 0012 1437 adds r7, r7, #20 122 .LCFI8: 123 .cfi_def_cfa_offset 4 124 0014 BD46 mov sp, r7 125 .LCFI9: 126 .cfi_def_cfa_register 13 127 @ sp needed 128 0016 5DF8047B ldr r7, [sp], #4 129 .LCFI10: 130 .cfi_restore 7 131 .cfi_def_cfa_offset 0 132 001a 7047 bx lr ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 5 133 .cfi_endproc 134 .LFE131: 136 .section .text.bspSerialWriteDone,"ax",%progbits 137 .align 1 138 .global bspSerialWriteDone 139 .syntax unified 140 .thumb 141 .thumb_func 143 bspSerialWriteDone: 144 .LFB132: 100:user_src/bsp_serial.c **** 101:user_src/bsp_serial.c **** int bspSerialWriteDone( Serial *serial, uint32_t timeOut ) 102:user_src/bsp_serial.c **** { 145 .loc 1 102 1 146 .cfi_startproc 147 @ args = 0, pretend = 0, frame = 16 148 @ frame_needed = 1, uses_anonymous_args = 0 149 @ link register save eliminated. 150 0000 80B4 push {r7} 151 .LCFI11: 152 .cfi_def_cfa_offset 4 153 .cfi_offset 7, -4 154 0002 85B0 sub sp, sp, #20 155 .LCFI12: 156 .cfi_def_cfa_offset 24 157 0004 00AF add r7, sp, #0 158 .LCFI13: 159 .cfi_def_cfa_register 7 160 0006 7860 str r0, [r7, #4] 161 0008 3960 str r1, [r7] 103:user_src/bsp_serial.c **** int ret = 0; 162 .loc 1 103 9 163 000a 0023 movs r3, #0 164 000c FB60 str r3, [r7, #12] 104:user_src/bsp_serial.c **** return ret; 165 .loc 1 104 12 166 000e FB68 ldr r3, [r7, #12] 105:user_src/bsp_serial.c **** } 167 .loc 1 105 1 168 0010 1846 mov r0, r3 169 0012 1437 adds r7, r7, #20 170 .LCFI14: 171 .cfi_def_cfa_offset 4 172 0014 BD46 mov sp, r7 173 .LCFI15: 174 .cfi_def_cfa_register 13 175 @ sp needed 176 0016 5DF8047B ldr r7, [sp], #4 177 .LCFI16: 178 .cfi_restore 7 179 .cfi_def_cfa_offset 0 180 001a 7047 bx lr 181 .cfi_endproc 182 .LFE132: 184 .section .text.bspSerialRead,"ax",%progbits 185 .align 1 186 .global bspSerialRead ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 6 187 .syntax unified 188 .thumb 189 .thumb_func 191 bspSerialRead: 192 .LFB133: 106:user_src/bsp_serial.c **** 107:user_src/bsp_serial.c **** /** 108:user_src/bsp_serial.c **** * @brief 串口读取数据 109:user_src/bsp_serial.c **** * 110:user_src/bsp_serial.c **** * @param serial 串口对象 111:user_src/bsp_serial.c **** * @param pRxData 读取数据指针 112:user_src/bsp_serial.c **** * @param rxLen 要读取长度 113:user_src/bsp_serial.c **** * @return uint32_t 读取成功字节数 114:user_src/bsp_serial.c **** */ 115:user_src/bsp_serial.c **** uint32_t bspSerialRead( Serial *serial, uint8_t *pRxData, uint32_t rxLen ) 116:user_src/bsp_serial.c **** { 193 .loc 1 116 1 194 .cfi_startproc 195 @ args = 0, pretend = 0, frame = 24 196 @ frame_needed = 1, uses_anonymous_args = 0 197 0000 80B5 push {r7, lr} 198 .LCFI17: 199 .cfi_def_cfa_offset 8 200 .cfi_offset 7, -8 201 .cfi_offset 14, -4 202 0002 86B0 sub sp, sp, #24 203 .LCFI18: 204 .cfi_def_cfa_offset 32 205 0004 00AF add r7, sp, #0 206 .LCFI19: 207 .cfi_def_cfa_register 7 208 0006 F860 str r0, [r7, #12] 209 0008 B960 str r1, [r7, #8] 210 000a 7A60 str r2, [r7, #4] 117:user_src/bsp_serial.c **** uint32_t rnum = rkfifo_out( &serial->_rxFifo, pRxData, rxLen ); 211 .loc 1 117 21 212 000c FB68 ldr r3, [r7, #12] 213 000e 8033 adds r3, r3, #128 214 0010 7A68 ldr r2, [r7, #4] 215 0012 B968 ldr r1, [r7, #8] 216 0014 1846 mov r0, r3 217 0016 FFF7FEFF bl rkfifo_out 218 001a 7861 str r0, [r7, #20] 118:user_src/bsp_serial.c **** return rnum; 219 .loc 1 118 12 220 001c 7B69 ldr r3, [r7, #20] 119:user_src/bsp_serial.c **** } 221 .loc 1 119 1 222 001e 1846 mov r0, r3 223 0020 1837 adds r7, r7, #24 224 .LCFI20: 225 .cfi_def_cfa_offset 8 226 0022 BD46 mov sp, r7 227 .LCFI21: 228 .cfi_def_cfa_register 13 229 @ sp needed 230 0024 80BD pop {r7, pc} ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 7 231 .cfi_endproc 232 .LFE133: 234 .section .text._stm32_getc,"ax",%progbits 235 .align 1 236 .syntax unified 237 .thumb 238 .thumb_func 240 _stm32_getc: 241 .LFB134: 120:user_src/bsp_serial.c **** 121:user_src/bsp_serial.c **** static inline int _stm32_getc( Serial *serial ) 122:user_src/bsp_serial.c **** { 242 .loc 1 122 1 243 .cfi_startproc 244 @ args = 0, pretend = 0, frame = 16 245 @ frame_needed = 1, uses_anonymous_args = 0 246 @ link register save eliminated. 247 0000 80B4 push {r7} 248 .LCFI22: 249 .cfi_def_cfa_offset 4 250 .cfi_offset 7, -4 251 0002 85B0 sub sp, sp, #20 252 .LCFI23: 253 .cfi_def_cfa_offset 24 254 0004 00AF add r7, sp, #0 255 .LCFI24: 256 .cfi_def_cfa_register 7 257 0006 7860 str r0, [r7, #4] 123:user_src/bsp_serial.c **** int ch = -1; 258 .loc 1 123 9 259 0008 4FF0FF33 mov r3, #-1 260 000c FB60 str r3, [r7, #12] 124:user_src/bsp_serial.c **** UART_HandleTypeDef *handle = serial->huart; 261 .loc 1 124 25 262 000e 7B68 ldr r3, [r7, #4] 263 0010 D3F8B030 ldr r3, [r3, #176] 264 0014 BB60 str r3, [r7, #8] 125:user_src/bsp_serial.c **** if ( __HAL_UART_GET_FLAG( handle, UART_FLAG_RXNE ) != RESET ) 265 .loc 1 125 10 266 0016 BB68 ldr r3, [r7, #8] 267 0018 1B68 ldr r3, [r3] 268 001a DB69 ldr r3, [r3, #28] 269 001c 03F02003 and r3, r3, #32 270 .loc 1 125 8 271 0020 202B cmp r3, #32 272 0022 05D1 bne .L11 126:user_src/bsp_serial.c **** { 127:user_src/bsp_serial.c **** ch = handle->Instance->RDR & 0xff; 273 .loc 1 127 20 274 0024 BB68 ldr r3, [r7, #8] 275 0026 1B68 ldr r3, [r3] 276 .loc 1 127 30 277 0028 9B8C ldrh r3, [r3, #36] @ movhi 278 002a 9BB2 uxth r3, r3 279 .loc 1 127 12 280 002c DBB2 uxtb r3, r3 281 002e FB60 str r3, [r7, #12] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 8 282 .L11: 128:user_src/bsp_serial.c **** } 129:user_src/bsp_serial.c **** return ch; 283 .loc 1 129 12 284 0030 FB68 ldr r3, [r7, #12] 130:user_src/bsp_serial.c **** } 285 .loc 1 130 1 286 0032 1846 mov r0, r3 287 0034 1437 adds r7, r7, #20 288 .LCFI25: 289 .cfi_def_cfa_offset 4 290 0036 BD46 mov sp, r7 291 .LCFI26: 292 .cfi_def_cfa_register 13 293 @ sp needed 294 0038 5DF8047B ldr r7, [sp], #4 295 .LCFI27: 296 .cfi_restore 7 297 .cfi_def_cfa_offset 0 298 003c 7047 bx lr 299 .cfi_endproc 300 .LFE134: 302 .section .text._stm32_putc,"ax",%progbits 303 .align 1 304 .syntax unified 305 .thumb 306 .thumb_func 308 _stm32_putc: 309 .LFB135: 131:user_src/bsp_serial.c **** 132:user_src/bsp_serial.c **** static inline int _stm32_putc( Serial *serial, uint8_t ch ) 133:user_src/bsp_serial.c **** { 310 .loc 1 133 1 311 .cfi_startproc 312 @ args = 0, pretend = 0, frame = 16 313 @ frame_needed = 1, uses_anonymous_args = 0 314 @ link register save eliminated. 315 0000 80B4 push {r7} 316 .LCFI28: 317 .cfi_def_cfa_offset 4 318 .cfi_offset 7, -4 319 0002 85B0 sub sp, sp, #20 320 .LCFI29: 321 .cfi_def_cfa_offset 24 322 0004 00AF add r7, sp, #0 323 .LCFI30: 324 .cfi_def_cfa_register 7 325 0006 7860 str r0, [r7, #4] 326 0008 0B46 mov r3, r1 327 000a FB70 strb r3, [r7, #3] 134:user_src/bsp_serial.c **** UART_HandleTypeDef *handle = serial->huart; 328 .loc 1 134 25 329 000c 7B68 ldr r3, [r7, #4] 330 000e D3F8B030 ldr r3, [r3, #176] 331 0012 FB60 str r3, [r7, #12] 135:user_src/bsp_serial.c **** 136:user_src/bsp_serial.c **** while ( __HAL_UART_GET_FLAG( handle, UART_FLAG_TC ) == RESET ) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 9 332 .loc 1 136 11 333 0014 00BF nop 334 .L14: 335 .loc 1 136 13 discriminator 1 336 0016 FB68 ldr r3, [r7, #12] 337 0018 1B68 ldr r3, [r3] 338 001a DB69 ldr r3, [r3, #28] 339 001c 03F04003 and r3, r3, #64 340 .loc 1 136 11 discriminator 1 341 0020 402B cmp r3, #64 342 0022 F8D1 bne .L14 137:user_src/bsp_serial.c **** ; 138:user_src/bsp_serial.c **** serial->huart->Instance->RDR = ch; 343 .loc 1 138 11 344 0024 7B68 ldr r3, [r7, #4] 345 0026 D3F8B030 ldr r3, [r3, #176] 346 .loc 1 138 18 347 002a 1B68 ldr r3, [r3] 348 .loc 1 138 34 349 002c FA78 ldrb r2, [r7, #3] @ zero_extendqisi2 350 002e 92B2 uxth r2, r2 351 0030 9A84 strh r2, [r3, #36] @ movhi 139:user_src/bsp_serial.c **** return 0; 352 .loc 1 139 12 353 0032 0023 movs r3, #0 140:user_src/bsp_serial.c **** } 354 .loc 1 140 1 355 0034 1846 mov r0, r3 356 0036 1437 adds r7, r7, #20 357 .LCFI31: 358 .cfi_def_cfa_offset 4 359 0038 BD46 mov sp, r7 360 .LCFI32: 361 .cfi_def_cfa_register 13 362 @ sp needed 363 003a 5DF8047B ldr r7, [sp], #4 364 .LCFI33: 365 .cfi_restore 7 366 .cfi_def_cfa_offset 0 367 003e 7047 bx lr 368 .cfi_endproc 369 .LFE135: 371 .section .text._serialRxneIsrCallback,"ax",%progbits 372 .align 1 373 .syntax unified 374 .thumb 375 .thumb_func 377 _serialRxneIsrCallback: 378 .LFB136: 141:user_src/bsp_serial.c **** 142:user_src/bsp_serial.c **** static int _serialRxneIsrCallback( Serial *serial ) 143:user_src/bsp_serial.c **** { 379 .loc 1 143 1 380 .cfi_startproc 381 @ args = 0, pretend = 0, frame = 24 382 @ frame_needed = 1, uses_anonymous_args = 0 383 0000 80B5 push {r7, lr} ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 10 384 .LCFI34: 385 .cfi_def_cfa_offset 8 386 .cfi_offset 7, -8 387 .cfi_offset 14, -4 388 0002 86B0 sub sp, sp, #24 389 .LCFI35: 390 .cfi_def_cfa_offset 32 391 0004 00AF add r7, sp, #0 392 .LCFI36: 393 .cfi_def_cfa_register 7 394 0006 7860 str r0, [r7, #4] 144:user_src/bsp_serial.c **** int ret = 0; 395 .loc 1 144 9 396 0008 0023 movs r3, #0 397 000a 7B61 str r3, [r7, #20] 145:user_src/bsp_serial.c **** int ch = _stm32_getc( serial ); 398 .loc 1 145 14 399 000c 7868 ldr r0, [r7, #4] 400 000e FFF7FEFF bl _stm32_getc 401 0012 3861 str r0, [r7, #16] 146:user_src/bsp_serial.c **** if ( ch != -1 && serial ) 402 .loc 1 146 8 403 0014 3B69 ldr r3, [r7, #16] 404 0016 B3F1FF3F cmp r3, #-1 405 001a 0FD0 beq .L17 406 .loc 1 146 19 discriminator 1 407 001c 7B68 ldr r3, [r7, #4] 408 001e 002B cmp r3, #0 409 0020 0CD0 beq .L17 410 .LBB2: 147:user_src/bsp_serial.c **** { 148:user_src/bsp_serial.c **** uint8_t c = ch & 0xff; 411 .loc 1 148 17 412 0022 3B69 ldr r3, [r7, #16] 413 0024 DBB2 uxtb r3, r3 414 0026 FB73 strb r3, [r7, #15] 149:user_src/bsp_serial.c **** ret = rkfifo_in( &serial->_rxFifo, &c, 1 ); 415 .loc 1 149 15 416 0028 7B68 ldr r3, [r7, #4] 417 002a 8033 adds r3, r3, #128 418 002c 07F10F01 add r1, r7, #15 419 0030 0122 movs r2, #1 420 0032 1846 mov r0, r3 421 0034 FFF7FEFF bl rkfifo_in 422 0038 0346 mov r3, r0 423 .loc 1 149 13 424 003a 7B61 str r3, [r7, #20] 425 .L17: 426 .LBE2: 150:user_src/bsp_serial.c **** } 151:user_src/bsp_serial.c **** return ret; 427 .loc 1 151 12 428 003c 7B69 ldr r3, [r7, #20] 152:user_src/bsp_serial.c **** } 429 .loc 1 152 1 430 003e 1846 mov r0, r3 431 0040 1837 adds r7, r7, #24 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 11 432 .LCFI37: 433 .cfi_def_cfa_offset 8 434 0042 BD46 mov sp, r7 435 .LCFI38: 436 .cfi_def_cfa_register 13 437 @ sp needed 438 0044 80BD pop {r7, pc} 439 .cfi_endproc 440 .LFE136: 442 .section .text._serialTxeIsrCallback,"ax",%progbits 443 .align 1 444 .syntax unified 445 .thumb 446 .thumb_func 448 _serialTxeIsrCallback: 449 .LFB137: 153:user_src/bsp_serial.c **** 154:user_src/bsp_serial.c **** static int _serialTxeIsrCallback( Serial *serial ) 155:user_src/bsp_serial.c **** { 450 .loc 1 155 1 451 .cfi_startproc 452 @ args = 0, pretend = 0, frame = 16 453 @ frame_needed = 1, uses_anonymous_args = 0 454 0000 80B5 push {r7, lr} 455 .LCFI39: 456 .cfi_def_cfa_offset 8 457 .cfi_offset 7, -8 458 .cfi_offset 14, -4 459 0002 84B0 sub sp, sp, #16 460 .LCFI40: 461 .cfi_def_cfa_offset 24 462 0004 00AF add r7, sp, #0 463 .LCFI41: 464 .cfi_def_cfa_register 7 465 0006 7860 str r0, [r7, #4] 156:user_src/bsp_serial.c **** int ret = 0; 466 .loc 1 156 9 467 0008 0023 movs r3, #0 468 000a FB60 str r3, [r7, #12] 157:user_src/bsp_serial.c **** 158:user_src/bsp_serial.c **** uint8_t c; 159:user_src/bsp_serial.c **** if ( rkfifo_out( &serial->_txFifo, &c, 1 ) ) 469 .loc 1 159 10 470 000c 7B68 ldr r3, [r7, #4] 471 000e 9833 adds r3, r3, #152 472 0010 07F10B01 add r1, r7, #11 473 0014 0122 movs r2, #1 474 0016 1846 mov r0, r3 475 0018 FFF7FEFF bl rkfifo_out 476 001c 0346 mov r3, r0 477 .loc 1 159 8 478 001e 002B cmp r3, #0 479 0020 06D0 beq .L20 160:user_src/bsp_serial.c **** { 161:user_src/bsp_serial.c **** _stm32_putc( serial, c ); 480 .loc 1 161 9 481 0022 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 12 482 0024 1946 mov r1, r3 483 0026 7868 ldr r0, [r7, #4] 484 0028 FFF7FEFF bl _stm32_putc 162:user_src/bsp_serial.c **** ret = 1; 485 .loc 1 162 13 486 002c 0123 movs r3, #1 487 002e FB60 str r3, [r7, #12] 488 .L20: 163:user_src/bsp_serial.c **** } 164:user_src/bsp_serial.c **** 165:user_src/bsp_serial.c **** return ret; 489 .loc 1 165 12 490 0030 FB68 ldr r3, [r7, #12] 166:user_src/bsp_serial.c **** } 491 .loc 1 166 1 492 0032 1846 mov r0, r3 493 0034 1037 adds r7, r7, #16 494 .LCFI42: 495 .cfi_def_cfa_offset 8 496 0036 BD46 mov sp, r7 497 .LCFI43: 498 .cfi_def_cfa_register 13 499 @ sp needed 500 0038 80BD pop {r7, pc} 501 .cfi_endproc 502 .LFE137: 504 .section .text._serialTcIsrCallback,"ax",%progbits 505 .align 1 506 .syntax unified 507 .thumb 508 .thumb_func 510 _serialTcIsrCallback: 511 .LFB138: 167:user_src/bsp_serial.c **** 168:user_src/bsp_serial.c **** static int _serialTcIsrCallback( Serial *serial ) 169:user_src/bsp_serial.c **** { 512 .loc 1 169 1 513 .cfi_startproc 514 @ args = 0, pretend = 0, frame = 16 515 @ frame_needed = 1, uses_anonymous_args = 0 516 @ link register save eliminated. 517 0000 80B4 push {r7} 518 .LCFI44: 519 .cfi_def_cfa_offset 4 520 .cfi_offset 7, -4 521 0002 85B0 sub sp, sp, #20 522 .LCFI45: 523 .cfi_def_cfa_offset 24 524 0004 00AF add r7, sp, #0 525 .LCFI46: 526 .cfi_def_cfa_register 7 527 0006 7860 str r0, [r7, #4] 170:user_src/bsp_serial.c **** int ret = 0; 528 .loc 1 170 9 529 0008 0023 movs r3, #0 530 000a FB60 str r3, [r7, #12] 171:user_src/bsp_serial.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 13 172:user_src/bsp_serial.c **** return ret; 531 .loc 1 172 12 532 000c FB68 ldr r3, [r7, #12] 173:user_src/bsp_serial.c **** } 533 .loc 1 173 1 534 000e 1846 mov r0, r3 535 0010 1437 adds r7, r7, #20 536 .LCFI47: 537 .cfi_def_cfa_offset 4 538 0012 BD46 mov sp, r7 539 .LCFI48: 540 .cfi_def_cfa_register 13 541 @ sp needed 542 0014 5DF8047B ldr r7, [sp], #4 543 .LCFI49: 544 .cfi_restore 7 545 .cfi_def_cfa_offset 0 546 0018 7047 bx lr 547 .cfi_endproc 548 .LFE138: 550 .section .text._uartIsr,"ax",%progbits 551 .align 1 552 .global _uartIsr 553 .syntax unified 554 .thumb 555 .thumb_func 557 _uartIsr: 558 .LFB139: 174:user_src/bsp_serial.c **** 175:user_src/bsp_serial.c **** #ifdef BSP_UART_USING_DMA 176:user_src/bsp_serial.c **** static void _serialDmaRecvIsr( Serial *serial ) 177:user_src/bsp_serial.c **** { 178:user_src/bsp_serial.c **** } 179:user_src/bsp_serial.c **** #endif 180:user_src/bsp_serial.c **** 181:user_src/bsp_serial.c **** 182:user_src/bsp_serial.c **** void _uartIsr( Serial *serial ) 183:user_src/bsp_serial.c **** { 559 .loc 1 183 1 560 .cfi_startproc 561 @ args = 0, pretend = 0, frame = 16 562 @ frame_needed = 1, uses_anonymous_args = 0 563 0000 80B5 push {r7, lr} 564 .LCFI50: 565 .cfi_def_cfa_offset 8 566 .cfi_offset 7, -8 567 .cfi_offset 14, -4 568 0002 84B0 sub sp, sp, #16 569 .LCFI51: 570 .cfi_def_cfa_offset 24 571 0004 00AF add r7, sp, #0 572 .LCFI52: 573 .cfi_def_cfa_register 7 574 0006 7860 str r0, [r7, #4] 184:user_src/bsp_serial.c **** UART_HandleTypeDef *handle = serial->huart; 575 .loc 1 184 25 576 0008 7B68 ldr r3, [r7, #4] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 14 577 000a D3F8B030 ldr r3, [r3, #176] 578 000e FB60 str r3, [r7, #12] 185:user_src/bsp_serial.c **** 186:user_src/bsp_serial.c **** if ( ( __HAL_UART_GET_FLAG( handle, UART_FLAG_RXNE ) != RESET ) && 579 .loc 1 186 12 580 0010 FB68 ldr r3, [r7, #12] 581 0012 1B68 ldr r3, [r3] 582 0014 DB69 ldr r3, [r3, #28] 583 0016 03F02003 and r3, r3, #32 584 .loc 1 186 8 585 001a 202B cmp r3, #32 586 001c 0ED1 bne .L25 187:user_src/bsp_serial.c **** ( __HAL_UART_GET_IT_SOURCE( handle, UART_IT_RXNE ) != RESET ) ) 587 .loc 1 187 12 discriminator 1 588 001e FB68 ldr r3, [r7, #12] 589 0020 1B68 ldr r3, [r3] 590 0022 1B68 ldr r3, [r3] 591 0024 03F02003 and r3, r3, #32 186:user_src/bsp_serial.c **** ( __HAL_UART_GET_IT_SOURCE( handle, UART_IT_RXNE ) != RESET ) ) 592 .loc 1 186 69 discriminator 1 593 0028 002B cmp r3, #0 594 002a 07D0 beq .L25 188:user_src/bsp_serial.c **** { 189:user_src/bsp_serial.c **** _serialRxneIsrCallback( serial ); 595 .loc 1 189 9 596 002c 7868 ldr r0, [r7, #4] 597 002e FFF7FEFF bl _serialRxneIsrCallback 190:user_src/bsp_serial.c **** __HAL_UART_CLEAR_FLAG( handle, UART_FLAG_RXNE ); 598 .loc 1 190 9 599 0032 FB68 ldr r3, [r7, #12] 600 0034 1B68 ldr r3, [r3] 601 0036 2022 movs r2, #32 602 0038 1A62 str r2, [r3, #32] 603 003a B7E0 b .L26 604 .L25: 191:user_src/bsp_serial.c **** } 192:user_src/bsp_serial.c **** else if ( ( __HAL_UART_GET_FLAG( handle, UART_FLAG_TXE ) != RESET ) && 605 .loc 1 192 17 606 003c FB68 ldr r3, [r7, #12] 607 003e 1B68 ldr r3, [r3] 608 0040 DB69 ldr r3, [r3, #28] 609 0042 03F08003 and r3, r3, #128 610 .loc 1 192 13 611 0046 802B cmp r3, #128 612 0048 2BD1 bne .L27 193:user_src/bsp_serial.c **** ( __HAL_UART_GET_IT_SOURCE( handle, UART_IT_TXE ) ) != RESET ) 613 .loc 1 193 17 discriminator 1 614 004a FB68 ldr r3, [r7, #12] 615 004c 1B68 ldr r3, [r3] 616 004e 1B68 ldr r3, [r3] 617 0050 03F08003 and r3, r3, #128 192:user_src/bsp_serial.c **** ( __HAL_UART_GET_IT_SOURCE( handle, UART_IT_TXE ) ) != RESET ) 618 .loc 1 192 73 discriminator 1 619 0054 002B cmp r3, #0 620 0056 24D0 beq .L27 621 .LBB3: 194:user_src/bsp_serial.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 15 195:user_src/bsp_serial.c **** int ret = _serialTxeIsrCallback( serial ); 622 .loc 1 195 19 623 0058 7868 ldr r0, [r7, #4] 624 005a FFF7FEFF bl _serialTxeIsrCallback 625 005e B860 str r0, [r7, #8] 196:user_src/bsp_serial.c **** if ( ret == 0 ) 626 .loc 1 196 12 627 0060 BB68 ldr r3, [r7, #8] 628 0062 002B cmp r3, #0 629 0064 17D1 bne .L28 197:user_src/bsp_serial.c **** { 198:user_src/bsp_serial.c **** __HAL_UART_DISABLE_IT( serial->huart, UART_IT_TXE ); 630 .loc 1 198 13 631 0066 7B68 ldr r3, [r7, #4] 632 0068 D3F8B030 ldr r3, [r3, #176] 633 006c 1B68 ldr r3, [r3] 634 006e 1A68 ldr r2, [r3] 635 0070 7B68 ldr r3, [r7, #4] 636 0072 D3F8B030 ldr r3, [r3, #176] 637 0076 1B68 ldr r3, [r3] 638 0078 22F08002 bic r2, r2, #128 639 007c 1A60 str r2, [r3] 199:user_src/bsp_serial.c **** __HAL_UART_ENABLE_IT( serial->huart, UART_IT_TC ); 640 .loc 1 199 13 641 007e 7B68 ldr r3, [r7, #4] 642 0080 D3F8B030 ldr r3, [r3, #176] 643 0084 1B68 ldr r3, [r3] 644 0086 1A68 ldr r2, [r3] 645 0088 7B68 ldr r3, [r7, #4] 646 008a D3F8B030 ldr r3, [r3, #176] 647 008e 1B68 ldr r3, [r3] 648 0090 42F04002 orr r2, r2, #64 649 0094 1A60 str r2, [r3] 650 .L28: 200:user_src/bsp_serial.c **** } 201:user_src/bsp_serial.c **** __HAL_UART_CLEAR_FLAG( handle, UART_IT_TXE ); 651 .loc 1 201 9 652 0096 FB68 ldr r3, [r7, #12] 653 0098 1B68 ldr r3, [r3] 654 009a 40F22772 movw r2, #1831 655 009e 1A62 str r2, [r3, #32] 656 .LBE3: 194:user_src/bsp_serial.c **** int ret = _serialTxeIsrCallback( serial ); 657 .loc 1 194 5 658 00a0 84E0 b .L26 659 .L27: 202:user_src/bsp_serial.c **** } 203:user_src/bsp_serial.c **** else if ( __HAL_UART_GET_FLAG( handle, UART_FLAG_TC ) && 660 .loc 1 203 15 661 00a2 FB68 ldr r3, [r7, #12] 662 00a4 1B68 ldr r3, [r3] 663 00a6 DB69 ldr r3, [r3, #28] 664 00a8 03F04003 and r3, r3, #64 665 .loc 1 203 13 666 00ac 402B cmp r3, #64 667 00ae 17D1 bne .L29 204:user_src/bsp_serial.c **** ( __HAL_UART_GET_IT_SOURCE( handle, UART_IT_TC ) != RESET ) ) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 16 668 .loc 1 204 17 discriminator 1 669 00b0 FB68 ldr r3, [r7, #12] 670 00b2 1B68 ldr r3, [r3] 671 00b4 1B68 ldr r3, [r3] 672 00b6 03F04003 and r3, r3, #64 203:user_src/bsp_serial.c **** ( __HAL_UART_GET_IT_SOURCE( handle, UART_IT_TC ) != RESET ) ) 673 .loc 1 203 59 discriminator 1 674 00ba 002B cmp r3, #0 675 00bc 10D0 beq .L29 205:user_src/bsp_serial.c **** { 206:user_src/bsp_serial.c **** _serialTcIsrCallback( serial ); 676 .loc 1 206 9 677 00be 7868 ldr r0, [r7, #4] 678 00c0 FFF7FEFF bl _serialTcIsrCallback 207:user_src/bsp_serial.c **** __HAL_UART_CLEAR_FLAG( handle, UART_IT_TC ); 679 .loc 1 207 9 680 00c4 FB68 ldr r3, [r7, #12] 681 00c6 1B68 ldr r3, [r3] 682 00c8 40F22662 movw r2, #1574 683 00cc 1A62 str r2, [r3, #32] 208:user_src/bsp_serial.c **** __HAL_UART_DISABLE_IT( handle, UART_IT_TC ); 684 .loc 1 208 9 685 00ce FB68 ldr r3, [r7, #12] 686 00d0 1B68 ldr r3, [r3] 687 00d2 1A68 ldr r2, [r3] 688 00d4 FB68 ldr r3, [r7, #12] 689 00d6 1B68 ldr r3, [r3] 690 00d8 22F04002 bic r2, r2, #64 691 00dc 1A60 str r2, [r3] 692 00de 65E0 b .L26 693 .L29: 209:user_src/bsp_serial.c **** } 210:user_src/bsp_serial.c **** else 211:user_src/bsp_serial.c **** { 212:user_src/bsp_serial.c **** if ( __HAL_UART_GET_FLAG( handle, UART_FLAG_ORE ) != RESET ) 694 .loc 1 212 14 695 00e0 FB68 ldr r3, [r7, #12] 696 00e2 1B68 ldr r3, [r3] 697 00e4 DB69 ldr r3, [r3, #28] 698 00e6 03F00803 and r3, r3, #8 699 .loc 1 212 12 700 00ea 082B cmp r3, #8 701 00ec 03D1 bne .L30 213:user_src/bsp_serial.c **** { 214:user_src/bsp_serial.c **** __HAL_UART_CLEAR_OREFLAG( handle ); 702 .loc 1 214 13 703 00ee FB68 ldr r3, [r7, #12] 704 00f0 1B68 ldr r3, [r3] 705 00f2 0822 movs r2, #8 706 00f4 1A62 str r2, [r3, #32] 707 .L30: 215:user_src/bsp_serial.c **** } 216:user_src/bsp_serial.c **** if ( __HAL_UART_GET_FLAG( handle, UART_FLAG_NE ) != RESET ) 708 .loc 1 216 14 709 00f6 FB68 ldr r3, [r7, #12] 710 00f8 1B68 ldr r3, [r3] 711 00fa DB69 ldr r3, [r3, #28] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 17 712 00fc 03F00403 and r3, r3, #4 713 .loc 1 216 12 714 0100 042B cmp r3, #4 715 0102 03D1 bne .L31 217:user_src/bsp_serial.c **** { 218:user_src/bsp_serial.c **** __HAL_UART_CLEAR_NEFLAG( handle ); 716 .loc 1 218 13 717 0104 FB68 ldr r3, [r7, #12] 718 0106 1B68 ldr r3, [r3] 719 0108 0422 movs r2, #4 720 010a 1A62 str r2, [r3, #32] 721 .L31: 219:user_src/bsp_serial.c **** } 220:user_src/bsp_serial.c **** if ( __HAL_UART_GET_FLAG( handle, UART_FLAG_FE ) != RESET ) 722 .loc 1 220 14 723 010c FB68 ldr r3, [r7, #12] 724 010e 1B68 ldr r3, [r3] 725 0110 DB69 ldr r3, [r3, #28] 726 0112 03F00203 and r3, r3, #2 727 .loc 1 220 12 728 0116 022B cmp r3, #2 729 0118 03D1 bne .L32 221:user_src/bsp_serial.c **** { 222:user_src/bsp_serial.c **** __HAL_UART_CLEAR_FEFLAG( handle ); 730 .loc 1 222 13 731 011a FB68 ldr r3, [r7, #12] 732 011c 1B68 ldr r3, [r3] 733 011e 0222 movs r2, #2 734 0120 1A62 str r2, [r3, #32] 735 .L32: 223:user_src/bsp_serial.c **** } 224:user_src/bsp_serial.c **** if ( __HAL_UART_GET_FLAG( handle, UART_FLAG_PE ) != RESET ) 736 .loc 1 224 14 737 0122 FB68 ldr r3, [r7, #12] 738 0124 1B68 ldr r3, [r3] 739 0126 DB69 ldr r3, [r3, #28] 740 0128 03F00103 and r3, r3, #1 741 .loc 1 224 12 742 012c 012B cmp r3, #1 743 012e 03D1 bne .L33 225:user_src/bsp_serial.c **** { 226:user_src/bsp_serial.c **** __HAL_UART_CLEAR_PEFLAG( handle ); 744 .loc 1 226 13 745 0130 FB68 ldr r3, [r7, #12] 746 0132 1B68 ldr r3, [r3] 747 0134 0122 movs r2, #1 748 0136 1A62 str r2, [r3, #32] 749 .L33: 227:user_src/bsp_serial.c **** } 228:user_src/bsp_serial.c **** if ( __HAL_UART_GET_FLAG( handle, UART_FLAG_IDLE ) != RESET ) 750 .loc 1 228 14 751 0138 FB68 ldr r3, [r7, #12] 752 013a 1B68 ldr r3, [r3] 753 013c DB69 ldr r3, [r3, #28] 754 013e 03F01003 and r3, r3, #16 755 .loc 1 228 12 756 0142 102B cmp r3, #16 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 18 757 0144 03D1 bne .L34 229:user_src/bsp_serial.c **** { 230:user_src/bsp_serial.c **** __HAL_UART_CLEAR_IDLEFLAG( handle ); 758 .loc 1 230 13 759 0146 FB68 ldr r3, [r7, #12] 760 0148 1B68 ldr r3, [r3] 761 014a 1022 movs r2, #16 762 014c 1A62 str r2, [r3, #32] 763 .L34: 231:user_src/bsp_serial.c **** } 232:user_src/bsp_serial.c **** if ( __HAL_UART_GET_FLAG( handle, UART_FLAG_CTS ) != RESET ) 764 .loc 1 232 14 765 014e FB68 ldr r3, [r7, #12] 766 0150 1B68 ldr r3, [r3] 767 0152 DB69 ldr r3, [r3, #28] 768 0154 03F48063 and r3, r3, #1024 769 .loc 1 232 12 770 0158 B3F5806F cmp r3, #1024 771 015c 04D1 bne .L35 233:user_src/bsp_serial.c **** { 234:user_src/bsp_serial.c **** __HAL_UART_CLEAR_FLAG( handle, UART_FLAG_CTS ); 772 .loc 1 234 13 773 015e FB68 ldr r3, [r7, #12] 774 0160 1B68 ldr r3, [r3] 775 0162 4FF48062 mov r2, #1024 776 0166 1A62 str r2, [r3, #32] 777 .L35: 235:user_src/bsp_serial.c **** } 236:user_src/bsp_serial.c **** if ( __HAL_UART_GET_FLAG( handle, UART_FLAG_TXE ) != RESET ) 778 .loc 1 236 14 779 0168 FB68 ldr r3, [r7, #12] 780 016a 1B68 ldr r3, [r3] 781 016c DB69 ldr r3, [r3, #28] 782 016e 03F08003 and r3, r3, #128 783 .loc 1 236 12 784 0172 802B cmp r3, #128 785 0174 03D1 bne .L36 237:user_src/bsp_serial.c **** { 238:user_src/bsp_serial.c **** __HAL_UART_CLEAR_FLAG( handle, UART_FLAG_TXE ); 786 .loc 1 238 13 787 0176 FB68 ldr r3, [r7, #12] 788 0178 1B68 ldr r3, [r3] 789 017a 8022 movs r2, #128 790 017c 1A62 str r2, [r3, #32] 791 .L36: 239:user_src/bsp_serial.c **** } 240:user_src/bsp_serial.c **** if ( __HAL_UART_GET_FLAG( handle, UART_FLAG_TC ) != RESET ) 792 .loc 1 240 14 793 017e FB68 ldr r3, [r7, #12] 794 0180 1B68 ldr r3, [r3] 795 0182 DB69 ldr r3, [r3, #28] 796 0184 03F04003 and r3, r3, #64 797 .loc 1 240 12 798 0188 402B cmp r3, #64 799 018a 03D1 bne .L37 241:user_src/bsp_serial.c **** { 242:user_src/bsp_serial.c **** __HAL_UART_CLEAR_FLAG( handle, UART_FLAG_TC ); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 19 800 .loc 1 242 13 801 018c FB68 ldr r3, [r7, #12] 802 018e 1B68 ldr r3, [r3] 803 0190 4022 movs r2, #64 804 0192 1A62 str r2, [r3, #32] 805 .L37: 243:user_src/bsp_serial.c **** } 244:user_src/bsp_serial.c **** if ( __HAL_UART_GET_FLAG( handle, UART_FLAG_RXNE ) != RESET ) 806 .loc 1 244 14 807 0194 FB68 ldr r3, [r7, #12] 808 0196 1B68 ldr r3, [r3] 809 0198 DB69 ldr r3, [r3, #28] 810 019a 03F02003 and r3, r3, #32 811 .loc 1 244 12 812 019e 202B cmp r3, #32 813 01a0 04D1 bne .L38 245:user_src/bsp_serial.c **** { 246:user_src/bsp_serial.c **** __HAL_UART_CLEAR_FLAG( handle, UART_FLAG_RXNE ); 814 .loc 1 246 13 815 01a2 FB68 ldr r3, [r7, #12] 816 01a4 1B68 ldr r3, [r3] 817 01a6 2022 movs r2, #32 818 01a8 1A62 str r2, [r3, #32] 247:user_src/bsp_serial.c **** } 248:user_src/bsp_serial.c **** } 249:user_src/bsp_serial.c **** } 819 .loc 1 249 1 820 01aa FFE7 b .L38 821 .L26: 822 .L38: 823 01ac 00BF nop 824 01ae 1037 adds r7, r7, #16 825 .LCFI53: 826 .cfi_def_cfa_offset 8 827 01b0 BD46 mov sp, r7 828 .LCFI54: 829 .cfi_def_cfa_register 13 830 @ sp needed 831 01b2 80BD pop {r7, pc} 832 .cfi_endproc 833 .LFE139: 835 .section .text.bspSerialInit,"ax",%progbits 836 .align 1 837 .global bspSerialInit 838 .syntax unified 839 .thumb 840 .thumb_func 842 bspSerialInit: 843 .LFB140: 250:user_src/bsp_serial.c **** 251:user_src/bsp_serial.c **** void bspSerialInit( void ) 252:user_src/bsp_serial.c **** { 844 .loc 1 252 1 845 .cfi_startproc 846 @ args = 0, pretend = 0, frame = 0 847 @ frame_needed = 1, uses_anonymous_args = 0 848 @ link register save eliminated. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 20 849 0000 80B4 push {r7} 850 .LCFI55: 851 .cfi_def_cfa_offset 4 852 .cfi_offset 7, -4 853 0002 00AF add r7, sp, #0 854 .LCFI56: 855 .cfi_def_cfa_register 7 253:user_src/bsp_serial.c **** #ifdef BSP_USING_UART1 254:user_src/bsp_serial.c **** extern UART_HandleTypeDef huart1; 255:user_src/bsp_serial.c **** _serialInit( &serial1, &huart1 ); 256:user_src/bsp_serial.c **** #endif 257:user_src/bsp_serial.c **** #ifdef BSP_USING_UART2 258:user_src/bsp_serial.c **** extern UART_HandleTypeDef huart2; 259:user_src/bsp_serial.c **** _serialInit( &serial2, &huart2 ); 260:user_src/bsp_serial.c **** #endif 261:user_src/bsp_serial.c **** #ifdef BSP_USING_UART3 262:user_src/bsp_serial.c **** extern UART_HandleTypeDef huart3; 263:user_src/bsp_serial.c **** _serialInit( &serial3, &huart3 ); 264:user_src/bsp_serial.c **** #endif 265:user_src/bsp_serial.c **** #ifdef BSP_USING_UART4 266:user_src/bsp_serial.c **** extern UART_HandleTypeDef huart4; 267:user_src/bsp_serial.c **** _serialInit( &serial4, &huart4 ); 268:user_src/bsp_serial.c **** #endif 269:user_src/bsp_serial.c **** #ifdef BSP_USING_UART5 270:user_src/bsp_serial.c **** extern UART_HandleTypeDef huart5; 271:user_src/bsp_serial.c **** _serialInit( &serial5, &huart5 ); 272:user_src/bsp_serial.c **** #endif 273:user_src/bsp_serial.c **** } 856 .loc 1 273 1 857 0004 00BF nop 858 0006 BD46 mov sp, r7 859 .LCFI57: 860 .cfi_def_cfa_register 13 861 @ sp needed 862 0008 5DF8047B ldr r7, [sp], #4 863 .LCFI58: 864 .cfi_restore 7 865 .cfi_def_cfa_offset 0 866 000c 7047 bx lr 867 .cfi_endproc 868 .LFE140: 870 .text 871 .Letext0: 872 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h" 873 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h" 874 .file 4 "user_inc/rkfifo.h" 875 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h" 876 .file 6 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h" 877 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h" 878 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h" 879 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_uart.h" 880 .file 10 "user_inc/bsp_serial.h" ARM GAS C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s page 21 DEFINED SYMBOLS *ABS*:00000000 bsp_serial.c C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:20 .text.bspSerialWrite:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:26 .text.bspSerialWrite:00000000 bspSerialWrite C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:89 .text.bspSerialReadReady:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:95 .text.bspSerialReadReady:00000000 bspSerialReadReady C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:137 .text.bspSerialWriteDone:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:143 .text.bspSerialWriteDone:00000000 bspSerialWriteDone C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:185 .text.bspSerialRead:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:191 .text.bspSerialRead:00000000 bspSerialRead C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:235 .text._stm32_getc:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:240 .text._stm32_getc:00000000 _stm32_getc C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:303 .text._stm32_putc:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:308 .text._stm32_putc:00000000 _stm32_putc C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:372 .text._serialRxneIsrCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:377 .text._serialRxneIsrCallback:00000000 _serialRxneIsrCallback C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:443 .text._serialTxeIsrCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:448 .text._serialTxeIsrCallback:00000000 _serialTxeIsrCallback C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:505 .text._serialTcIsrCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:510 .text._serialTcIsrCallback:00000000 _serialTcIsrCallback C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:551 .text._uartIsr:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:557 .text._uartIsr:00000000 _uartIsr C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:836 .text.bspSerialInit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccxXE9Kb.s:842 .text.bspSerialInit:00000000 bspSerialInit UNDEFINED SYMBOLS rkfifo_in rkfifo_out