soft_uart.lst 96 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.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 "soft_uart.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .global Update_buf
  21. 20 .section .bss.Update_buf,"aw",%nobits
  22. 21 .align 2
  23. 24 Update_buf:
  24. 25 0000 00000000 .space 150
  25. 25 00000000
  26. 25 00000000
  27. 25 00000000
  28. 25 00000000
  29. 26 .global vk_protocol
  30. 27 .section .bss.vk_protocol,"aw",%nobits
  31. 28 .align 2
  32. 31 vk_protocol:
  33. 32 0000 00000000 .space 266
  34. 32 00000000
  35. 32 00000000
  36. 32 00000000
  37. 32 00000000
  38. 33 .global send_uart_rkfifo
  39. 34 .section .bss.send_uart_rkfifo,"aw",%nobits
  40. 35 .align 2
  41. 38 send_uart_rkfifo:
  42. 39 0000 00000000 .space 24
  43. 39 00000000
  44. 39 00000000
  45. 39 00000000
  46. 39 00000000
  47. 40 .global radar_update_flag
  48. 41 .section .bss.radar_update_flag,"aw",%nobits
  49. 44 radar_update_flag:
  50. 45 0000 00 .space 1
  51. 46 .global uart_info
  52. 47 .section .data.uart_info,"aw"
  53. 48 .align 2
  54. 51 uart_info:
  55. 52 0000 00000000 .space 286
  56. 52 00000000
  57. 52 00000000
  58. 52 00000000
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 2
  60. 52 00000000
  61. 53 011e 0100 .short 1
  62. 54 0120 00000000 .space 7
  63. 54 000000
  64. 55 .section .text._write,"ax",%progbits
  65. 56 .align 1
  66. 57 .global _write
  67. 58 .syntax unified
  68. 59 .thumb
  69. 60 .thumb_func
  70. 62 _write:
  71. 63 .LFB133:
  72. 64 .file 1 "user_src/soft_uart.c"
  73. 1:user_src/soft_uart.c **** #include "soft_uart.h"
  74. 2:user_src/soft_uart.c **** #include "usart.h"
  75. 3:user_src/soft_uart.c **** #include "stdbool.h"
  76. 4:user_src/soft_uart.c **** #include "soft_timer.h"
  77. 5:user_src/soft_uart.c **** #include "soft_adc.h"
  78. 6:user_src/soft_uart.c **** #include "soft_flow.h"
  79. 7:user_src/soft_uart.c **** #include "soft_crc.h"
  80. 8:user_src/soft_uart.c **** #include <string.h>
  81. 9:user_src/soft_uart.c **** #include "stdbool.h"
  82. 10:user_src/soft_uart.c **** #include "tim.h"
  83. 11:user_src/soft_uart.c **** #include "hard_led.h"
  84. 12:user_src/soft_uart.c **** #include "soft_can.h"
  85. 13:user_src/soft_uart.c **** #include "stdio.h"
  86. 14:user_src/soft_uart.c **** #include "soft_bms.h"
  87. 15:user_src/soft_uart.c **** #include "soft_terrain.h"
  88. 16:user_src/soft_uart.c **** #include "soft_obstacle.h"
  89. 17:user_src/soft_uart.c **** #include "soft_okcell.h"
  90. 18:user_src/soft_uart.c **** #include "soft_adc.h"
  91. 19:user_src/soft_uart.c **** #include "soft_p_2_c.h"
  92. 20:user_src/soft_uart.c **** #include "soft_engine.h"
  93. 21:user_src/soft_uart.c **** #include "bsp_serial.h"
  94. 22:user_src/soft_uart.c **** #include "rkfifo.h"
  95. 23:user_src/soft_uart.c **** #include "soft_update.h"
  96. 24:user_src/soft_uart.c **** #include "common.h"
  97. 25:user_src/soft_uart.c **** #include "soft_water_device.h"
  98. 26:user_src/soft_uart.c **** #include "config.h"
  99. 27:user_src/soft_uart.c **** #include "soft_seed_device.h"
  100. 28:user_src/soft_uart.c ****
  101. 29:user_src/soft_uart.c **** uint8_t Update_buf[150] = {0};
  102. 30:user_src/soft_uart.c ****
  103. 31:user_src/soft_uart.c **** Vk_protocol vk_protocol;
  104. 32:user_src/soft_uart.c **** rkfifo_t send_uart_rkfifo;
  105. 33:user_src/soft_uart.c ****
  106. 34:user_src/soft_uart.c **** bool radar_update_flag = false; //雷达升级标志
  107. 35:user_src/soft_uart.c **** Uart uart_info = {.vk_dev_pack_num = 1};
  108. 36:user_src/soft_uart.c ****
  109. 37:user_src/soft_uart.c ****
  110. 38:user_src/soft_uart.c **** /**
  111. 39:user_src/soft_uart.c **** * @file printf
  112. 40:user_src/soft_uart.c **** * @brief 串口发送重定向
  113. 41:user_src/soft_uart.c **** * @param
  114. 42:user_src/soft_uart.c **** * @details
  115. 43:user_src/soft_uart.c **** * @author Zhang Sir
  116. 44:user_src/soft_uart.c **** **/
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 3
  118. 45:user_src/soft_uart.c **** int _write(int fd, char *pBuffer, int size)
  119. 46:user_src/soft_uart.c **** {
  120. 65 .loc 1 46 1
  121. 66 .cfi_startproc
  122. 67 @ args = 0, pretend = 0, frame = 24
  123. 68 @ frame_needed = 1, uses_anonymous_args = 0
  124. 69 0000 80B5 push {r7, lr}
  125. 70 .LCFI0:
  126. 71 .cfi_def_cfa_offset 8
  127. 72 .cfi_offset 7, -8
  128. 73 .cfi_offset 14, -4
  129. 74 0002 86B0 sub sp, sp, #24
  130. 75 .LCFI1:
  131. 76 .cfi_def_cfa_offset 32
  132. 77 0004 00AF add r7, sp, #0
  133. 78 .LCFI2:
  134. 79 .cfi_def_cfa_register 7
  135. 80 0006 F860 str r0, [r7, #12]
  136. 81 0008 B960 str r1, [r7, #8]
  137. 82 000a 7A60 str r2, [r7, #4]
  138. 47:user_src/soft_uart.c **** uint32_t uart3_send_count_time = HAL_GetTick();
  139. 83 .loc 1 47 35
  140. 84 000c FFF7FEFF bl HAL_GetTick
  141. 85 0010 7861 str r0, [r7, #20]
  142. 48:user_src/soft_uart.c **** while (__HAL_UART_GET_FLAG(&huart3, UART_FLAG_TC) == 0 &&
  143. 86 .loc 1 48 8
  144. 87 0012 00BF nop
  145. 88 .L3:
  146. 89 .loc 1 48 9 discriminator 2
  147. 90 0014 0C4B ldr r3, .L5
  148. 91 0016 1B68 ldr r3, [r3]
  149. 92 0018 DB69 ldr r3, [r3, #28]
  150. 93 001a 03F04003 and r3, r3, #64
  151. 94 .loc 1 48 8 discriminator 2
  152. 95 001e 402B cmp r3, #64
  153. 96 0020 06D0 beq .L2
  154. 49:user_src/soft_uart.c **** HAL_GetTick() - uart3_send_count_time < 5)
  155. 97 .loc 1 49 6 discriminator 1
  156. 98 0022 FFF7FEFF bl HAL_GetTick
  157. 99 0026 0246 mov r2, r0
  158. 100 .loc 1 49 20 discriminator 1
  159. 101 0028 7B69 ldr r3, [r7, #20]
  160. 102 002a D31A subs r3, r2, r3
  161. 48:user_src/soft_uart.c **** while (__HAL_UART_GET_FLAG(&huart3, UART_FLAG_TC) == 0 &&
  162. 103 .loc 1 48 57 discriminator 1
  163. 104 002c 042B cmp r3, #4
  164. 105 002e F1D9 bls .L3
  165. 106 .L2:
  166. 50:user_src/soft_uart.c **** ;
  167. 51:user_src/soft_uart.c **** HAL_UART_Transmit(&huart3, (uint8_t *)pBuffer, size, 0xff);
  168. 107 .loc 1 51 2
  169. 108 0030 7B68 ldr r3, [r7, #4]
  170. 109 0032 9AB2 uxth r2, r3
  171. 110 0034 FF23 movs r3, #255
  172. 111 0036 B968 ldr r1, [r7, #8]
  173. 112 0038 0348 ldr r0, .L5
  174. 113 003a FFF7FEFF bl HAL_UART_Transmit
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 4
  176. 52:user_src/soft_uart.c **** return size;
  177. 114 .loc 1 52 9
  178. 115 003e 7B68 ldr r3, [r7, #4]
  179. 53:user_src/soft_uart.c **** }
  180. 116 .loc 1 53 1
  181. 117 0040 1846 mov r0, r3
  182. 118 0042 1837 adds r7, r7, #24
  183. 119 .LCFI3:
  184. 120 .cfi_def_cfa_offset 8
  185. 121 0044 BD46 mov sp, r7
  186. 122 .LCFI4:
  187. 123 .cfi_def_cfa_register 13
  188. 124 @ sp needed
  189. 125 0046 80BD pop {r7, pc}
  190. 126 .L6:
  191. 127 .align 2
  192. 128 .L5:
  193. 129 0048 00000000 .word huart3
  194. 130 .cfi_endproc
  195. 131 .LFE133:
  196. 133 .section .text.uart_send_is_ok,"ax",%progbits
  197. 134 .align 1
  198. 135 .global uart_send_is_ok
  199. 136 .syntax unified
  200. 137 .thumb
  201. 138 .thumb_func
  202. 140 uart_send_is_ok:
  203. 141 .LFB134:
  204. 54:user_src/soft_uart.c ****
  205. 55:user_src/soft_uart.c ****
  206. 56:user_src/soft_uart.c **** /**
  207. 57:user_src/soft_uart.c **** * @file uart_send_is_ok
  208. 58:user_src/soft_uart.c **** * @brief 检测串口是否可用
  209. 59:user_src/soft_uart.c **** * @param uart_num 串口号
  210. 60:user_src/soft_uart.c **** * @details
  211. 61:user_src/soft_uart.c **** * @author Zhang Sir
  212. 62:user_src/soft_uart.c **** **/
  213. 63:user_src/soft_uart.c **** bool uart_send_is_ok(uint8_t uart_num)
  214. 64:user_src/soft_uart.c **** {
  215. 142 .loc 1 64 1
  216. 143 .cfi_startproc
  217. 144 @ args = 0, pretend = 0, frame = 8
  218. 145 @ frame_needed = 1, uses_anonymous_args = 0
  219. 146 0000 80B5 push {r7, lr}
  220. 147 .LCFI5:
  221. 148 .cfi_def_cfa_offset 8
  222. 149 .cfi_offset 7, -8
  223. 150 .cfi_offset 14, -4
  224. 151 0002 82B0 sub sp, sp, #8
  225. 152 .LCFI6:
  226. 153 .cfi_def_cfa_offset 16
  227. 154 0004 00AF add r7, sp, #0
  228. 155 .LCFI7:
  229. 156 .cfi_def_cfa_register 7
  230. 157 0006 0346 mov r3, r0
  231. 158 0008 FB71 strb r3, [r7, #7]
  232. 65:user_src/soft_uart.c **** //设备升级不发送
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 5
  234. 66:user_src/soft_uart.c **** //if(radar_update_flag == true)
  235. 67:user_src/soft_uart.c **** // return false;
  236. 68:user_src/soft_uart.c **** // if(uart_info.vk_dev_update_flag == true)
  237. 69:user_src/soft_uart.c **** // return false;
  238. 70:user_src/soft_uart.c ****
  239. 71:user_src/soft_uart.c **** if (uart_num == USART_2)
  240. 159 .loc 1 71 5
  241. 160 000a FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  242. 161 000c 022B cmp r3, #2
  243. 162 000e 1DD1 bne .L8
  244. 72:user_src/soft_uart.c **** {
  245. 73:user_src/soft_uart.c **** if (huart2.gState == HAL_UART_STATE_READY && (__HAL_UART_GET_FLAG(&huart2, UART_FLAG_TC) != RESET
  246. 163 .loc 1 73 13
  247. 164 0010 214B ldr r3, .L17
  248. 165 0012 DB6F ldr r3, [r3, #124]
  249. 166 .loc 1 73 6
  250. 167 0014 202B cmp r3, #32
  251. 168 0016 0DD1 bne .L9
  252. 169 .loc 1 73 49 discriminator 1
  253. 170 0018 1F4B ldr r3, .L17
  254. 171 001a 1B68 ldr r3, [r3]
  255. 172 001c DB69 ldr r3, [r3, #28]
  256. 173 001e 03F04003 and r3, r3, #64
  257. 174 .loc 1 73 45 discriminator 1
  258. 175 0022 402B cmp r3, #64
  259. 176 0024 06D1 bne .L9
  260. 177 .loc 1 73 104 discriminator 2
  261. 178 0026 1C4B ldr r3, .L17
  262. 179 0028 1B68 ldr r3, [r3]
  263. 180 002a DB69 ldr r3, [r3, #28]
  264. 181 002c 03F08003 and r3, r3, #128
  265. 182 .loc 1 73 101 discriminator 2
  266. 183 0030 802B cmp r3, #128
  267. 184 0032 01D0 beq .L15
  268. 185 .L9:
  269. 74:user_src/soft_uart.c **** {
  270. 75:user_src/soft_uart.c **** }
  271. 76:user_src/soft_uart.c **** else
  272. 77:user_src/soft_uart.c **** {
  273. 78:user_src/soft_uart.c **** return false;
  274. 186 .loc 1 78 11
  275. 187 0034 0023 movs r3, #0
  276. 188 0036 2BE0 b .L11
  277. 189 .L15:
  278. 79:user_src/soft_uart.c **** }
  279. 80:user_src/soft_uart.c ****
  280. 81:user_src/soft_uart.c **** //延迟1ms发送,防止如果是空闲中断接收,连续发送变成一包
  281. 82:user_src/soft_uart.c **** if(HAL_GetTick() - uart2_send_delay_time <= 1)
  282. 190 .loc 1 82 6
  283. 191 0038 FFF7FEFF bl HAL_GetTick
  284. 192 003c 0246 mov r2, r0
  285. 193 .loc 1 82 20
  286. 194 003e 174B ldr r3, .L17+4
  287. 195 0040 1B68 ldr r3, [r3]
  288. 196 0042 D31A subs r3, r2, r3
  289. 197 .loc 1 82 5
  290. 198 0044 012B cmp r3, #1
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 6
  292. 199 0046 22D8 bhi .L12
  293. 83:user_src/soft_uart.c **** {
  294. 84:user_src/soft_uart.c **** return false;
  295. 200 .loc 1 84 11
  296. 201 0048 0023 movs r3, #0
  297. 202 004a 21E0 b .L11
  298. 203 .L8:
  299. 85:user_src/soft_uart.c **** }
  300. 86:user_src/soft_uart.c **** }
  301. 87:user_src/soft_uart.c **** else if (uart_num == USART_3)
  302. 204 .loc 1 87 10
  303. 205 004c FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  304. 206 004e 032B cmp r3, #3
  305. 207 0050 1DD1 bne .L12
  306. 88:user_src/soft_uart.c **** {
  307. 89:user_src/soft_uart.c **** if (huart3.gState == HAL_UART_STATE_READY && (__HAL_UART_GET_FLAG(&huart3, UART_FLAG_TC) != RESET
  308. 208 .loc 1 89 13
  309. 209 0052 134B ldr r3, .L17+8
  310. 210 0054 DB6F ldr r3, [r3, #124]
  311. 211 .loc 1 89 6
  312. 212 0056 202B cmp r3, #32
  313. 213 0058 0DD1 bne .L13
  314. 214 .loc 1 89 49 discriminator 1
  315. 215 005a 114B ldr r3, .L17+8
  316. 216 005c 1B68 ldr r3, [r3]
  317. 217 005e DB69 ldr r3, [r3, #28]
  318. 218 0060 03F04003 and r3, r3, #64
  319. 219 .loc 1 89 45 discriminator 1
  320. 220 0064 402B cmp r3, #64
  321. 221 0066 06D1 bne .L13
  322. 222 .loc 1 89 104 discriminator 2
  323. 223 0068 0D4B ldr r3, .L17+8
  324. 224 006a 1B68 ldr r3, [r3]
  325. 225 006c DB69 ldr r3, [r3, #28]
  326. 226 006e 03F08003 and r3, r3, #128
  327. 227 .loc 1 89 101 discriminator 2
  328. 228 0072 802B cmp r3, #128
  329. 229 0074 01D0 beq .L16
  330. 230 .L13:
  331. 90:user_src/soft_uart.c **** {
  332. 91:user_src/soft_uart.c **** }
  333. 92:user_src/soft_uart.c **** else
  334. 93:user_src/soft_uart.c **** {
  335. 94:user_src/soft_uart.c **** return false;
  336. 231 .loc 1 94 11
  337. 232 0076 0023 movs r3, #0
  338. 233 0078 0AE0 b .L11
  339. 234 .L16:
  340. 95:user_src/soft_uart.c **** }
  341. 96:user_src/soft_uart.c ****
  342. 97:user_src/soft_uart.c **** if(HAL_GetTick() - uart3_send_delay_time <= 1)
  343. 235 .loc 1 97 6
  344. 236 007a FFF7FEFF bl HAL_GetTick
  345. 237 007e 0246 mov r2, r0
  346. 238 .loc 1 97 20
  347. 239 0080 084B ldr r3, .L17+12
  348. 240 0082 1B68 ldr r3, [r3]
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 7
  350. 241 0084 D31A subs r3, r2, r3
  351. 242 .loc 1 97 5
  352. 243 0086 012B cmp r3, #1
  353. 244 0088 01D8 bhi .L12
  354. 98:user_src/soft_uart.c **** {
  355. 99:user_src/soft_uart.c **** return false;
  356. 245 .loc 1 99 11
  357. 246 008a 0023 movs r3, #0
  358. 247 008c 00E0 b .L11
  359. 248 .L12:
  360. 100:user_src/soft_uart.c **** }
  361. 101:user_src/soft_uart.c **** }
  362. 102:user_src/soft_uart.c ****
  363. 103:user_src/soft_uart.c **** return true;
  364. 249 .loc 1 103 9
  365. 250 008e 0123 movs r3, #1
  366. 251 .L11:
  367. 104:user_src/soft_uart.c ****
  368. 105:user_src/soft_uart.c **** }
  369. 252 .loc 1 105 1
  370. 253 0090 1846 mov r0, r3
  371. 254 0092 0837 adds r7, r7, #8
  372. 255 .LCFI8:
  373. 256 .cfi_def_cfa_offset 8
  374. 257 0094 BD46 mov sp, r7
  375. 258 .LCFI9:
  376. 259 .cfi_def_cfa_register 13
  377. 260 @ sp needed
  378. 261 0096 80BD pop {r7, pc}
  379. 262 .L18:
  380. 263 .align 2
  381. 264 .L17:
  382. 265 0098 00000000 .word huart2
  383. 266 009c 00000000 .word uart2_send_delay_time
  384. 267 00a0 00000000 .word huart3
  385. 268 00a4 00000000 .word uart3_send_delay_time
  386. 269 .cfi_endproc
  387. 270 .LFE134:
  388. 272 .global uart2_send_delay_time
  389. 273 .section .bss.uart2_send_delay_time,"aw",%nobits
  390. 274 .align 2
  391. 277 uart2_send_delay_time:
  392. 278 0000 00000000 .space 4
  393. 279 .global uart3_send_delay_time
  394. 280 .section .bss.uart3_send_delay_time,"aw",%nobits
  395. 281 .align 2
  396. 284 uart3_send_delay_time:
  397. 285 0000 00000000 .space 4
  398. 286 .section .text.uart2_send_msg,"ax",%progbits
  399. 287 .align 1
  400. 288 .global uart2_send_msg
  401. 289 .syntax unified
  402. 290 .thumb
  403. 291 .thumb_func
  404. 293 uart2_send_msg:
  405. 294 .LFB135:
  406. 106:user_src/soft_uart.c ****
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 8
  408. 107:user_src/soft_uart.c **** /**
  409. 108:user_src/soft_uart.c **** * @file uart2_send_msg
  410. 109:user_src/soft_uart.c **** * @brief 串口2发送
  411. 110:user_src/soft_uart.c **** * @param
  412. 111:user_src/soft_uart.c **** * @details
  413. 112:user_src/soft_uart.c **** * @author Zhang Sir
  414. 113:user_src/soft_uart.c **** **/
  415. 114:user_src/soft_uart.c **** uint32_t uart2_send_delay_time = 0;
  416. 115:user_src/soft_uart.c **** uint32_t uart3_send_delay_time = 0;
  417. 116:user_src/soft_uart.c **** void uart2_send_msg(uint8_t *data, uint8_t size)
  418. 117:user_src/soft_uart.c **** {
  419. 295 .loc 1 117 1
  420. 296 .cfi_startproc
  421. 297 @ args = 0, pretend = 0, frame = 8
  422. 298 @ frame_needed = 1, uses_anonymous_args = 0
  423. 299 0000 80B5 push {r7, lr}
  424. 300 .LCFI10:
  425. 301 .cfi_def_cfa_offset 8
  426. 302 .cfi_offset 7, -8
  427. 303 .cfi_offset 14, -4
  428. 304 0002 82B0 sub sp, sp, #8
  429. 305 .LCFI11:
  430. 306 .cfi_def_cfa_offset 16
  431. 307 0004 00AF add r7, sp, #0
  432. 308 .LCFI12:
  433. 309 .cfi_def_cfa_register 7
  434. 310 0006 7860 str r0, [r7, #4]
  435. 311 0008 0B46 mov r3, r1
  436. 312 000a FB70 strb r3, [r7, #3]
  437. 118:user_src/soft_uart.c **** // static uint32_t send_time = 0;
  438. 119:user_src/soft_uart.c ****
  439. 120:user_src/soft_uart.c **** // send_time = HAL_GetTick();
  440. 121:user_src/soft_uart.c **** // //防止连续发送使多个数据变成一个
  441. 122:user_src/soft_uart.c **** // while (HAL_GetTick() - send_time <= 1)
  442. 123:user_src/soft_uart.c **** // ;
  443. 124:user_src/soft_uart.c ****
  444. 125:user_src/soft_uart.c **** rkfifo_in(&send_uart_rkfifo,data,size);
  445. 313 .loc 1 125 2
  446. 314 000c FB78 ldrb r3, [r7, #3] @ zero_extendqisi2
  447. 315 000e 1A46 mov r2, r3
  448. 316 0010 7968 ldr r1, [r7, #4]
  449. 317 0012 0348 ldr r0, .L20
  450. 318 0014 FFF7FEFF bl rkfifo_in
  451. 126:user_src/soft_uart.c **** // HAL_UART_Transmit_DMA(&huart2, data, size);
  452. 127:user_src/soft_uart.c ****
  453. 128:user_src/soft_uart.c **** // uart2_send_delay_time = HAL_GetTick();
  454. 129:user_src/soft_uart.c **** //bspSerialWrite(&serial2,data,size);
  455. 130:user_src/soft_uart.c **** }
  456. 319 .loc 1 130 1
  457. 320 0018 00BF nop
  458. 321 001a 0837 adds r7, r7, #8
  459. 322 .LCFI13:
  460. 323 .cfi_def_cfa_offset 8
  461. 324 001c BD46 mov sp, r7
  462. 325 .LCFI14:
  463. 326 .cfi_def_cfa_register 13
  464. 327 @ sp needed
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 9
  466. 328 001e 80BD pop {r7, pc}
  467. 329 .L21:
  468. 330 .align 2
  469. 331 .L20:
  470. 332 0020 00000000 .word send_uart_rkfifo
  471. 333 .cfi_endproc
  472. 334 .LFE135:
  473. 336 .global send_uart_buf
  474. 337 .section .bss.send_uart_buf,"aw",%nobits
  475. 338 .align 2
  476. 341 send_uart_buf:
  477. 342 0000 00000000 .space 256
  478. 342 00000000
  479. 342 00000000
  480. 342 00000000
  481. 342 00000000
  482. 343 .section .text.send_uartfifo_msg,"ax",%progbits
  483. 344 .align 1
  484. 345 .global send_uartfifo_msg
  485. 346 .syntax unified
  486. 347 .thumb
  487. 348 .thumb_func
  488. 350 send_uartfifo_msg:
  489. 351 .LFB136:
  490. 131:user_src/soft_uart.c **** uint8_t send_uart_buf[256] = {0};
  491. 132:user_src/soft_uart.c ****
  492. 133:user_src/soft_uart.c **** void send_uartfifo_msg(void)
  493. 134:user_src/soft_uart.c **** {
  494. 352 .loc 1 134 1
  495. 353 .cfi_startproc
  496. 354 @ args = 0, pretend = 0, frame = 8
  497. 355 @ frame_needed = 1, uses_anonymous_args = 0
  498. 356 0000 80B5 push {r7, lr}
  499. 357 .LCFI15:
  500. 358 .cfi_def_cfa_offset 8
  501. 359 .cfi_offset 7, -8
  502. 360 .cfi_offset 14, -4
  503. 361 0002 82B0 sub sp, sp, #8
  504. 362 .LCFI16:
  505. 363 .cfi_def_cfa_offset 16
  506. 364 0004 00AF add r7, sp, #0
  507. 365 .LCFI17:
  508. 366 .cfi_def_cfa_register 7
  509. 135:user_src/soft_uart.c **** uint16_t len = 0;
  510. 367 .loc 1 135 11
  511. 368 0006 0023 movs r3, #0
  512. 369 0008 FB80 strh r3, [r7, #6] @ movhi
  513. 136:user_src/soft_uart.c **** if(uart_send_is_ok(USART_2) == true)
  514. 370 .loc 1 136 5
  515. 371 000a 0220 movs r0, #2
  516. 372 000c FFF7FEFF bl uart_send_is_ok
  517. 373 0010 0346 mov r3, r0
  518. 374 .loc 1 136 4
  519. 375 0012 002B cmp r3, #0
  520. 376 0014 15D0 beq .L24
  521. 137:user_src/soft_uart.c **** {
  522. 138:user_src/soft_uart.c **** len = rkfifo_out(&send_uart_rkfifo, &send_uart_buf, 256);
  523. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 10
  524. 377 .loc 1 138 9
  525. 378 0016 4FF48072 mov r2, #256
  526. 379 001a 0C49 ldr r1, .L25
  527. 380 001c 0C48 ldr r0, .L25+4
  528. 381 001e FFF7FEFF bl rkfifo_out
  529. 382 0022 0346 mov r3, r0
  530. 383 .loc 1 138 7
  531. 384 0024 FB80 strh r3, [r7, #6] @ movhi
  532. 139:user_src/soft_uart.c ****
  533. 140:user_src/soft_uart.c **** if(len > 0)
  534. 385 .loc 1 140 5
  535. 386 0026 FB88 ldrh r3, [r7, #6]
  536. 387 0028 002B cmp r3, #0
  537. 388 002a 0AD0 beq .L24
  538. 141:user_src/soft_uart.c **** {
  539. 142:user_src/soft_uart.c **** HAL_UART_Transmit_DMA(&huart2, send_uart_buf, len);
  540. 389 .loc 1 142 4
  541. 390 002c FB88 ldrh r3, [r7, #6]
  542. 391 002e 1A46 mov r2, r3
  543. 392 0030 0649 ldr r1, .L25
  544. 393 0032 0848 ldr r0, .L25+8
  545. 394 0034 FFF7FEFF bl HAL_UART_Transmit_DMA
  546. 143:user_src/soft_uart.c **** uart2_send_delay_time = HAL_GetTick();
  547. 395 .loc 1 143 28
  548. 396 0038 FFF7FEFF bl HAL_GetTick
  549. 397 003c 0346 mov r3, r0
  550. 398 .loc 1 143 26
  551. 399 003e 064A ldr r2, .L25+12
  552. 400 0040 1360 str r3, [r2]
  553. 401 .L24:
  554. 144:user_src/soft_uart.c **** }
  555. 145:user_src/soft_uart.c **** }
  556. 146:user_src/soft_uart.c **** }
  557. 402 .loc 1 146 1
  558. 403 0042 00BF nop
  559. 404 0044 0837 adds r7, r7, #8
  560. 405 .LCFI18:
  561. 406 .cfi_def_cfa_offset 8
  562. 407 0046 BD46 mov sp, r7
  563. 408 .LCFI19:
  564. 409 .cfi_def_cfa_register 13
  565. 410 @ sp needed
  566. 411 0048 80BD pop {r7, pc}
  567. 412 .L26:
  568. 413 004a 00BF .align 2
  569. 414 .L25:
  570. 415 004c 00000000 .word send_uart_buf
  571. 416 0050 00000000 .word send_uart_rkfifo
  572. 417 0054 00000000 .word huart2
  573. 418 0058 00000000 .word uart2_send_delay_time
  574. 419 .cfi_endproc
  575. 420 .LFE136:
  576. 422 .section .text.uart3_send_msg,"ax",%progbits
  577. 423 .align 1
  578. 424 .global uart3_send_msg
  579. 425 .syntax unified
  580. 426 .thumb
  581. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 11
  582. 427 .thumb_func
  583. 429 uart3_send_msg:
  584. 430 .LFB137:
  585. 147:user_src/soft_uart.c ****
  586. 148:user_src/soft_uart.c **** //uart3 发送调用函数
  587. 149:user_src/soft_uart.c **** void uart3_send_msg(uint8_t *data, uint8_t size)
  588. 150:user_src/soft_uart.c **** {
  589. 431 .loc 1 150 1
  590. 432 .cfi_startproc
  591. 433 @ args = 0, pretend = 0, frame = 8
  592. 434 @ frame_needed = 1, uses_anonymous_args = 0
  593. 435 0000 80B5 push {r7, lr}
  594. 436 .LCFI20:
  595. 437 .cfi_def_cfa_offset 8
  596. 438 .cfi_offset 7, -8
  597. 439 .cfi_offset 14, -4
  598. 440 0002 82B0 sub sp, sp, #8
  599. 441 .LCFI21:
  600. 442 .cfi_def_cfa_offset 16
  601. 443 0004 00AF add r7, sp, #0
  602. 444 .LCFI22:
  603. 445 .cfi_def_cfa_register 7
  604. 446 0006 7860 str r0, [r7, #4]
  605. 447 0008 0B46 mov r3, r1
  606. 448 000a FB70 strb r3, [r7, #3]
  607. 151:user_src/soft_uart.c **** static uint32_t send_time3 = 0;
  608. 152:user_src/soft_uart.c ****
  609. 153:user_src/soft_uart.c **** send_time3 = HAL_GetTick();
  610. 449 .loc 1 153 15
  611. 450 000c FFF7FEFF bl HAL_GetTick
  612. 451 0010 0346 mov r3, r0
  613. 452 .loc 1 153 13
  614. 453 0012 0D4A ldr r2, .L29
  615. 454 0014 1360 str r3, [r2]
  616. 154:user_src/soft_uart.c **** while (HAL_GetTick() - send_time3 <= 1)
  617. 455 .loc 1 154 8
  618. 456 0016 00BF nop
  619. 457 .L28:
  620. 458 .loc 1 154 9 discriminator 1
  621. 459 0018 FFF7FEFF bl HAL_GetTick
  622. 460 001c 0246 mov r2, r0
  623. 461 .loc 1 154 23 discriminator 1
  624. 462 001e 0A4B ldr r3, .L29
  625. 463 0020 1B68 ldr r3, [r3]
  626. 464 0022 D31A subs r3, r2, r3
  627. 465 .loc 1 154 8 discriminator 1
  628. 466 0024 012B cmp r3, #1
  629. 467 0026 F7D9 bls .L28
  630. 155:user_src/soft_uart.c **** ;
  631. 156:user_src/soft_uart.c **** HAL_UART_Transmit_DMA(&huart3, data, size);
  632. 468 .loc 1 156 2
  633. 469 0028 FB78 ldrb r3, [r7, #3] @ zero_extendqisi2
  634. 470 002a 9BB2 uxth r3, r3
  635. 471 002c 1A46 mov r2, r3
  636. 472 002e 7968 ldr r1, [r7, #4]
  637. 473 0030 0648 ldr r0, .L29+4
  638. 474 0032 FFF7FEFF bl HAL_UART_Transmit_DMA
  639. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 12
  640. 157:user_src/soft_uart.c **** uart3_send_delay_time = HAL_GetTick();
  641. 475 .loc 1 157 26
  642. 476 0036 FFF7FEFF bl HAL_GetTick
  643. 477 003a 0346 mov r3, r0
  644. 478 .loc 1 157 24
  645. 479 003c 044A ldr r2, .L29+8
  646. 480 003e 1360 str r3, [r2]
  647. 158:user_src/soft_uart.c **** }
  648. 481 .loc 1 158 1
  649. 482 0040 00BF nop
  650. 483 0042 0837 adds r7, r7, #8
  651. 484 .LCFI23:
  652. 485 .cfi_def_cfa_offset 8
  653. 486 0044 BD46 mov sp, r7
  654. 487 .LCFI24:
  655. 488 .cfi_def_cfa_register 13
  656. 489 @ sp needed
  657. 490 0046 80BD pop {r7, pc}
  658. 491 .L30:
  659. 492 .align 2
  660. 493 .L29:
  661. 494 0048 00000000 .word send_time3.2
  662. 495 004c 00000000 .word huart3
  663. 496 0050 00000000 .word uart3_send_delay_time
  664. 497 .cfi_endproc
  665. 498 .LFE137:
  666. 500 .section .text.UART_Init,"ax",%progbits
  667. 501 .align 1
  668. 502 .global UART_Init
  669. 503 .syntax unified
  670. 504 .thumb
  671. 505 .thumb_func
  672. 507 UART_Init:
  673. 508 .LFB138:
  674. 159:user_src/soft_uart.c ****
  675. 160:user_src/soft_uart.c ****
  676. 161:user_src/soft_uart.c **** /**
  677. 162:user_src/soft_uart.c **** * @file UART_Init
  678. 163:user_src/soft_uart.c **** * @brief UART23初始化接收空闲中断 开起DMA
  679. 164:user_src/soft_uart.c **** * @param
  680. 165:user_src/soft_uart.c **** * @details
  681. 166:user_src/soft_uart.c **** * @author Zhang Sir
  682. 167:user_src/soft_uart.c **** **/
  683. 168:user_src/soft_uart.c **** void UART_Init(void)
  684. 169:user_src/soft_uart.c **** {
  685. 509 .loc 1 169 1
  686. 510 .cfi_startproc
  687. 511 @ args = 0, pretend = 0, frame = 0
  688. 512 @ frame_needed = 1, uses_anonymous_args = 0
  689. 513 0000 80B5 push {r7, lr}
  690. 514 .LCFI25:
  691. 515 .cfi_def_cfa_offset 8
  692. 516 .cfi_offset 7, -8
  693. 517 .cfi_offset 14, -4
  694. 518 0002 00AF add r7, sp, #0
  695. 519 .LCFI26:
  696. 520 .cfi_def_cfa_register 7
  697. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 13
  698. 170:user_src/soft_uart.c **** //uart2
  699. 171:user_src/soft_uart.c **** //__HAL_UART_ENABLE_IT(&huart2, UART_IT_RXNE); //接收到一个字节产生一次中断
  700. 172:user_src/soft_uart.c **** //HAL_UART_Receive_IT(&huart2, &test_buf, 1);
  701. 173:user_src/soft_uart.c ****
  702. 174:user_src/soft_uart.c **** __HAL_UART_ENABLE_IT(&huart2, UART_IT_IDLE); //uart2 空闲中断
  703. 521 .loc 1 174 2
  704. 522 0004 164B ldr r3, .L32
  705. 523 0006 1B68 ldr r3, [r3]
  706. 524 0008 1A68 ldr r2, [r3]
  707. 525 000a 154B ldr r3, .L32
  708. 526 000c 1B68 ldr r3, [r3]
  709. 527 000e 42F01002 orr r2, r2, #16
  710. 528 0012 1A60 str r2, [r3]
  711. 175:user_src/soft_uart.c **** HAL_UART_Receive_DMA(&huart2, (uint8_t *)uart_info.uart2_recv_buf, MAX_UART_BUF);
  712. 529 .loc 1 175 2
  713. 530 0014 4FF48072 mov r2, #256
  714. 531 0018 1249 ldr r1, .L32+4
  715. 532 001a 1148 ldr r0, .L32
  716. 533 001c FFF7FEFF bl HAL_UART_Receive_DMA
  717. 176:user_src/soft_uart.c **** //开启错误处理机制
  718. 177:user_src/soft_uart.c **** __HAL_UART_ENABLE_IT(&huart2, UART_IT_ERR);
  719. 534 .loc 1 177 2
  720. 535 0020 0F4B ldr r3, .L32
  721. 536 0022 1B68 ldr r3, [r3]
  722. 537 0024 9A68 ldr r2, [r3, #8]
  723. 538 0026 0E4B ldr r3, .L32
  724. 539 0028 1B68 ldr r3, [r3]
  725. 540 002a 42F00102 orr r2, r2, #1
  726. 541 002e 9A60 str r2, [r3, #8]
  727. 178:user_src/soft_uart.c ****
  728. 179:user_src/soft_uart.c **** //uart3
  729. 180:user_src/soft_uart.c **** //HAL_UART_Receive_IT(&huart3, (uint8_t *)uart_info.uart3_recv_buf, 1);
  730. 181:user_src/soft_uart.c ****
  731. 182:user_src/soft_uart.c **** __HAL_UART_ENABLE_IT(&huart3, UART_IT_IDLE);
  732. 542 .loc 1 182 2
  733. 543 0030 0D4B ldr r3, .L32+8
  734. 544 0032 1B68 ldr r3, [r3]
  735. 545 0034 1A68 ldr r2, [r3]
  736. 546 0036 0C4B ldr r3, .L32+8
  737. 547 0038 1B68 ldr r3, [r3]
  738. 548 003a 42F01002 orr r2, r2, #16
  739. 549 003e 1A60 str r2, [r3]
  740. 183:user_src/soft_uart.c **** HAL_UART_Receive_DMA(&huart3, (uint8_t *)uart_info.uart3_recv_buf, MAX_UART_BUF);
  741. 550 .loc 1 183 2
  742. 551 0040 4FF48072 mov r2, #256
  743. 552 0044 0949 ldr r1, .L32+12
  744. 553 0046 0848 ldr r0, .L32+8
  745. 554 0048 FFF7FEFF bl HAL_UART_Receive_DMA
  746. 184:user_src/soft_uart.c **** //开启错误处理机制
  747. 185:user_src/soft_uart.c **** __HAL_UART_ENABLE_IT(&huart3, UART_IT_ERR);
  748. 555 .loc 1 185 2
  749. 556 004c 064B ldr r3, .L32+8
  750. 557 004e 1B68 ldr r3, [r3]
  751. 558 0050 9A68 ldr r2, [r3, #8]
  752. 559 0052 054B ldr r3, .L32+8
  753. 560 0054 1B68 ldr r3, [r3]
  754. 561 0056 42F00102 orr r2, r2, #1
  755. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 14
  756. 562 005a 9A60 str r2, [r3, #8]
  757. 186:user_src/soft_uart.c ****
  758. 187:user_src/soft_uart.c **** }
  759. 563 .loc 1 187 1
  760. 564 005c 00BF nop
  761. 565 005e 80BD pop {r7, pc}
  762. 566 .L33:
  763. 567 .align 2
  764. 568 .L32:
  765. 569 0060 00000000 .word huart2
  766. 570 0064 02000000 .word uart_info+2
  767. 571 0068 00000000 .word huart3
  768. 572 006c 98000000 .word uart_info+152
  769. 573 .cfi_endproc
  770. 574 .LFE138:
  771. 576 .global read_DR
  772. 577 .section .bss.read_DR,"aw",%nobits
  773. 578 .align 2
  774. 581 read_DR:
  775. 582 0000 00000000 .space 4
  776. 583 .global recv_rkfifo
  777. 584 .section .bss.recv_rkfifo,"aw",%nobits
  778. 585 .align 2
  779. 588 recv_rkfifo:
  780. 589 0000 00000000 .space 24
  781. 589 00000000
  782. 589 00000000
  783. 589 00000000
  784. 589 00000000
  785. 590 .section .text.USER_UART_IRQHandler,"ax",%progbits
  786. 591 .align 1
  787. 592 .global USER_UART_IRQHandler
  788. 593 .syntax unified
  789. 594 .thumb
  790. 595 .thumb_func
  791. 597 USER_UART_IRQHandler:
  792. 598 .LFB139:
  793. 188:user_src/soft_uart.c ****
  794. 189:user_src/soft_uart.c ****
  795. 190:user_src/soft_uart.c **** /**
  796. 191:user_src/soft_uart.c **** * @file USER_UART_IRQHandler
  797. 192:user_src/soft_uart.c **** * @brief user用户中断函数
  798. 193:user_src/soft_uart.c **** * @param
  799. 194:user_src/soft_uart.c **** * @details
  800. 195:user_src/soft_uart.c **** * @author Zhang Sir
  801. 196:user_src/soft_uart.c **** **/
  802. 197:user_src/soft_uart.c **** uint32_t read_DR;
  803. 198:user_src/soft_uart.c **** rkfifo_t recv_rkfifo;
  804. 199:user_src/soft_uart.c **** void USER_UART_IRQHandler(UART_HandleTypeDef *huart)
  805. 200:user_src/soft_uart.c **** {
  806. 599 .loc 1 200 1
  807. 600 .cfi_startproc
  808. 601 @ args = 0, pretend = 0, frame = 8
  809. 602 @ frame_needed = 1, uses_anonymous_args = 0
  810. 603 0000 80B5 push {r7, lr}
  811. 604 .LCFI27:
  812. 605 .cfi_def_cfa_offset 8
  813. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 15
  814. 606 .cfi_offset 7, -8
  815. 607 .cfi_offset 14, -4
  816. 608 0002 82B0 sub sp, sp, #8
  817. 609 .LCFI28:
  818. 610 .cfi_def_cfa_offset 16
  819. 611 0004 00AF add r7, sp, #0
  820. 612 .LCFI29:
  821. 613 .cfi_def_cfa_register 7
  822. 614 0006 7860 str r0, [r7, #4]
  823. 201:user_src/soft_uart.c **** if (huart == &huart2)
  824. 615 .loc 1 201 5
  825. 616 0008 7B68 ldr r3, [r7, #4]
  826. 617 000a 3C4A ldr r2, .L41
  827. 618 000c 9342 cmp r3, r2
  828. 619 000e 25D1 bne .L35
  829. 202:user_src/soft_uart.c **** {
  830. 203:user_src/soft_uart.c **** if (RESET != __HAL_UART_GET_FLAG(&huart2, UART_FLAG_IDLE))
  831. 620 .loc 1 203 16
  832. 621 0010 3A4B ldr r3, .L41
  833. 622 0012 1B68 ldr r3, [r3]
  834. 623 0014 DB69 ldr r3, [r3, #28]
  835. 624 0016 03F01003 and r3, r3, #16
  836. 625 .loc 1 203 6
  837. 626 001a 102B cmp r3, #16
  838. 627 001c 1ED1 bne .L35
  839. 204:user_src/soft_uart.c **** {
  840. 205:user_src/soft_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(&huart2);
  841. 628 .loc 1 205 4
  842. 629 001e 374B ldr r3, .L41
  843. 630 0020 1B68 ldr r3, [r3]
  844. 631 0022 1022 movs r2, #16
  845. 632 0024 1A62 str r2, [r3, #32]
  846. 206:user_src/soft_uart.c **** HAL_UART_AbortReceive(&huart2);//HAL_UART_DMAStop 有问题
  847. 633 .loc 1 206 4
  848. 634 0026 3548 ldr r0, .L41
  849. 635 0028 FFF7FEFF bl HAL_UART_AbortReceive
  850. 207:user_src/soft_uart.c **** uart_info.uart_dma_recv_counts = MAX_UART_BUF - __HAL_DMA_GET_COUNTER(huart->hdmarx);
  851. 636 .loc 1 207 52
  852. 637 002c 7B68 ldr r3, [r7, #4]
  853. 638 002e 5B6F ldr r3, [r3, #116]
  854. 639 0030 1B68 ldr r3, [r3]
  855. 640 0032 5B68 ldr r3, [r3, #4]
  856. 641 .loc 1 207 50
  857. 642 0034 DBB2 uxtb r3, r3
  858. 643 0036 5B42 rsbs r3, r3, #0
  859. 644 0038 DAB2 uxtb r2, r3
  860. 645 .loc 1 207 35
  861. 646 003a 314B ldr r3, .L41+4
  862. 647 003c 83F81821 strb r2, [r3, #280]
  863. 208:user_src/soft_uart.c **** rkfifo_in(&recv_rkfifo,uart_info.uart2_recv_buf,uart_info.uart_dma_recv_counts);
  864. 648 .loc 1 208 61
  865. 649 0040 2F4B ldr r3, .L41+4
  866. 650 0042 93F81831 ldrb r3, [r3, #280] @ zero_extendqisi2
  867. 651 .loc 1 208 4
  868. 652 0046 1A46 mov r2, r3
  869. 653 0048 2E49 ldr r1, .L41+8
  870. 654 004a 2F48 ldr r0, .L41+12
  871. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 16
  872. 655 004c FFF7FEFF bl rkfifo_in
  873. 209:user_src/soft_uart.c **** HAL_UART_Receive_DMA(&huart2, uart_info.uart2_recv_buf, MAX_UART_BUF);
  874. 656 .loc 1 209 4
  875. 657 0050 4FF48072 mov r2, #256
  876. 658 0054 2B49 ldr r1, .L41+8
  877. 659 0056 2948 ldr r0, .L41
  878. 660 0058 FFF7FEFF bl HAL_UART_Receive_DMA
  879. 661 .L35:
  880. 210:user_src/soft_uart.c **** }
  881. 211:user_src/soft_uart.c **** }
  882. 212:user_src/soft_uart.c ****
  883. 213:user_src/soft_uart.c **** if(huart == &huart3)
  884. 662 .loc 1 213 7
  885. 663 005c 7B68 ldr r3, [r7, #4]
  886. 664 005e 2B4A ldr r2, .L41+16
  887. 665 0060 9342 cmp r3, r2
  888. 666 0062 46D1 bne .L40
  889. 214:user_src/soft_uart.c **** {
  890. 215:user_src/soft_uart.c **** if (RESET != __HAL_UART_GET_FLAG(&huart3, UART_FLAG_IDLE))
  891. 667 .loc 1 215 16
  892. 668 0064 294B ldr r3, .L41+16
  893. 669 0066 1B68 ldr r3, [r3]
  894. 670 0068 DB69 ldr r3, [r3, #28]
  895. 671 006a 03F01003 and r3, r3, #16
  896. 672 .loc 1 215 6
  897. 673 006e 102B cmp r3, #16
  898. 674 0070 3FD1 bne .L40
  899. 216:user_src/soft_uart.c **** {
  900. 217:user_src/soft_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(&huart3); //清除中断标志位,不清除一直在中断里
  901. 675 .loc 1 217 4
  902. 676 0072 264B ldr r3, .L41+16
  903. 677 0074 1B68 ldr r3, [r3]
  904. 678 0076 1022 movs r2, #16
  905. 679 0078 1A62 str r2, [r3, #32]
  906. 218:user_src/soft_uart.c **** HAL_UART_AbortReceive(&huart3);
  907. 680 .loc 1 218 4
  908. 681 007a 2448 ldr r0, .L41+16
  909. 682 007c FFF7FEFF bl HAL_UART_AbortReceive
  910. 219:user_src/soft_uart.c ****
  911. 220:user_src/soft_uart.c **** uart_info.uart_dma_recv_counts = MAX_UART_BUF - __HAL_DMA_GET_COUNTER(huart->hdmarx);
  912. 683 .loc 1 220 52
  913. 684 0080 7B68 ldr r3, [r7, #4]
  914. 685 0082 5B6F ldr r3, [r3, #116]
  915. 686 0084 1B68 ldr r3, [r3]
  916. 687 0086 5B68 ldr r3, [r3, #4]
  917. 688 .loc 1 220 50
  918. 689 0088 DBB2 uxtb r3, r3
  919. 690 008a 5B42 rsbs r3, r3, #0
  920. 691 008c DAB2 uxtb r2, r3
  921. 692 .loc 1 220 35
  922. 693 008e 1C4B ldr r3, .L41+4
  923. 694 0090 83F81821 strb r2, [r3, #280]
  924. 221:user_src/soft_uart.c ****
  925. 222:user_src/soft_uart.c **** //串口三接奥安,上飞发动机
  926. 223:user_src/soft_uart.c **** if (aoan_engine_Link.connect_status != COMP_NOEXIST)
  927. 695 .loc 1 223 24
  928. 696 0094 1E4B ldr r3, .L41+20
  929. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 17
  930. 697 0096 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2
  931. 698 .loc 1 223 7
  932. 699 0098 002B cmp r3, #0
  933. 700 009a 08D0 beq .L37
  934. 224:user_src/soft_uart.c **** {
  935. 225:user_src/soft_uart.c **** decode_aoan_engine(uart_info.uart3_recv_buf, uart_info.uart_dma_recv_counts);
  936. 701 .loc 1 225 59
  937. 702 009c 184B ldr r3, .L41+4
  938. 703 009e 93F81831 ldrb r3, [r3, #280] @ zero_extendqisi2
  939. 704 .loc 1 225 5
  940. 705 00a2 9BB2 uxth r3, r3
  941. 706 00a4 1946 mov r1, r3
  942. 707 00a6 1B48 ldr r0, .L41+24
  943. 708 00a8 FFF7FEFF bl decode_aoan_engine
  944. 709 00ac 1CE0 b .L38
  945. 710 .L37:
  946. 226:user_src/soft_uart.c **** }
  947. 227:user_src/soft_uart.c **** else if (vkv3_engine_link.connect_status != COMP_NOEXIST)
  948. 711 .loc 1 227 29
  949. 712 00ae 1A4B ldr r3, .L41+28
  950. 713 00b0 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2
  951. 714 .loc 1 227 12
  952. 715 00b2 002B cmp r3, #0
  953. 716 00b4 08D0 beq .L39
  954. 228:user_src/soft_uart.c **** {
  955. 229:user_src/soft_uart.c **** decode_vkv3_engine(uart_info.uart3_recv_buf, uart_info.uart_dma_recv_counts);
  956. 717 .loc 1 229 59
  957. 718 00b6 124B ldr r3, .L41+4
  958. 719 00b8 93F81831 ldrb r3, [r3, #280] @ zero_extendqisi2
  959. 720 .loc 1 229 5
  960. 721 00bc 9BB2 uxth r3, r3
  961. 722 00be 1946 mov r1, r3
  962. 723 00c0 1448 ldr r0, .L41+24
  963. 724 00c2 FFF7FEFF bl decode_vkv3_engine
  964. 725 00c6 0FE0 b .L38
  965. 726 .L39:
  966. 230:user_src/soft_uart.c **** }
  967. 231:user_src/soft_uart.c **** else
  968. 232:user_src/soft_uart.c **** {
  969. 233:user_src/soft_uart.c **** //根据协议选择设备
  970. 234:user_src/soft_uart.c **** decode_vkv3_engine(uart_info.uart3_recv_buf, uart_info.uart_dma_recv_counts);
  971. 727 .loc 1 234 59
  972. 728 00c8 0D4B ldr r3, .L41+4
  973. 729 00ca 93F81831 ldrb r3, [r3, #280] @ zero_extendqisi2
  974. 730 .loc 1 234 5
  975. 731 00ce 9BB2 uxth r3, r3
  976. 732 00d0 1946 mov r1, r3
  977. 733 00d2 1048 ldr r0, .L41+24
  978. 734 00d4 FFF7FEFF bl decode_vkv3_engine
  979. 235:user_src/soft_uart.c **** decode_aoan_engine(uart_info.uart3_recv_buf, uart_info.uart_dma_recv_counts);
  980. 735 .loc 1 235 59
  981. 736 00d8 094B ldr r3, .L41+4
  982. 737 00da 93F81831 ldrb r3, [r3, #280] @ zero_extendqisi2
  983. 738 .loc 1 235 5
  984. 739 00de 9BB2 uxth r3, r3
  985. 740 00e0 1946 mov r1, r3
  986. 741 00e2 0C48 ldr r0, .L41+24
  987. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 18
  988. 742 00e4 FFF7FEFF bl decode_aoan_engine
  989. 743 .L38:
  990. 236:user_src/soft_uart.c **** }
  991. 237:user_src/soft_uart.c ****
  992. 238:user_src/soft_uart.c **** HAL_UART_Receive_DMA(&huart3, (uint8_t *)uart_info.uart3_recv_buf, MAX_UART_BUF/2);
  993. 744 .loc 1 238 4
  994. 745 00e8 8022 movs r2, #128
  995. 746 00ea 0A49 ldr r1, .L41+24
  996. 747 00ec 0748 ldr r0, .L41+16
  997. 748 00ee FFF7FEFF bl HAL_UART_Receive_DMA
  998. 749 .L40:
  999. 239:user_src/soft_uart.c **** }
  1000. 240:user_src/soft_uart.c **** }
  1001. 241:user_src/soft_uart.c **** }
  1002. 750 .loc 1 241 1
  1003. 751 00f2 00BF nop
  1004. 752 00f4 0837 adds r7, r7, #8
  1005. 753 .LCFI30:
  1006. 754 .cfi_def_cfa_offset 8
  1007. 755 00f6 BD46 mov sp, r7
  1008. 756 .LCFI31:
  1009. 757 .cfi_def_cfa_register 13
  1010. 758 @ sp needed
  1011. 759 00f8 80BD pop {r7, pc}
  1012. 760 .L42:
  1013. 761 00fa 00BF .align 2
  1014. 762 .L41:
  1015. 763 00fc 00000000 .word huart2
  1016. 764 0100 00000000 .word uart_info
  1017. 765 0104 02000000 .word uart_info+2
  1018. 766 0108 00000000 .word recv_rkfifo
  1019. 767 010c 00000000 .word huart3
  1020. 768 0110 00000000 .word aoan_engine_Link
  1021. 769 0114 98000000 .word uart_info+152
  1022. 770 0118 00000000 .word vkv3_engine_link
  1023. 771 .cfi_endproc
  1024. 772 .LFE139:
  1025. 774 .section .text.HAL_UART_ErrorCallback,"ax",%progbits
  1026. 775 .align 1
  1027. 776 .global HAL_UART_ErrorCallback
  1028. 777 .syntax unified
  1029. 778 .thumb
  1030. 779 .thumb_func
  1031. 781 HAL_UART_ErrorCallback:
  1032. 782 .LFB140:
  1033. 242:user_src/soft_uart.c ****
  1034. 243:user_src/soft_uart.c ****
  1035. 244:user_src/soft_uart.c **** /**
  1036. 245:user_src/soft_uart.c **** * @file HAL_UART_ErrorCallback
  1037. 246:user_src/soft_uart.c **** * @brief uart错误中断回调函数
  1038. 247:user_src/soft_uart.c **** * @param
  1039. 248:user_src/soft_uart.c **** * @details
  1040. 249:user_src/soft_uart.c **** * @author Zhang Sir
  1041. 250:user_src/soft_uart.c **** **/
  1042. 251:user_src/soft_uart.c **** void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
  1043. 252:user_src/soft_uart.c **** {
  1044. 783 .loc 1 252 1
  1045. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 19
  1046. 784 .cfi_startproc
  1047. 785 @ args = 0, pretend = 0, frame = 8
  1048. 786 @ frame_needed = 1, uses_anonymous_args = 0
  1049. 787 0000 80B5 push {r7, lr}
  1050. 788 .LCFI32:
  1051. 789 .cfi_def_cfa_offset 8
  1052. 790 .cfi_offset 7, -8
  1053. 791 .cfi_offset 14, -4
  1054. 792 0002 82B0 sub sp, sp, #8
  1055. 793 .LCFI33:
  1056. 794 .cfi_def_cfa_offset 16
  1057. 795 0004 00AF add r7, sp, #0
  1058. 796 .LCFI34:
  1059. 797 .cfi_def_cfa_register 7
  1060. 798 0006 7860 str r0, [r7, #4]
  1061. 253:user_src/soft_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_ORE) != RESET) //接收溢出检测
  1062. 799 .loc 1 253 6
  1063. 800 0008 7B68 ldr r3, [r7, #4]
  1064. 801 000a 1B68 ldr r3, [r3]
  1065. 802 000c DB69 ldr r3, [r3, #28]
  1066. 803 000e 03F00803 and r3, r3, #8
  1067. 804 .loc 1 253 5
  1068. 805 0012 082B cmp r3, #8
  1069. 806 0014 03D1 bne .L44
  1070. 254:user_src/soft_uart.c **** {
  1071. 255:user_src/soft_uart.c **** __HAL_UART_CLEAR_OREFLAG(huart);
  1072. 807 .loc 1 255 3
  1073. 808 0016 7B68 ldr r3, [r7, #4]
  1074. 809 0018 1B68 ldr r3, [r3]
  1075. 810 001a 0822 movs r2, #8
  1076. 811 001c 1A62 str r2, [r3, #32]
  1077. 812 .L44:
  1078. 256:user_src/soft_uart.c **** }
  1079. 257:user_src/soft_uart.c ****
  1080. 258:user_src/soft_uart.c **** if (__HAL_UART_GET_FLAG (huart, UART_FLAG_RXNE) != RESET)//接收数据
  1081. 813 .loc 1 258 6
  1082. 814 001e 7B68 ldr r3, [r7, #4]
  1083. 815 0020 1B68 ldr r3, [r3]
  1084. 816 0022 DB69 ldr r3, [r3, #28]
  1085. 817 0024 03F02003 and r3, r3, #32
  1086. 818 .loc 1 258 5
  1087. 819 0028 202B cmp r3, #32
  1088. 820 002a 03D1 bne .L45
  1089. 259:user_src/soft_uart.c **** {
  1090. 260:user_src/soft_uart.c **** __HAL_UART_CLEAR_FLAG (huart, UART_FLAG_RXNE);
  1091. 821 .loc 1 260 5
  1092. 822 002c 7B68 ldr r3, [r7, #4]
  1093. 823 002e 1B68 ldr r3, [r3]
  1094. 824 0030 2022 movs r2, #32
  1095. 825 0032 1A62 str r2, [r3, #32]
  1096. 826 .L45:
  1097. 261:user_src/soft_uart.c **** }
  1098. 262:user_src/soft_uart.c ****
  1099. 263:user_src/soft_uart.c **** __HAL_UART_CLEAR_PEFLAG (huart);
  1100. 827 .loc 1 263 2
  1101. 828 0034 7B68 ldr r3, [r7, #4]
  1102. 829 0036 1B68 ldr r3, [r3]
  1103. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 20
  1104. 830 0038 0122 movs r2, #1
  1105. 831 003a 1A62 str r2, [r3, #32]
  1106. 264:user_src/soft_uart.c ****
  1107. 265:user_src/soft_uart.c **** if (huart == &huart2)
  1108. 832 .loc 1 265 5
  1109. 833 003c 7B68 ldr r3, [r7, #4]
  1110. 834 003e 0B4A ldr r2, .L49
  1111. 835 0040 9342 cmp r3, r2
  1112. 836 0042 06D1 bne .L46
  1113. 266:user_src/soft_uart.c **** {
  1114. 267:user_src/soft_uart.c **** HAL_UART_Receive_DMA(&huart2, (uint8_t *)uart_info.uart2_recv_buf, MAX_UART_BUF);
  1115. 837 .loc 1 267 3
  1116. 838 0044 4FF48072 mov r2, #256
  1117. 839 0048 0949 ldr r1, .L49+4
  1118. 840 004a 0848 ldr r0, .L49
  1119. 841 004c FFF7FEFF bl HAL_UART_Receive_DMA
  1120. 268:user_src/soft_uart.c **** }
  1121. 269:user_src/soft_uart.c **** else if (huart == &huart3)
  1122. 270:user_src/soft_uart.c **** {
  1123. 271:user_src/soft_uart.c **** HAL_UART_Receive_DMA(&huart3, (uint8_t *)uart_info.uart3_recv_buf, MAX_UART_BUF/2);
  1124. 272:user_src/soft_uart.c **** }
  1125. 273:user_src/soft_uart.c ****
  1126. 274:user_src/soft_uart.c **** }
  1127. 842 .loc 1 274 1
  1128. 843 0050 08E0 b .L48
  1129. 844 .L46:
  1130. 269:user_src/soft_uart.c **** {
  1131. 845 .loc 1 269 10
  1132. 846 0052 7B68 ldr r3, [r7, #4]
  1133. 847 0054 074A ldr r2, .L49+8
  1134. 848 0056 9342 cmp r3, r2
  1135. 849 0058 04D1 bne .L48
  1136. 271:user_src/soft_uart.c **** }
  1137. 850 .loc 1 271 3
  1138. 851 005a 8022 movs r2, #128
  1139. 852 005c 0649 ldr r1, .L49+12
  1140. 853 005e 0548 ldr r0, .L49+8
  1141. 854 0060 FFF7FEFF bl HAL_UART_Receive_DMA
  1142. 855 .L48:
  1143. 856 .loc 1 274 1
  1144. 857 0064 00BF nop
  1145. 858 0066 0837 adds r7, r7, #8
  1146. 859 .LCFI35:
  1147. 860 .cfi_def_cfa_offset 8
  1148. 861 0068 BD46 mov sp, r7
  1149. 862 .LCFI36:
  1150. 863 .cfi_def_cfa_register 13
  1151. 864 @ sp needed
  1152. 865 006a 80BD pop {r7, pc}
  1153. 866 .L50:
  1154. 867 .align 2
  1155. 868 .L49:
  1156. 869 006c 00000000 .word huart2
  1157. 870 0070 02000000 .word uart_info+2
  1158. 871 0074 00000000 .word huart3
  1159. 872 0078 98000000 .word uart_info+152
  1160. 873 .cfi_endproc
  1161. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 21
  1162. 874 .LFE140:
  1163. 876 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits
  1164. 877 .align 1
  1165. 878 .global HAL_UART_TxCpltCallback
  1166. 879 .syntax unified
  1167. 880 .thumb
  1168. 881 .thumb_func
  1169. 883 HAL_UART_TxCpltCallback:
  1170. 884 .LFB141:
  1171. 275:user_src/soft_uart.c ****
  1172. 276:user_src/soft_uart.c ****
  1173. 277:user_src/soft_uart.c **** /**
  1174. 278:user_src/soft_uart.c **** * @file HAL_UART_TxCpltCallback
  1175. 279:user_src/soft_uart.c **** * @brief uart发送回调
  1176. 280:user_src/soft_uart.c **** * @param
  1177. 281:user_src/soft_uart.c **** * @details
  1178. 282:user_src/soft_uart.c **** * @author Zhang Sir
  1179. 283:user_src/soft_uart.c **** **/
  1180. 284:user_src/soft_uart.c **** void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
  1181. 285:user_src/soft_uart.c **** {
  1182. 885 .loc 1 285 1
  1183. 886 .cfi_startproc
  1184. 887 @ args = 0, pretend = 0, frame = 8
  1185. 888 @ frame_needed = 1, uses_anonymous_args = 0
  1186. 889 @ link register save eliminated.
  1187. 890 0000 80B4 push {r7}
  1188. 891 .LCFI37:
  1189. 892 .cfi_def_cfa_offset 4
  1190. 893 .cfi_offset 7, -4
  1191. 894 0002 83B0 sub sp, sp, #12
  1192. 895 .LCFI38:
  1193. 896 .cfi_def_cfa_offset 16
  1194. 897 0004 00AF add r7, sp, #0
  1195. 898 .LCFI39:
  1196. 899 .cfi_def_cfa_register 7
  1197. 900 0006 7860 str r0, [r7, #4]
  1198. 286:user_src/soft_uart.c **** if (huart == &huart2)
  1199. 287:user_src/soft_uart.c **** {
  1200. 288:user_src/soft_uart.c ****
  1201. 289:user_src/soft_uart.c **** }
  1202. 290:user_src/soft_uart.c **** }
  1203. 901 .loc 1 290 1
  1204. 902 0008 00BF nop
  1205. 903 000a 0C37 adds r7, r7, #12
  1206. 904 .LCFI40:
  1207. 905 .cfi_def_cfa_offset 4
  1208. 906 000c BD46 mov sp, r7
  1209. 907 .LCFI41:
  1210. 908 .cfi_def_cfa_register 13
  1211. 909 @ sp needed
  1212. 910 000e 5DF8047B ldr r7, [sp], #4
  1213. 911 .LCFI42:
  1214. 912 .cfi_restore 7
  1215. 913 .cfi_def_cfa_offset 0
  1216. 914 0012 7047 bx lr
  1217. 915 .cfi_endproc
  1218. 916 .LFE141:
  1219. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 22
  1220. 918 .global recv_step
  1221. 919 .section .bss.recv_step,"aw",%nobits
  1222. 922 recv_step:
  1223. 923 0000 00 .space 1
  1224. 924 .global fcu_protocol
  1225. 925 .section .bss.fcu_protocol,"aw",%nobits
  1226. 926 .align 2
  1227. 929 fcu_protocol:
  1228. 930 0000 00000000 .space 266
  1229. 930 00000000
  1230. 930 00000000
  1231. 930 00000000
  1232. 930 00000000
  1233. 931 .global vk_data
  1234. 932 .section .data.vk_data,"aw"
  1235. 933 .align 2
  1236. 936 vk_data:
  1237. 937 0000 FE .byte -2
  1238. 938 0001 0000 .space 2
  1239. 939 0003 00 .byte 0
  1240. 940 0004 0000 .space 2
  1241. 941 0006 06 .byte 6
  1242. 942 0007 02 .byte 2
  1243. 943 0008 00000000 .space 258
  1244. 943 00000000
  1245. 943 00000000
  1246. 943 00000000
  1247. 943 00000000
  1248. 944 .section .text.check_uart_data,"ax",%progbits
  1249. 945 .align 1
  1250. 946 .global check_uart_data
  1251. 947 .syntax unified
  1252. 948 .thumb
  1253. 949 .thumb_func
  1254. 951 check_uart_data:
  1255. 952 .LFB142:
  1256. 291:user_src/soft_uart.c ****
  1257. 292:user_src/soft_uart.c ****
  1258. 293:user_src/soft_uart.c **** /**
  1259. 294:user_src/soft_uart.c **** * @file check_uart_data
  1260. 295:user_src/soft_uart.c **** * @brief 接收数据组包解析
  1261. 296:user_src/soft_uart.c **** * @param
  1262. 297:user_src/soft_uart.c **** * @details
  1263. 298:user_src/soft_uart.c **** * @author Zhang Sir
  1264. 299:user_src/soft_uart.c **** **/
  1265. 300:user_src/soft_uart.c **** Msg_Rx_Stage recv_step;
  1266. 301:user_src/soft_uart.c **** Vk_protocol fcu_protocol;
  1267. 302:user_src/soft_uart.c **** Vk_protocol vk_data = {.head = 0XFE,
  1268. 303:user_src/soft_uart.c **** .system_id = 0,
  1269. 304:user_src/soft_uart.c **** .head_bytes = 6,
  1270. 305:user_src/soft_uart.c **** .check_bytes = 2};
  1271. 306:user_src/soft_uart.c ****
  1272. 307:user_src/soft_uart.c **** void check_uart_data(rkfifo_t *fifo)
  1273. 308:user_src/soft_uart.c **** {
  1274. 953 .loc 1 308 1
  1275. 954 .cfi_startproc
  1276. 955 @ args = 0, pretend = 0, frame = 16
  1277. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 23
  1278. 956 @ frame_needed = 1, uses_anonymous_args = 0
  1279. 957 0000 80B5 push {r7, lr}
  1280. 958 .LCFI43:
  1281. 959 .cfi_def_cfa_offset 8
  1282. 960 .cfi_offset 7, -8
  1283. 961 .cfi_offset 14, -4
  1284. 962 0002 84B0 sub sp, sp, #16
  1285. 963 .LCFI44:
  1286. 964 .cfi_def_cfa_offset 24
  1287. 965 0004 00AF add r7, sp, #0
  1288. 966 .LCFI45:
  1289. 967 .cfi_def_cfa_register 7
  1290. 968 0006 7860 str r0, [r7, #4]
  1291. 309:user_src/soft_uart.c **** uint8_t c = 0;
  1292. 969 .loc 1 309 10
  1293. 970 0008 0023 movs r3, #0
  1294. 971 000a FB73 strb r3, [r7, #15]
  1295. 310:user_src/soft_uart.c **** static uint32_t vk_recv_time = 0;
  1296. 311:user_src/soft_uart.c **** static uint8_t i = 0;
  1297. 312:user_src/soft_uart.c ****
  1298. 313:user_src/soft_uart.c **** while (rkfifo_out(fifo, &c, 1) != 0)
  1299. 972 .loc 1 313 8
  1300. 973 000c C9E1 b .L53
  1301. 974 .L89:
  1302. 314:user_src/soft_uart.c **** {
  1303. 315:user_src/soft_uart.c ****
  1304. 316:user_src/soft_uart.c **** if(recv_step != RX_HEAD && HAL_GetTick() - vk_recv_time > 200)
  1305. 975 .loc 1 316 16
  1306. 976 000e 844B ldr r3, .L95
  1307. 977 0010 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1308. 978 .loc 1 316 5
  1309. 979 0012 002B cmp r3, #0
  1310. 980 0014 0AD0 beq .L54
  1311. 981 .loc 1 316 30 discriminator 1
  1312. 982 0016 FFF7FEFF bl HAL_GetTick
  1313. 983 001a 0246 mov r2, r0
  1314. 984 .loc 1 316 44 discriminator 1
  1315. 985 001c 814B ldr r3, .L95+4
  1316. 986 001e 1B68 ldr r3, [r3]
  1317. 987 0020 D31A subs r3, r2, r3
  1318. 988 .loc 1 316 27 discriminator 1
  1319. 989 0022 C82B cmp r3, #200
  1320. 990 0024 02D9 bls .L54
  1321. 317:user_src/soft_uart.c **** {
  1322. 318:user_src/soft_uart.c **** recv_step = RX_HEAD;
  1323. 991 .loc 1 318 14
  1324. 992 0026 7E4B ldr r3, .L95
  1325. 993 0028 0022 movs r2, #0
  1326. 994 002a 1A70 strb r2, [r3]
  1327. 995 .L54:
  1328. 319:user_src/soft_uart.c **** }
  1329. 320:user_src/soft_uart.c ****
  1330. 321:user_src/soft_uart.c **** //解析出一包完整的数据
  1331. 322:user_src/soft_uart.c **** switch (recv_step)
  1332. 996 .loc 1 322 3
  1333. 997 002c 7C4B ldr r3, .L95
  1334. 998 002e 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1335. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 24
  1336. 999 0030 082B cmp r3, #8
  1337. 1000 0032 00F2AB81 bhi .L55
  1338. 1001 0036 01A2 adr r2, .L57
  1339. 1002 0038 52F823F0 ldr pc, [r2, r3, lsl #2]
  1340. 1003 .p2align 2
  1341. 1004 .L57:
  1342. 1005 003c 61000000 .word .L65+1
  1343. 1006 0040 7F000000 .word .L64+1
  1344. 1007 0044 8D000000 .word .L63+1
  1345. 1008 0048 9B000000 .word .L62+1
  1346. 1009 004c B5000000 .word .L61+1
  1347. 1010 0050 EF000000 .word .L60+1
  1348. 1011 0054 03010000 .word .L59+1
  1349. 1012 0058 4B010000 .word .L58+1
  1350. 1013 005c 75010000 .word .L56+1
  1351. 1014 .p2align 1
  1352. 1015 .L65:
  1353. 323:user_src/soft_uart.c **** {
  1354. 324:user_src/soft_uart.c **** case RX_HEAD:
  1355. 325:user_src/soft_uart.c **** if(c == vk_data.head)
  1356. 1016 .loc 1 325 19
  1357. 1017 0060 714B ldr r3, .L95+8
  1358. 1018 0062 1A78 ldrb r2, [r3] @ zero_extendqisi2
  1359. 1019 .loc 1 325 9
  1360. 1020 0064 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  1361. 1021 .loc 1 325 6
  1362. 1022 0066 9A42 cmp r2, r3
  1363. 1023 0068 40F09481 bne .L90
  1364. 326:user_src/soft_uart.c **** {
  1365. 327:user_src/soft_uart.c **** vk_recv_time = HAL_GetTick();
  1366. 1024 .loc 1 327 20
  1367. 1025 006c FFF7FEFF bl HAL_GetTick
  1368. 1026 0070 0346 mov r3, r0
  1369. 1027 .loc 1 327 18
  1370. 1028 0072 6C4A ldr r2, .L95+4
  1371. 1029 0074 1360 str r3, [r2]
  1372. 328:user_src/soft_uart.c **** recv_step = RX_PAYLOAD_LEN;
  1373. 1030 .loc 1 328 15
  1374. 1031 0076 6A4B ldr r3, .L95
  1375. 1032 0078 0122 movs r2, #1
  1376. 1033 007a 1A70 strb r2, [r3]
  1377. 329:user_src/soft_uart.c **** }
  1378. 330:user_src/soft_uart.c **** break;
  1379. 1034 .loc 1 330 4
  1380. 1035 007c 8AE1 b .L90
  1381. 1036 .L64:
  1382. 331:user_src/soft_uart.c **** case RX_PAYLOAD_LEN:
  1383. 332:user_src/soft_uart.c **** vk_data.len = c;
  1384. 1037 .loc 1 332 16
  1385. 1038 007e FA7B ldrb r2, [r7, #15] @ zero_extendqisi2
  1386. 1039 0080 694B ldr r3, .L95+8
  1387. 1040 0082 5A70 strb r2, [r3, #1]
  1388. 333:user_src/soft_uart.c **** recv_step = RX_SEQ;
  1389. 1041 .loc 1 333 14
  1390. 1042 0084 664B ldr r3, .L95
  1391. 1043 0086 0222 movs r2, #2
  1392. 1044 0088 1A70 strb r2, [r3]
  1393. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 25
  1394. 334:user_src/soft_uart.c **** break;
  1395. 1045 .loc 1 334 4
  1396. 1046 008a 86E1 b .L67
  1397. 1047 .L63:
  1398. 335:user_src/soft_uart.c **** case RX_SEQ:
  1399. 336:user_src/soft_uart.c **** vk_data.seq = c;
  1400. 1048 .loc 1 336 16
  1401. 1049 008c FA7B ldrb r2, [r7, #15] @ zero_extendqisi2
  1402. 1050 008e 664B ldr r3, .L95+8
  1403. 1051 0090 9A70 strb r2, [r3, #2]
  1404. 337:user_src/soft_uart.c **** recv_step = RX_SYSID;
  1405. 1052 .loc 1 337 14
  1406. 1053 0092 634B ldr r3, .L95
  1407. 1054 0094 0322 movs r2, #3
  1408. 1055 0096 1A70 strb r2, [r3]
  1409. 338:user_src/soft_uart.c **** break;
  1410. 1056 .loc 1 338 4
  1411. 1057 0098 7FE1 b .L67
  1412. 1058 .L62:
  1413. 339:user_src/soft_uart.c **** case RX_SYSID:
  1414. 340:user_src/soft_uart.c **** if(c == vk_data.system_id)
  1415. 1059 .loc 1 340 19
  1416. 1060 009a 634B ldr r3, .L95+8
  1417. 1061 009c DA78 ldrb r2, [r3, #3] @ zero_extendqisi2
  1418. 1062 .loc 1 340 9
  1419. 1063 009e FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  1420. 1064 .loc 1 340 6
  1421. 1065 00a0 9A42 cmp r2, r3
  1422. 1066 00a2 03D1 bne .L68
  1423. 341:user_src/soft_uart.c **** {
  1424. 342:user_src/soft_uart.c **** recv_step = RX_GROUPID;
  1425. 1067 .loc 1 342 15
  1426. 1068 00a4 5E4B ldr r3, .L95
  1427. 1069 00a6 0422 movs r2, #4
  1428. 1070 00a8 1A70 strb r2, [r3]
  1429. 343:user_src/soft_uart.c **** }
  1430. 344:user_src/soft_uart.c **** else
  1431. 345:user_src/soft_uart.c **** {
  1432. 346:user_src/soft_uart.c **** recv_step = RX_HEAD;
  1433. 347:user_src/soft_uart.c **** }
  1434. 348:user_src/soft_uart.c **** break;
  1435. 1071 .loc 1 348 4
  1436. 1072 00aa 76E1 b .L67
  1437. 1073 .L68:
  1438. 346:user_src/soft_uart.c **** }
  1439. 1074 .loc 1 346 15
  1440. 1075 00ac 5C4B ldr r3, .L95
  1441. 1076 00ae 0022 movs r2, #0
  1442. 1077 00b0 1A70 strb r2, [r3]
  1443. 1078 .loc 1 348 4
  1444. 1079 00b2 72E1 b .L67
  1445. 1080 .L61:
  1446. 349:user_src/soft_uart.c **** case RX_GROUPID:
  1447. 350:user_src/soft_uart.c **** if(c == GROUP_ID_FCU || c == GROUP_ID_PMU_UPDATE || c == GROUP_ID_F_UPDATE ||
  1448. 1081 .loc 1 350 9
  1449. 1082 00b4 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  1450. 1083 .loc 1 350 6
  1451. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 26
  1452. 1084 00b6 002B cmp r3, #0
  1453. 1085 00b8 0ED0 beq .L70
  1454. 1086 .loc 1 350 30 discriminator 1
  1455. 1087 00ba FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  1456. 1088 .loc 1 350 25 discriminator 1
  1457. 1089 00bc CC2B cmp r3, #204
  1458. 1090 00be 0BD0 beq .L70
  1459. 1091 .loc 1 350 58 discriminator 2
  1460. 1092 00c0 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  1461. 1093 .loc 1 350 53 discriminator 2
  1462. 1094 00c2 332B cmp r3, #51
  1463. 1095 00c4 08D0 beq .L70
  1464. 351:user_src/soft_uart.c **** c == GROUP_ID_B_UPDATE || c == GROUP_ID_T_UPDATE|| c == GROUP_ID_WEIGHT_UPDATE)
  1465. 1096 .loc 1 351 7 discriminator 3
  1466. 1097 00c6 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  1467. 350:user_src/soft_uart.c **** c == GROUP_ID_B_UPDATE || c == GROUP_ID_T_UPDATE|| c == GROUP_ID_WEIGHT_UPDATE)
  1468. 1098 .loc 1 350 79 discriminator 3
  1469. 1099 00c8 342B cmp r3, #52
  1470. 1100 00ca 05D0 beq .L70
  1471. 1101 .loc 1 351 33
  1472. 1102 00cc FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  1473. 1103 .loc 1 351 28
  1474. 1104 00ce 382B cmp r3, #56
  1475. 1105 00d0 02D0 beq .L70
  1476. 1106 .loc 1 351 58 discriminator 1
  1477. 1107 00d2 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  1478. 1108 .loc 1 351 53 discriminator 1
  1479. 1109 00d4 DE2B cmp r3, #222
  1480. 1110 00d6 06D1 bne .L71
  1481. 1111 .L70:
  1482. 352:user_src/soft_uart.c **** {
  1483. 353:user_src/soft_uart.c **** vk_data.group_id = c;
  1484. 1112 .loc 1 353 22
  1485. 1113 00d8 FA7B ldrb r2, [r7, #15] @ zero_extendqisi2
  1486. 1114 00da 534B ldr r3, .L95+8
  1487. 1115 00dc 1A71 strb r2, [r3, #4]
  1488. 354:user_src/soft_uart.c **** recv_step = RX_MSGID;
  1489. 1116 .loc 1 354 15
  1490. 1117 00de 504B ldr r3, .L95
  1491. 1118 00e0 0522 movs r2, #5
  1492. 1119 00e2 1A70 strb r2, [r3]
  1493. 355:user_src/soft_uart.c **** }
  1494. 356:user_src/soft_uart.c **** else
  1495. 357:user_src/soft_uart.c **** {
  1496. 358:user_src/soft_uart.c **** recv_step = RX_HEAD;
  1497. 359:user_src/soft_uart.c **** }
  1498. 360:user_src/soft_uart.c **** break;
  1499. 1120 .loc 1 360 4
  1500. 1121 00e4 59E1 b .L67
  1501. 1122 .L71:
  1502. 358:user_src/soft_uart.c **** }
  1503. 1123 .loc 1 358 15
  1504. 1124 00e6 4E4B ldr r3, .L95
  1505. 1125 00e8 0022 movs r2, #0
  1506. 1126 00ea 1A70 strb r2, [r3]
  1507. 1127 .loc 1 360 4
  1508. 1128 00ec 55E1 b .L67
  1509. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 27
  1510. 1129 .L60:
  1511. 361:user_src/soft_uart.c **** case RX_MSGID:
  1512. 362:user_src/soft_uart.c **** vk_data.msg_id = c;
  1513. 1130 .loc 1 362 19
  1514. 1131 00ee FA7B ldrb r2, [r7, #15] @ zero_extendqisi2
  1515. 1132 00f0 4D4B ldr r3, .L95+8
  1516. 1133 00f2 5A71 strb r2, [r3, #5]
  1517. 363:user_src/soft_uart.c **** recv_step = RX_PAYLOAD;
  1518. 1134 .loc 1 363 14
  1519. 1135 00f4 4A4B ldr r3, .L95
  1520. 1136 00f6 0622 movs r2, #6
  1521. 1137 00f8 1A70 strb r2, [r3]
  1522. 364:user_src/soft_uart.c **** i = 0;
  1523. 1138 .loc 1 364 6
  1524. 1139 00fa 4C4B ldr r3, .L95+12
  1525. 1140 00fc 0022 movs r2, #0
  1526. 1141 00fe 1A70 strb r2, [r3]
  1527. 365:user_src/soft_uart.c **** break;
  1528. 1142 .loc 1 365 4
  1529. 1143 0100 4BE1 b .L67
  1530. 1144 .L59:
  1531. 366:user_src/soft_uart.c **** case RX_PAYLOAD:
  1532. 367:user_src/soft_uart.c **** vk_data.payload[vk_data.head_bytes + i] = c;
  1533. 1145 .loc 1 367 27
  1534. 1146 0102 494B ldr r3, .L95+8
  1535. 1147 0104 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2
  1536. 1148 0106 1A46 mov r2, r3
  1537. 1149 .loc 1 367 39
  1538. 1150 0108 484B ldr r3, .L95+12
  1539. 1151 010a 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1540. 1152 010c 1344 add r3, r3, r2
  1541. 1153 .loc 1 367 44
  1542. 1154 010e F97B ldrb r1, [r7, #15] @ zero_extendqisi2
  1543. 1155 0110 454A ldr r2, .L95+8
  1544. 1156 0112 1344 add r3, r3, r2
  1545. 1157 0114 0A46 mov r2, r1
  1546. 1158 0116 9A72 strb r2, [r3, #10]
  1547. 368:user_src/soft_uart.c **** i++;
  1548. 1159 .loc 1 368 5
  1549. 1160 0118 444B ldr r3, .L95+12
  1550. 1161 011a 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1551. 1162 011c 0133 adds r3, r3, #1
  1552. 1163 011e DAB2 uxtb r2, r3
  1553. 1164 0120 424B ldr r3, .L95+12
  1554. 1165 0122 1A70 strb r2, [r3]
  1555. 369:user_src/soft_uart.c **** if(i == vk_data.len)
  1556. 1166 .loc 1 369 19
  1557. 1167 0124 404B ldr r3, .L95+8
  1558. 1168 0126 5A78 ldrb r2, [r3, #1] @ zero_extendqisi2
  1559. 1169 .loc 1 369 9
  1560. 1170 0128 404B ldr r3, .L95+12
  1561. 1171 012a 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1562. 1172 .loc 1 369 6
  1563. 1173 012c 9A42 cmp r2, r3
  1564. 1174 012e 03D1 bne .L73
  1565. 370:user_src/soft_uart.c **** {
  1566. 371:user_src/soft_uart.c **** recv_step = RX_CHECK_LOW;
  1567. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 28
  1568. 1175 .loc 1 371 15
  1569. 1176 0130 3B4B ldr r3, .L95
  1570. 1177 0132 0722 movs r2, #7
  1571. 1178 0134 1A70 strb r2, [r3]
  1572. 372:user_src/soft_uart.c **** }
  1573. 373:user_src/soft_uart.c **** else if(vk_data.len == 0) //没有payload
  1574. 374:user_src/soft_uart.c **** {
  1575. 375:user_src/soft_uart.c **** recv_step = RX_CHECK_HIGH;
  1576. 376:user_src/soft_uart.c **** }
  1577. 377:user_src/soft_uart.c **** break;
  1578. 1179 .loc 1 377 4
  1579. 1180 0136 2FE1 b .L91
  1580. 1181 .L73:
  1581. 373:user_src/soft_uart.c **** {
  1582. 1182 .loc 1 373 19
  1583. 1183 0138 3B4B ldr r3, .L95+8
  1584. 1184 013a 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2
  1585. 373:user_src/soft_uart.c **** {
  1586. 1185 .loc 1 373 11
  1587. 1186 013c 002B cmp r3, #0
  1588. 1187 013e 40F02B81 bne .L91
  1589. 375:user_src/soft_uart.c **** }
  1590. 1188 .loc 1 375 15
  1591. 1189 0142 374B ldr r3, .L95
  1592. 1190 0144 0822 movs r2, #8
  1593. 1191 0146 1A70 strb r2, [r3]
  1594. 1192 .loc 1 377 4
  1595. 1193 0148 26E1 b .L91
  1596. 1194 .L58:
  1597. 378:user_src/soft_uart.c **** case RX_CHECK_LOW:
  1598. 379:user_src/soft_uart.c **** vk_data.payload[vk_data.head_bytes + i] = c;
  1599. 1195 .loc 1 379 27
  1600. 1196 014a 374B ldr r3, .L95+8
  1601. 1197 014c 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2
  1602. 1198 014e 1A46 mov r2, r3
  1603. 1199 .loc 1 379 39
  1604. 1200 0150 364B ldr r3, .L95+12
  1605. 1201 0152 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1606. 1202 0154 1344 add r3, r3, r2
  1607. 1203 .loc 1 379 44
  1608. 1204 0156 F97B ldrb r1, [r7, #15] @ zero_extendqisi2
  1609. 1205 0158 334A ldr r2, .L95+8
  1610. 1206 015a 1344 add r3, r3, r2
  1611. 1207 015c 0A46 mov r2, r1
  1612. 1208 015e 9A72 strb r2, [r3, #10]
  1613. 380:user_src/soft_uart.c **** i++;
  1614. 1209 .loc 1 380 5
  1615. 1210 0160 324B ldr r3, .L95+12
  1616. 1211 0162 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1617. 1212 0164 0133 adds r3, r3, #1
  1618. 1213 0166 DAB2 uxtb r2, r3
  1619. 1214 0168 304B ldr r3, .L95+12
  1620. 1215 016a 1A70 strb r2, [r3]
  1621. 381:user_src/soft_uart.c **** recv_step = RX_CHECK_HIGH;
  1622. 1216 .loc 1 381 14
  1623. 1217 016c 2C4B ldr r3, .L95
  1624. 1218 016e 0822 movs r2, #8
  1625. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 29
  1626. 1219 0170 1A70 strb r2, [r3]
  1627. 382:user_src/soft_uart.c **** break;
  1628. 1220 .loc 1 382 4
  1629. 1221 0172 12E1 b .L67
  1630. 1222 .L56:
  1631. 383:user_src/soft_uart.c **** case RX_CHECK_HIGH:
  1632. 384:user_src/soft_uart.c **** vk_data.payload[vk_data.head_bytes + i] = c;
  1633. 1223 .loc 1 384 27
  1634. 1224 0174 2C4B ldr r3, .L95+8
  1635. 1225 0176 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2
  1636. 1226 0178 1A46 mov r2, r3
  1637. 1227 .loc 1 384 39
  1638. 1228 017a 2C4B ldr r3, .L95+12
  1639. 1229 017c 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1640. 1230 017e 1344 add r3, r3, r2
  1641. 1231 .loc 1 384 44
  1642. 1232 0180 F97B ldrb r1, [r7, #15] @ zero_extendqisi2
  1643. 1233 0182 294A ldr r2, .L95+8
  1644. 1234 0184 1344 add r3, r3, r2
  1645. 1235 0186 0A46 mov r2, r1
  1646. 1236 0188 9A72 strb r2, [r3, #10]
  1647. 385:user_src/soft_uart.c ****
  1648. 386:user_src/soft_uart.c **** vk_data.payload[0] = vk_data.head;
  1649. 1237 .loc 1 386 32
  1650. 1238 018a 274B ldr r3, .L95+8
  1651. 1239 018c 1A78 ldrb r2, [r3] @ zero_extendqisi2
  1652. 1240 .loc 1 386 23
  1653. 1241 018e 264B ldr r3, .L95+8
  1654. 1242 0190 9A72 strb r2, [r3, #10]
  1655. 387:user_src/soft_uart.c **** vk_data.payload[1] = vk_data.len;
  1656. 1243 .loc 1 387 32
  1657. 1244 0192 254B ldr r3, .L95+8
  1658. 1245 0194 5A78 ldrb r2, [r3, #1] @ zero_extendqisi2
  1659. 1246 .loc 1 387 23
  1660. 1247 0196 244B ldr r3, .L95+8
  1661. 1248 0198 DA72 strb r2, [r3, #11]
  1662. 388:user_src/soft_uart.c **** vk_data.payload[2] = vk_data.seq;
  1663. 1249 .loc 1 388 32
  1664. 1250 019a 234B ldr r3, .L95+8
  1665. 1251 019c 9A78 ldrb r2, [r3, #2] @ zero_extendqisi2
  1666. 1252 .loc 1 388 23
  1667. 1253 019e 224B ldr r3, .L95+8
  1668. 1254 01a0 1A73 strb r2, [r3, #12]
  1669. 389:user_src/soft_uart.c **** vk_data.payload[3] = vk_data.system_id;
  1670. 1255 .loc 1 389 32
  1671. 1256 01a2 214B ldr r3, .L95+8
  1672. 1257 01a4 DA78 ldrb r2, [r3, #3] @ zero_extendqisi2
  1673. 1258 .loc 1 389 23
  1674. 1259 01a6 204B ldr r3, .L95+8
  1675. 1260 01a8 5A73 strb r2, [r3, #13]
  1676. 390:user_src/soft_uart.c **** vk_data.payload[4] = vk_data.group_id;
  1677. 1261 .loc 1 390 32
  1678. 1262 01aa 1F4B ldr r3, .L95+8
  1679. 1263 01ac 1A79 ldrb r2, [r3, #4] @ zero_extendqisi2
  1680. 1264 .loc 1 390 23
  1681. 1265 01ae 1E4B ldr r3, .L95+8
  1682. 1266 01b0 9A73 strb r2, [r3, #14]
  1683. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 30
  1684. 391:user_src/soft_uart.c **** vk_data.payload[5] = vk_data.msg_id;
  1685. 1267 .loc 1 391 32
  1686. 1268 01b2 1D4B ldr r3, .L95+8
  1687. 1269 01b4 5A79 ldrb r2, [r3, #5] @ zero_extendqisi2
  1688. 1270 .loc 1 391 23
  1689. 1271 01b6 1C4B ldr r3, .L95+8
  1690. 1272 01b8 DA73 strb r2, [r3, #15]
  1691. 392:user_src/soft_uart.c ****
  1692. 393:user_src/soft_uart.c **** if(0 == Get_Crc16(&vk_data.payload[0],vk_data.len + vk_data.head_bytes + vk_data.check_bytes))
  1693. 1273 .loc 1 393 49
  1694. 1274 01ba 1B4B ldr r3, .L95+8
  1695. 1275 01bc 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2
  1696. 1276 01be 9AB2 uxth r2, r3
  1697. 1277 .loc 1 393 63
  1698. 1278 01c0 194B ldr r3, .L95+8
  1699. 1279 01c2 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2
  1700. 1280 01c4 9BB2 uxth r3, r3
  1701. 1281 .loc 1 393 54
  1702. 1282 01c6 1344 add r3, r3, r2
  1703. 1283 01c8 9AB2 uxth r2, r3
  1704. 1284 .loc 1 393 84
  1705. 1285 01ca 174B ldr r3, .L95+8
  1706. 1286 01cc DB79 ldrb r3, [r3, #7] @ zero_extendqisi2
  1707. 1287 01ce 9BB2 uxth r3, r3
  1708. 1288 .loc 1 393 12
  1709. 1289 01d0 1344 add r3, r3, r2
  1710. 1290 01d2 9BB2 uxth r3, r3
  1711. 1291 01d4 1946 mov r1, r3
  1712. 1292 01d6 1648 ldr r0, .L95+16
  1713. 1293 01d8 FFF7FEFF bl Get_Crc16
  1714. 1294 01dc 0346 mov r3, r0
  1715. 1295 .loc 1 393 6
  1716. 1296 01de 002B cmp r3, #0
  1717. 1297 01e0 40F0D080 bne .L75
  1718. 394:user_src/soft_uart.c **** {
  1719. 395:user_src/soft_uart.c **** if(vk_data.group_id == GROUP_ID_FCU || vk_data.group_id == GROUP_ID_PMU_UPDATE)
  1720. 1298 .loc 1 395 15
  1721. 1299 01e4 104B ldr r3, .L95+8
  1722. 1300 01e6 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  1723. 1301 .loc 1 395 7
  1724. 1302 01e8 002B cmp r3, #0
  1725. 1303 01ea 03D0 beq .L76
  1726. 1304 .loc 1 395 51 discriminator 1
  1727. 1305 01ec 0E4B ldr r3, .L95+8
  1728. 1306 01ee 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  1729. 1307 .loc 1 395 41 discriminator 1
  1730. 1308 01f0 CC2B cmp r3, #204
  1731. 1309 01f2 25D1 bne .L77
  1732. 1310 .L76:
  1733. 396:user_src/soft_uart.c **** {
  1734. 397:user_src/soft_uart.c **** fcu_protocol.msg_id = vk_data.msg_id;
  1735. 1311 .loc 1 397 35
  1736. 1312 01f4 0C4B ldr r3, .L95+8
  1737. 1313 01f6 5A79 ldrb r2, [r3, #5] @ zero_extendqisi2
  1738. 1314 .loc 1 397 26
  1739. 1315 01f8 0E4B ldr r3, .L95+20
  1740. 1316 01fa 5A71 strb r2, [r3, #5]
  1741. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 31
  1742. 398:user_src/soft_uart.c **** memcpy(&fcu_protocol.payload[0],&vk_data.payload[0],vk_data.len + vk_data.head_bytes + vk_data
  1743. 1317 .loc 1 398 65
  1744. 1318 01fc 0A4B ldr r3, .L95+8
  1745. 1319 01fe 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2
  1746. 1320 0200 1A46 mov r2, r3
  1747. 1321 .loc 1 398 79
  1748. 1322 0202 094B ldr r3, .L95+8
  1749. 1323 0204 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2
  1750. 1324 .loc 1 398 70
  1751. 1325 0206 1344 add r3, r3, r2
  1752. 1326 .loc 1 398 100
  1753. 1327 0208 074A ldr r2, .L95+8
  1754. 1328 020a D279 ldrb r2, [r2, #7] @ zero_extendqisi2
  1755. 1329 .loc 1 398 91
  1756. 1330 020c 1344 add r3, r3, r2
  1757. 1331 .loc 1 398 6
  1758. 1332 020e 1A46 mov r2, r3
  1759. 1333 0210 0749 ldr r1, .L95+16
  1760. 1334 0212 0948 ldr r0, .L95+24
  1761. 1335 0214 FFF7FEFF bl memcpy
  1762. 399:user_src/soft_uart.c **** uart_info.fcu_buf_flag = true;
  1763. 1336 .loc 1 399 29
  1764. 1337 0218 084B ldr r3, .L95+28
  1765. 1338 021a 0122 movs r2, #1
  1766. 1339 021c 1A70 strb r2, [r3]
  1767. 1340 021e B1E0 b .L75
  1768. 1341 .L96:
  1769. 1342 .align 2
  1770. 1343 .L95:
  1771. 1344 0220 00000000 .word recv_step
  1772. 1345 0224 00000000 .word vk_recv_time.1
  1773. 1346 0228 00000000 .word vk_data
  1774. 1347 022c 00000000 .word i.0
  1775. 1348 0230 0A000000 .word vk_data+10
  1776. 1349 0234 00000000 .word fcu_protocol
  1777. 1350 0238 0A000000 .word fcu_protocol+10
  1778. 1351 023c 00000000 .word uart_info
  1779. 1352 .L77:
  1780. 400:user_src/soft_uart.c **** }
  1781. 401:user_src/soft_uart.c **** //莫之比雷达升级
  1782. 402:user_src/soft_uart.c **** else if((vk_data.group_id == GROUP_ID_F_UPDATE && uavr11_info.Link.connect_status != COMP_NOEXI
  1783. 1353 .loc 1 402 21
  1784. 1354 0240 604B ldr r3, .L97
  1785. 1355 0242 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  1786. 1356 .loc 1 402 12
  1787. 1357 0244 332B cmp r3, #51
  1788. 1358 0246 03D1 bne .L79
  1789. 1359 .loc 1 402 71 discriminator 1
  1790. 1360 0248 5F4B ldr r3, .L97+4
  1791. 1361 024a 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2
  1792. 1362 .loc 1 402 52 discriminator 1
  1793. 1363 024c 002B cmp r3, #0
  1794. 1364 024e 0FD1 bne .L80
  1795. 1365 .L79:
  1796. 403:user_src/soft_uart.c **** (vk_data.group_id == GROUP_ID_B_UPDATE && uavr12_info.Link.connect_status != COMP_NOEXIST) |
  1797. 1366 .loc 1 403 16 discriminator 3
  1798. 1367 0250 5C4B ldr r3, .L97
  1799. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 32
  1800. 1368 0252 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  1801. 402:user_src/soft_uart.c **** (vk_data.group_id == GROUP_ID_B_UPDATE && uavr12_info.Link.connect_status != COMP_NOEXIST) |
  1802. 1369 .loc 1 402 104 discriminator 3
  1803. 1370 0254 342B cmp r3, #52
  1804. 1371 0256 03D1 bne .L81
  1805. 1372 .loc 1 403 66
  1806. 1373 0258 5C4B ldr r3, .L97+8
  1807. 1374 025a 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2
  1808. 1375 .loc 1 403 47
  1809. 1376 025c 002B cmp r3, #0
  1810. 1377 025e 07D1 bne .L80
  1811. 1378 .L81:
  1812. 404:user_src/soft_uart.c **** (vk_data.group_id == GROUP_ID_T_UPDATE && uavr56_info.Link.connect_status != COMP_NOEXIST)
  1813. 1379 .loc 1 404 18 discriminator 1
  1814. 1380 0260 584B ldr r3, .L97
  1815. 1381 0262 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  1816. 403:user_src/soft_uart.c **** (vk_data.group_id == GROUP_ID_B_UPDATE && uavr12_info.Link.connect_status != COMP_NOEXIST) |
  1817. 1382 .loc 1 403 99 discriminator 1
  1818. 1383 0264 382B cmp r3, #56
  1819. 1384 0266 3BD1 bne .L82
  1820. 1385 .loc 1 404 68
  1821. 1386 0268 594B ldr r3, .L97+12
  1822. 1387 026a 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2
  1823. 1388 .loc 1 404 49
  1824. 1389 026c 002B cmp r3, #0
  1825. 1390 026e 37D0 beq .L82
  1826. 1391 .L80:
  1827. 405:user_src/soft_uart.c **** {
  1828. 406:user_src/soft_uart.c **** if(uart_info.use_update_buf_flag == false)
  1829. 1392 .loc 1 406 18
  1830. 1393 0270 584B ldr r3, .L97+16
  1831. 1394 0272 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2
  1832. 1395 .loc 1 406 39
  1833. 1396 0274 83F00103 eor r3, r3, #1
  1834. 1397 0278 DBB2 uxtb r3, r3
  1835. 1398 .loc 1 406 8
  1836. 1399 027a 002B cmp r3, #0
  1837. 1400 027c 21D0 beq .L83
  1838. 407:user_src/soft_uart.c **** {
  1839. 408:user_src/soft_uart.c **** uart_info.update_time = HAL_GetTick();
  1840. 1401 .loc 1 408 31
  1841. 1402 027e FFF7FEFF bl HAL_GetTick
  1842. 1403 0282 0346 mov r3, r0
  1843. 1404 .loc 1 408 29
  1844. 1405 0284 534A ldr r2, .L97+16
  1845. 1406 0286 C2F81931 str r3, [r2, #281] @ unaligned
  1846. 409:user_src/soft_uart.c **** memcpy(&Update_buf[0],&vk_data.payload[0],vk_data.len + vk_data.head_bytes + vk_data.check_by
  1847. 1407 .loc 1 409 56
  1848. 1408 028a 4E4B ldr r3, .L97
  1849. 1409 028c 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2
  1850. 1410 028e 1A46 mov r2, r3
  1851. 1411 .loc 1 409 70
  1852. 1412 0290 4C4B ldr r3, .L97
  1853. 1413 0292 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2
  1854. 1414 .loc 1 409 61
  1855. 1415 0294 1344 add r3, r3, r2
  1856. 1416 .loc 1 409 91
  1857. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 33
  1858. 1417 0296 4B4A ldr r2, .L97
  1859. 1418 0298 D279 ldrb r2, [r2, #7] @ zero_extendqisi2
  1860. 1419 .loc 1 409 82
  1861. 1420 029a 1344 add r3, r3, r2
  1862. 1421 .loc 1 409 7
  1863. 1422 029c 1A46 mov r2, r3
  1864. 1423 029e 4E49 ldr r1, .L97+20
  1865. 1424 02a0 4E48 ldr r0, .L97+24
  1866. 1425 02a2 FFF7FEFF bl memcpy
  1867. 410:user_src/soft_uart.c **** uart_info.use_update_buf_flag = true;
  1868. 1426 .loc 1 410 37
  1869. 1427 02a6 4B4B ldr r3, .L97+16
  1870. 1428 02a8 0122 movs r2, #1
  1871. 1429 02aa 5A70 strb r2, [r3, #1]
  1872. 411:user_src/soft_uart.c ****
  1873. 412:user_src/soft_uart.c **** if (vk_data.msg_id == 200)
  1874. 1430 .loc 1 412 18
  1875. 1431 02ac 454B ldr r3, .L97
  1876. 1432 02ae 5B79 ldrb r3, [r3, #5] @ zero_extendqisi2
  1877. 1433 .loc 1 412 10
  1878. 1434 02b0 C82B cmp r3, #200
  1879. 1435 02b2 66D1 bne .L92
  1880. 413:user_src/soft_uart.c **** {
  1881. 414:user_src/soft_uart.c **** {
  1882. 415:user_src/soft_uart.c **** radar_update_flag = true;
  1883. 1436 .loc 1 415 27
  1884. 1437 02b4 4A4B ldr r3, .L97+28
  1885. 1438 02b6 0122 movs r2, #1
  1886. 1439 02b8 1A70 strb r2, [r3]
  1887. 416:user_src/soft_uart.c **** update_count = 0;
  1888. 1440 .loc 1 416 22
  1889. 1441 02ba 4A4B ldr r3, .L97+32
  1890. 1442 02bc 0022 movs r2, #0
  1891. 1443 02be 1A60 str r2, [r3]
  1892. 406:user_src/soft_uart.c **** {
  1893. 1444 .loc 1 406 8
  1894. 1445 02c0 5FE0 b .L92
  1895. 1446 .L83:
  1896. 417:user_src/soft_uart.c **** }
  1897. 418:user_src/soft_uart.c **** }
  1898. 419:user_src/soft_uart.c **** }
  1899. 420:user_src/soft_uart.c **** else
  1900. 421:user_src/soft_uart.c **** {
  1901. 422:user_src/soft_uart.c **** if(HAL_GetTick() - uart_info.update_time > 3000)
  1902. 1447 .loc 1 422 10
  1903. 1448 02c2 FFF7FEFF bl HAL_GetTick
  1904. 1449 02c6 0246 mov r2, r0
  1905. 1450 .loc 1 422 35
  1906. 1451 02c8 424B ldr r3, .L97+16
  1907. 1452 02ca D3F81931 ldr r3, [r3, #281] @ unaligned
  1908. 1453 .loc 1 422 24
  1909. 1454 02ce D31A subs r3, r2, r3
  1910. 1455 .loc 1 422 9
  1911. 1456 02d0 40F6B832 movw r2, #3000
  1912. 1457 02d4 9342 cmp r3, r2
  1913. 1458 02d6 54D9 bls .L92
  1914. 423:user_src/soft_uart.c **** {
  1915. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 34
  1916. 424:user_src/soft_uart.c **** uart_info.use_update_buf_flag = false;
  1917. 1459 .loc 1 424 38
  1918. 1460 02d8 3E4B ldr r3, .L97+16
  1919. 1461 02da 0022 movs r2, #0
  1920. 1462 02dc 5A70 strb r2, [r3, #1]
  1921. 406:user_src/soft_uart.c **** {
  1922. 1463 .loc 1 406 8
  1923. 1464 02de 50E0 b .L92
  1924. 1465 .L82:
  1925. 425:user_src/soft_uart.c **** }
  1926. 426:user_src/soft_uart.c **** }
  1927. 427:user_src/soft_uart.c **** }
  1928. 428:user_src/soft_uart.c **** //VK协议设备升级
  1929. 429:user_src/soft_uart.c **** else if (vk_data.group_id == GROUP_ID_WEIGHT_UPDATE ||
  1930. 1466 .loc 1 429 21
  1931. 1467 02e0 384B ldr r3, .L97
  1932. 1468 02e2 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  1933. 1469 .loc 1 429 13
  1934. 1470 02e4 DE2B cmp r3, #222
  1935. 1471 02e6 0BD0 beq .L85
  1936. 430:user_src/soft_uart.c **** (vk_data.group_id == GROUP_ID_F_UPDATE /*&& mimo_f_info.Link.connect_status != COMP_NOEXIST*/
  1937. 1472 .loc 1 430 15 discriminator 1
  1938. 1473 02e8 364B ldr r3, .L97
  1939. 1474 02ea 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  1940. 429:user_src/soft_uart.c **** (vk_data.group_id == GROUP_ID_F_UPDATE /*&& mimo_f_info.Link.connect_status != COMP_NOEXIST*/
  1941. 1475 .loc 1 429 57 discriminator 1
  1942. 1476 02ec 332B cmp r3, #51
  1943. 1477 02ee 07D0 beq .L85
  1944. 431:user_src/soft_uart.c **** (vk_data.group_id == GROUP_ID_B_UPDATE /*&& mimo_b_info.Link.connect_status != COMP_NOEXIST*
  1945. 1478 .loc 1 431 16
  1946. 1479 02f0 344B ldr r3, .L97
  1947. 1480 02f2 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  1948. 430:user_src/soft_uart.c **** (vk_data.group_id == GROUP_ID_F_UPDATE /*&& mimo_f_info.Link.connect_status != COMP_NOEXIST*/
  1949. 1481 .loc 1 430 102
  1950. 1482 02f4 342B cmp r3, #52
  1951. 1483 02f6 03D0 beq .L85
  1952. 432:user_src/soft_uart.c **** (vk_data.group_id == GROUP_ID_T_UPDATE /*&& mimo_ter_info.Link.connect_status != COMP_NOEX
  1953. 1484 .loc 1 432 18
  1954. 1485 02f8 324B ldr r3, .L97
  1955. 1486 02fa 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  1956. 431:user_src/soft_uart.c **** (vk_data.group_id == GROUP_ID_B_UPDATE /*&& mimo_b_info.Link.connect_status != COMP_NOEXIST*
  1957. 1487 .loc 1 431 103
  1958. 1488 02fc 382B cmp r3, #56
  1959. 1489 02fe 41D1 bne .L75
  1960. 1490 .L85:
  1961. 433:user_src/soft_uart.c **** {
  1962. 434:user_src/soft_uart.c **** #ifdef mimo_update
  1963. 435:user_src/soft_uart.c **** if(vk_data.msg_id == 200)
  1964. 436:user_src/soft_uart.c **** {
  1965. 437:user_src/soft_uart.c **** if(EZup_par.step == STEP_DEFAULT)//mimo
  1966. 438:user_src/soft_uart.c **** {//mimo
  1967. 439:user_src/soft_uart.c **** memset(&EZup_par,0,sizeof(ez_update));//mimo
  1968. 440:user_src/soft_uart.c **** memset(&uart_info.fcu_buf_flag,0,sizeof(Uart));
  1969. 441:user_src/soft_uart.c **** memcpy(&uart_info.bin_size,&vk_data.payload[6],4);
  1970. 442:user_src/soft_uart.c **** uart_info.vk_dev_pack_num = 1;
  1971. 443:user_src/soft_uart.c **** uart_info.vk_dev_update_flag = true;
  1972. 444:user_src/soft_uart.c **** EZup_par.update_flag = true;//mimo
  1973. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 35
  1974. 445:user_src/soft_uart.c ****
  1975. 446:user_src/soft_uart.c **** EZup_par.step = STEP_FIND_NODE;//mimo
  1976. 447:user_src/soft_uart.c **** }
  1977. 448:user_src/soft_uart.c **** }
  1978. 449:user_src/soft_uart.c **** #else
  1979. 450:user_src/soft_uart.c **** if(vk_data.msg_id == 200)
  1980. 1491 .loc 1 450 16
  1981. 1492 0300 304B ldr r3, .L97
  1982. 1493 0302 5B79 ldrb r3, [r3, #5] @ zero_extendqisi2
  1983. 1494 .loc 1 450 8
  1984. 1495 0304 C82B cmp r3, #200
  1985. 1496 0306 12D1 bne .L86
  1986. 451:user_src/soft_uart.c **** {
  1987. 452:user_src/soft_uart.c **** memset(&uart_info.fcu_buf_flag,0,sizeof(Uart));
  1988. 1497 .loc 1 452 7
  1989. 1498 0308 40F22712 movw r2, #295
  1990. 1499 030c 0021 movs r1, #0
  1991. 1500 030e 3148 ldr r0, .L97+16
  1992. 1501 0310 FFF7FEFF bl memset
  1993. 1502 0314 2B4B ldr r3, .L97
  1994. 1503 0316 1B69 ldr r3, [r3, #16]
  1995. 453:user_src/soft_uart.c **** memcpy(&uart_info.bin_size,&vk_data.payload[6],4);
  1996. 1504 .loc 1 453 7
  1997. 1505 0318 2E4A ldr r2, .L97+16
  1998. 1506 031a C2F82031 str r3, [r2, #288]
  1999. 454:user_src/soft_uart.c **** uart_info.vk_dev_pack_num = 1;
  2000. 1507 .loc 1 454 33
  2001. 1508 031e 2D4B ldr r3, .L97+16
  2002. 1509 0320 0122 movs r2, #1
  2003. 1510 0322 A3F81E21 strh r2, [r3, #286] @ movhi
  2004. 455:user_src/soft_uart.c **** uart_info.vk_dev_update_flag = true;
  2005. 1511 .loc 1 455 36
  2006. 1512 0326 2B4B ldr r3, .L97+16
  2007. 1513 0328 0122 movs r2, #1
  2008. 1514 032a 83F81D21 strb r2, [r3, #285]
  2009. 1515 .L86:
  2010. 456:user_src/soft_uart.c **** }
  2011. 457:user_src/soft_uart.c **** #endif
  2012. 458:user_src/soft_uart.c ****
  2013. 459:user_src/soft_uart.c **** //if(uart_info.use_update_buf_flag == false)
  2014. 460:user_src/soft_uart.c **** //{
  2015. 461:user_src/soft_uart.c **** memcpy(&Update_buf[0],&vk_data.payload[0],vk_data.len + vk_data.head_bytes + vk_data.check_by
  2016. 1516 .loc 1 461 56
  2017. 1517 032e 254B ldr r3, .L97
  2018. 1518 0330 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2
  2019. 1519 0332 1A46 mov r2, r3
  2020. 1520 .loc 1 461 70
  2021. 1521 0334 234B ldr r3, .L97
  2022. 1522 0336 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2
  2023. 1523 .loc 1 461 61
  2024. 1524 0338 1344 add r3, r3, r2
  2025. 1525 .loc 1 461 91
  2026. 1526 033a 224A ldr r2, .L97
  2027. 1527 033c D279 ldrb r2, [r2, #7] @ zero_extendqisi2
  2028. 1528 .loc 1 461 82
  2029. 1529 033e 1344 add r3, r3, r2
  2030. 1530 .loc 1 461 7
  2031. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 36
  2032. 1531 0340 1A46 mov r2, r3
  2033. 1532 0342 2549 ldr r1, .L97+20
  2034. 1533 0344 2548 ldr r0, .L97+24
  2035. 1534 0346 FFF7FEFF bl memcpy
  2036. 462:user_src/soft_uart.c **** //判断是否是需要的包序号
  2037. 463:user_src/soft_uart.c **** if(uart_info.vk_dev_pack_num > (Update_buf[PACK_NUM] + Update_buf[PACK_NUM + 1] * 256) &&
  2038. 1535 .loc 1 463 19
  2039. 1536 034a 224B ldr r3, .L97+16
  2040. 1537 034c B3F81E31 ldrh r3, [r3, #286]
  2041. 1538 0350 1A46 mov r2, r3
  2042. 1539 .loc 1 463 49
  2043. 1540 0352 224B ldr r3, .L97+24
  2044. 1541 0354 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2
  2045. 1542 0356 1946 mov r1, r3
  2046. 1543 .loc 1 463 72
  2047. 1544 0358 204B ldr r3, .L97+24
  2048. 1545 035a DB79 ldrb r3, [r3, #7] @ zero_extendqisi2
  2049. 1546 .loc 1 463 87
  2050. 1547 035c 1B02 lsls r3, r3, #8
  2051. 1548 .loc 1 463 60
  2052. 1549 035e 0B44 add r3, r3, r1
  2053. 1550 .loc 1 463 9
  2054. 1551 0360 9A42 cmp r2, r3
  2055. 1552 0362 0ADD ble .L87
  2056. 464:user_src/soft_uart.c **** vk_data.msg_id == 201)
  2057. 1553 .loc 1 464 15 discriminator 1
  2058. 1554 0364 174B ldr r3, .L97
  2059. 1555 0366 5B79 ldrb r3, [r3, #5] @ zero_extendqisi2
  2060. 463:user_src/soft_uart.c **** vk_data.msg_id == 201)
  2061. 1556 .loc 1 463 94 discriminator 1
  2062. 1557 0368 C92B cmp r3, #201
  2063. 1558 036a 06D1 bne .L87
  2064. 465:user_src/soft_uart.c **** {
  2065. 466:user_src/soft_uart.c **** Update_ack_func(Update_buf[DEVICE],201,&Update_buf[PACK_NUM]);
  2066. 1559 .loc 1 466 8
  2067. 1560 036c 1B4B ldr r3, .L97+24
  2068. 1561 036e 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  2069. 1562 0370 1D4A ldr r2, .L97+36
  2070. 1563 0372 C921 movs r1, #201
  2071. 1564 0374 1846 mov r0, r3
  2072. 1565 0376 FFF7FEFF bl Update_ack_func
  2073. 1566 .L87:
  2074. 467:user_src/soft_uart.c **** }
  2075. 468:user_src/soft_uart.c ****
  2076. 469:user_src/soft_uart.c **** uart_info.use_update_buf_flag = true;
  2077. 1567 .loc 1 469 37
  2078. 1568 037a 164B ldr r3, .L97+16
  2079. 1569 037c 0122 movs r2, #1
  2080. 1570 037e 5A70 strb r2, [r3, #1]
  2081. 1571 0380 00E0 b .L75
  2082. 1572 .L92:
  2083. 406:user_src/soft_uart.c **** {
  2084. 1573 .loc 1 406 8
  2085. 1574 0382 00BF nop
  2086. 1575 .L75:
  2087. 470:user_src/soft_uart.c ****
  2088. 471:user_src/soft_uart.c ****
  2089. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 37
  2090. 472:user_src/soft_uart.c **** //}
  2091. 473:user_src/soft_uart.c ****
  2092. 474:user_src/soft_uart.c ****
  2093. 475:user_src/soft_uart.c **** }
  2094. 476:user_src/soft_uart.c ****
  2095. 477:user_src/soft_uart.c **** }
  2096. 478:user_src/soft_uart.c **** else
  2097. 479:user_src/soft_uart.c **** {
  2098. 480:user_src/soft_uart.c **** //vk_protocol_test[4]++;
  2099. 481:user_src/soft_uart.c **** }
  2100. 482:user_src/soft_uart.c **** recv_step = RX_HEAD;
  2101. 1576 .loc 1 482 14
  2102. 1577 0384 194B ldr r3, .L97+40
  2103. 1578 0386 0022 movs r2, #0
  2104. 1579 0388 1A70 strb r2, [r3]
  2105. 483:user_src/soft_uart.c **** break;
  2106. 1580 .loc 1 483 4
  2107. 1581 038a 06E0 b .L67
  2108. 1582 .L55:
  2109. 484:user_src/soft_uart.c **** default:
  2110. 485:user_src/soft_uart.c **** recv_step = RX_HEAD;
  2111. 1583 .loc 1 485 14
  2112. 1584 038c 174B ldr r3, .L97+40
  2113. 1585 038e 0022 movs r2, #0
  2114. 1586 0390 1A70 strb r2, [r3]
  2115. 486:user_src/soft_uart.c **** //vk_protocol_test[5]++;
  2116. 487:user_src/soft_uart.c **** break;
  2117. 1587 .loc 1 487 4
  2118. 1588 0392 02E0 b .L67
  2119. 1589 .L90:
  2120. 330:user_src/soft_uart.c **** case RX_PAYLOAD_LEN:
  2121. 1590 .loc 1 330 4
  2122. 1591 0394 00BF nop
  2123. 1592 0396 00E0 b .L67
  2124. 1593 .L91:
  2125. 377:user_src/soft_uart.c **** case RX_CHECK_LOW:
  2126. 1594 .loc 1 377 4
  2127. 1595 0398 00BF nop
  2128. 1596 .L67:
  2129. 488:user_src/soft_uart.c **** }
  2130. 489:user_src/soft_uart.c **** if( uart_info.fcu_buf_flag == true)
  2131. 1597 .loc 1 489 16
  2132. 1598 039a 0E4B ldr r3, .L97+16
  2133. 1599 039c 1B78 ldrb r3, [r3] @ zero_extendqisi2
  2134. 1600 .loc 1 489 5
  2135. 1601 039e 002B cmp r3, #0
  2136. 1602 03a0 0BD1 bne .L93
  2137. 1603 .L53:
  2138. 313:user_src/soft_uart.c **** {
  2139. 1604 .loc 1 313 9
  2140. 1605 03a2 07F10F03 add r3, r7, #15
  2141. 1606 03a6 0122 movs r2, #1
  2142. 1607 03a8 1946 mov r1, r3
  2143. 1608 03aa 7868 ldr r0, [r7, #4]
  2144. 1609 03ac FFF7FEFF bl rkfifo_out
  2145. 1610 03b0 0346 mov r3, r0
  2146. 313:user_src/soft_uart.c **** {
  2147. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 38
  2148. 1611 .loc 1 313 8
  2149. 1612 03b2 002B cmp r3, #0
  2150. 1613 03b4 7FF42BAE bne .L89
  2151. 490:user_src/soft_uart.c **** break;
  2152. 491:user_src/soft_uart.c **** }
  2153. 492:user_src/soft_uart.c **** }
  2154. 1614 .loc 1 492 1
  2155. 1615 03b8 00E0 b .L94
  2156. 1616 .L93:
  2157. 490:user_src/soft_uart.c **** break;
  2158. 1617 .loc 1 490 4
  2159. 1618 03ba 00BF nop
  2160. 1619 .L94:
  2161. 1620 .loc 1 492 1
  2162. 1621 03bc 00BF nop
  2163. 1622 03be 1037 adds r7, r7, #16
  2164. 1623 .LCFI46:
  2165. 1624 .cfi_def_cfa_offset 8
  2166. 1625 03c0 BD46 mov sp, r7
  2167. 1626 .LCFI47:
  2168. 1627 .cfi_def_cfa_register 13
  2169. 1628 @ sp needed
  2170. 1629 03c2 80BD pop {r7, pc}
  2171. 1630 .L98:
  2172. 1631 .align 2
  2173. 1632 .L97:
  2174. 1633 03c4 00000000 .word vk_data
  2175. 1634 03c8 00000000 .word uavr11_info
  2176. 1635 03cc 00000000 .word uavr12_info
  2177. 1636 03d0 00000000 .word uavr56_info
  2178. 1637 03d4 00000000 .word uart_info
  2179. 1638 03d8 0A000000 .word vk_data+10
  2180. 1639 03dc 00000000 .word Update_buf
  2181. 1640 03e0 00000000 .word radar_update_flag
  2182. 1641 03e4 00000000 .word update_count
  2183. 1642 03e8 06000000 .word Update_buf+6
  2184. 1643 03ec 00000000 .word recv_step
  2185. 1644 .cfi_endproc
  2186. 1645 .LFE142:
  2187. 1647 .section .bss.send_time3.2,"aw",%nobits
  2188. 1648 .align 2
  2189. 1651 send_time3.2:
  2190. 1652 0000 00000000 .space 4
  2191. 1653 .section .bss.vk_recv_time.1,"aw",%nobits
  2192. 1654 .align 2
  2193. 1657 vk_recv_time.1:
  2194. 1658 0000 00000000 .space 4
  2195. 1659 .section .bss.i.0,"aw",%nobits
  2196. 1662 i.0:
  2197. 1663 0000 00 .space 1
  2198. 1664 .text
  2199. 1665 .Letext0:
  2200. 1666 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  2201. 1667 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  2202. 1668 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
  2203. 1669 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
  2204. 1670 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
  2205. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 39
  2206. 1671 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h"
  2207. 1672 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_uart.h"
  2208. 1673 .file 9 "user_inc/rkfifo.h"
  2209. 1674 .file 10 "user_inc/soft_uart.h"
  2210. 1675 .file 11 "user_inc/soft_can.h"
  2211. 1676 .file 12 "Core/Inc/usart.h"
  2212. 1677 .file 13 "user_inc/common.h"
  2213. 1678 .file 14 "user_inc/soft_terrain.h"
  2214. 1679 .file 15 "user_inc/soft_obstacle.h"
  2215. 1680 .file 16 "user_inc/soft_p_2_c.h"
  2216. 1681 .file 17 "user_inc/soft_engine.h"
  2217. 1682 .file 18 "user_inc/soft_update.h"
  2218. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 40
  2219. DEFINED SYMBOLS
  2220. *ABS*:00000000 soft_uart.c
  2221. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:24 .bss.Update_buf:00000000 Update_buf
  2222. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:21 .bss.Update_buf:00000000 $d
  2223. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:31 .bss.vk_protocol:00000000 vk_protocol
  2224. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:28 .bss.vk_protocol:00000000 $d
  2225. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:38 .bss.send_uart_rkfifo:00000000 send_uart_rkfifo
  2226. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:35 .bss.send_uart_rkfifo:00000000 $d
  2227. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:44 .bss.radar_update_flag:00000000 radar_update_flag
  2228. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:45 .bss.radar_update_flag:00000000 $d
  2229. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:51 .data.uart_info:00000000 uart_info
  2230. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:48 .data.uart_info:00000000 $d
  2231. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:56 .text._write:00000000 $t
  2232. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:62 .text._write:00000000 _write
  2233. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:129 .text._write:00000048 $d
  2234. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:134 .text.uart_send_is_ok:00000000 $t
  2235. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:140 .text.uart_send_is_ok:00000000 uart_send_is_ok
  2236. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:265 .text.uart_send_is_ok:00000098 $d
  2237. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:277 .bss.uart2_send_delay_time:00000000 uart2_send_delay_time
  2238. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:284 .bss.uart3_send_delay_time:00000000 uart3_send_delay_time
  2239. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:274 .bss.uart2_send_delay_time:00000000 $d
  2240. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:281 .bss.uart3_send_delay_time:00000000 $d
  2241. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:287 .text.uart2_send_msg:00000000 $t
  2242. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:293 .text.uart2_send_msg:00000000 uart2_send_msg
  2243. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:332 .text.uart2_send_msg:00000020 $d
  2244. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:341 .bss.send_uart_buf:00000000 send_uart_buf
  2245. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:338 .bss.send_uart_buf:00000000 $d
  2246. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:344 .text.send_uartfifo_msg:00000000 $t
  2247. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:350 .text.send_uartfifo_msg:00000000 send_uartfifo_msg
  2248. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:415 .text.send_uartfifo_msg:0000004c $d
  2249. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:423 .text.uart3_send_msg:00000000 $t
  2250. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:429 .text.uart3_send_msg:00000000 uart3_send_msg
  2251. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:494 .text.uart3_send_msg:00000048 $d
  2252. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:1651 .bss.send_time3.2:00000000 send_time3.2
  2253. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:501 .text.UART_Init:00000000 $t
  2254. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:507 .text.UART_Init:00000000 UART_Init
  2255. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:569 .text.UART_Init:00000060 $d
  2256. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:581 .bss.read_DR:00000000 read_DR
  2257. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:578 .bss.read_DR:00000000 $d
  2258. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:588 .bss.recv_rkfifo:00000000 recv_rkfifo
  2259. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:585 .bss.recv_rkfifo:00000000 $d
  2260. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:591 .text.USER_UART_IRQHandler:00000000 $t
  2261. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:597 .text.USER_UART_IRQHandler:00000000 USER_UART_IRQHandler
  2262. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:763 .text.USER_UART_IRQHandler:000000fc $d
  2263. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:775 .text.HAL_UART_ErrorCallback:00000000 $t
  2264. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:781 .text.HAL_UART_ErrorCallback:00000000 HAL_UART_ErrorCallback
  2265. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:869 .text.HAL_UART_ErrorCallback:0000006c $d
  2266. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:877 .text.HAL_UART_TxCpltCallback:00000000 $t
  2267. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:883 .text.HAL_UART_TxCpltCallback:00000000 HAL_UART_TxCpltCallback
  2268. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:922 .bss.recv_step:00000000 recv_step
  2269. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:923 .bss.recv_step:00000000 $d
  2270. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:929 .bss.fcu_protocol:00000000 fcu_protocol
  2271. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:926 .bss.fcu_protocol:00000000 $d
  2272. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:936 .data.vk_data:00000000 vk_data
  2273. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:933 .data.vk_data:00000000 $d
  2274. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:945 .text.check_uart_data:00000000 $t
  2275. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:951 .text.check_uart_data:00000000 check_uart_data
  2276. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s page 41
  2277. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:1005 .text.check_uart_data:0000003c $d
  2278. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:1014 .text.check_uart_data:00000060 $t
  2279. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:1344 .text.check_uart_data:00000220 $d
  2280. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:1657 .bss.vk_recv_time.1:00000000 vk_recv_time.1
  2281. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:1662 .bss.i.0:00000000 i.0
  2282. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:1354 .text.check_uart_data:00000240 $t
  2283. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:1633 .text.check_uart_data:000003c4 $d
  2284. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:1648 .bss.send_time3.2:00000000 $d
  2285. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:1654 .bss.vk_recv_time.1:00000000 $d
  2286. C:\Users\zl835\AppData\Local\Temp\ccIHNTG9.s:1663 .bss.i.0:00000000 $d
  2287. UNDEFINED SYMBOLS
  2288. HAL_GetTick
  2289. HAL_UART_Transmit
  2290. huart3
  2291. huart2
  2292. rkfifo_in
  2293. rkfifo_out
  2294. HAL_UART_Transmit_DMA
  2295. HAL_UART_Receive_DMA
  2296. HAL_UART_AbortReceive
  2297. decode_aoan_engine
  2298. decode_vkv3_engine
  2299. aoan_engine_Link
  2300. vkv3_engine_link
  2301. Get_Crc16
  2302. memcpy
  2303. memset
  2304. Update_ack_func
  2305. uavr11_info
  2306. uavr12_info
  2307. uavr56_info
  2308. update_count