bsp_serial.lst 49 KB

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