soft_flow.lst 65 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.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_flow.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .global flow_dev1
  21. 20 .section .bss.flow_dev1,"aw",%nobits
  22. 21 .align 2
  23. 24 flow_dev1:
  24. 25 0000 00000000 .space 38
  25. 25 00000000
  26. 25 00000000
  27. 25 00000000
  28. 25 00000000
  29. 26 .global flow_dev2
  30. 27 .section .bss.flow_dev2,"aw",%nobits
  31. 28 .align 2
  32. 31 flow_dev2:
  33. 32 0000 00000000 .space 38
  34. 32 00000000
  35. 32 00000000
  36. 32 00000000
  37. 32 00000000
  38. 33 .section .text.HAL_GPIO_EXTI_Callback,"ax",%progbits
  39. 34 .align 1
  40. 35 .global HAL_GPIO_EXTI_Callback
  41. 36 .syntax unified
  42. 37 .thumb
  43. 38 .thumb_func
  44. 40 HAL_GPIO_EXTI_Callback:
  45. 41 .LFB133:
  46. 42 .file 1 "user_src/soft_flow.c"
  47. 1:user_src/soft_flow.c **** #include "soft_flow.h"
  48. 2:user_src/soft_flow.c **** #include "gpio.h"
  49. 3:user_src/soft_flow.c **** #include "common.h"
  50. 4:user_src/soft_flow.c **** #include "soft_uart.h"
  51. 5:user_src/soft_flow.c **** #include "soft_flash.h"
  52. 6:user_src/soft_flow.c **** #include "soft_p_2_c.h"
  53. 7:user_src/soft_flow.c **** #include "string.h"
  54. 8:user_src/soft_flow.c **** #include "soft_water_device.h"
  55. 9:user_src/soft_flow.c **** #include "soft_seed_device.h"
  56. 10:user_src/soft_flow.c **** #include "soft_timer.h"
  57. 11:user_src/soft_flow.c **** #include "soft_test.h"
  58. 12:user_src/soft_flow.c **** #include "tim.h"
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 2
  60. 13:user_src/soft_flow.c ****
  61. 14:user_src/soft_flow.c **** flow_hl flow_dev1;
  62. 15:user_src/soft_flow.c **** flow_hl flow_dev2;
  63. 16:user_src/soft_flow.c ****
  64. 17:user_src/soft_flow.c **** void HAL_GPIO_EXTI_Callback( uint16_t GPIO_Pin )
  65. 18:user_src/soft_flow.c **** {
  66. 43 .loc 1 18 1
  67. 44 .cfi_startproc
  68. 45 @ args = 0, pretend = 0, frame = 8
  69. 46 @ frame_needed = 1, uses_anonymous_args = 0
  70. 47 0000 80B5 push {r7, lr}
  71. 48 .LCFI0:
  72. 49 .cfi_def_cfa_offset 8
  73. 50 .cfi_offset 7, -8
  74. 51 .cfi_offset 14, -4
  75. 52 0002 82B0 sub sp, sp, #8
  76. 53 .LCFI1:
  77. 54 .cfi_def_cfa_offset 16
  78. 55 0004 00AF add r7, sp, #0
  79. 56 .LCFI2:
  80. 57 .cfi_def_cfa_register 7
  81. 58 0006 0346 mov r3, r0
  82. 59 0008 FB80 strh r3, [r7, #6] @ movhi
  83. 19:user_src/soft_flow.c **** //__HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
  84. 20:user_src/soft_flow.c **** if ( GPIO_Pin == EXIT_1T_Pin )
  85. 60 .loc 1 20 8
  86. 61 000a FB88 ldrh r3, [r7, #6]
  87. 62 000c 402B cmp r3, #64
  88. 63 000e 16D1 bne .L2
  89. 21:user_src/soft_flow.c **** {
  90. 22:user_src/soft_flow.c **** if(HAL_GPIO_ReadPin( GPIOB, EXIT_1T_Pin ) == GPIO_PIN_SET)
  91. 64 .loc 1 22 12
  92. 65 0010 4021 movs r1, #64
  93. 66 0012 1A48 ldr r0, .L7
  94. 67 0014 FFF7FEFF bl HAL_GPIO_ReadPin
  95. 68 0018 0346 mov r3, r0
  96. 69 .loc 1 22 11
  97. 70 001a 012B cmp r3, #1
  98. 71 001c 04D1 bne .L3
  99. 23:user_src/soft_flow.c **** {
  100. 24:user_src/soft_flow.c **** flow_count_add(1,EXTI_UP);
  101. 72 .loc 1 24 13
  102. 73 001e 0221 movs r1, #2
  103. 74 0020 0120 movs r0, #1
  104. 75 0022 FFF7FEFF bl flow_count_add
  105. 76 0026 0AE0 b .L2
  106. 77 .L3:
  107. 25:user_src/soft_flow.c **** }
  108. 26:user_src/soft_flow.c **** else if (HAL_GPIO_ReadPin( GPIOB, EXIT_1T_Pin ) == GPIO_PIN_RESET)
  109. 78 .loc 1 26 18
  110. 79 0028 4021 movs r1, #64
  111. 80 002a 1448 ldr r0, .L7
  112. 81 002c FFF7FEFF bl HAL_GPIO_ReadPin
  113. 82 0030 0346 mov r3, r0
  114. 83 .loc 1 26 17
  115. 84 0032 002B cmp r3, #0
  116. 85 0034 03D1 bne .L2
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 3
  118. 27:user_src/soft_flow.c **** {
  119. 28:user_src/soft_flow.c **** flow_count_add(1,EXTI_FALL);
  120. 86 .loc 1 28 13
  121. 87 0036 0121 movs r1, #1
  122. 88 0038 0120 movs r0, #1
  123. 89 003a FFF7FEFF bl flow_count_add
  124. 90 .L2:
  125. 29:user_src/soft_flow.c **** }
  126. 30:user_src/soft_flow.c **** }
  127. 31:user_src/soft_flow.c ****
  128. 32:user_src/soft_flow.c **** if ( GPIO_Pin == EXIT_2T_Pin )
  129. 91 .loc 1 32 8
  130. 92 003e FB88 ldrh r3, [r7, #6]
  131. 93 0040 802B cmp r3, #128
  132. 94 0042 16D1 bne .L6
  133. 33:user_src/soft_flow.c **** {
  134. 34:user_src/soft_flow.c **** if(HAL_GPIO_ReadPin( GPIOB, EXIT_2T_Pin ) == GPIO_PIN_SET)
  135. 95 .loc 1 34 12
  136. 96 0044 8021 movs r1, #128
  137. 97 0046 0D48 ldr r0, .L7
  138. 98 0048 FFF7FEFF bl HAL_GPIO_ReadPin
  139. 99 004c 0346 mov r3, r0
  140. 100 .loc 1 34 11
  141. 101 004e 012B cmp r3, #1
  142. 102 0050 04D1 bne .L5
  143. 35:user_src/soft_flow.c **** {
  144. 36:user_src/soft_flow.c **** flow_count_add(2,EXTI_UP);
  145. 103 .loc 1 36 13
  146. 104 0052 0221 movs r1, #2
  147. 105 0054 0220 movs r0, #2
  148. 106 0056 FFF7FEFF bl flow_count_add
  149. 37:user_src/soft_flow.c **** }
  150. 38:user_src/soft_flow.c **** else if (HAL_GPIO_ReadPin( GPIOB, EXIT_2T_Pin ) == GPIO_PIN_RESET)
  151. 39:user_src/soft_flow.c **** {
  152. 40:user_src/soft_flow.c **** flow_count_add(2,EXTI_FALL);
  153. 41:user_src/soft_flow.c **** }
  154. 42:user_src/soft_flow.c **** }
  155. 43:user_src/soft_flow.c **** }
  156. 107 .loc 1 43 1
  157. 108 005a 0AE0 b .L6
  158. 109 .L5:
  159. 38:user_src/soft_flow.c **** {
  160. 110 .loc 1 38 18
  161. 111 005c 8021 movs r1, #128
  162. 112 005e 0748 ldr r0, .L7
  163. 113 0060 FFF7FEFF bl HAL_GPIO_ReadPin
  164. 114 0064 0346 mov r3, r0
  165. 38:user_src/soft_flow.c **** {
  166. 115 .loc 1 38 17
  167. 116 0066 002B cmp r3, #0
  168. 117 0068 03D1 bne .L6
  169. 40:user_src/soft_flow.c **** }
  170. 118 .loc 1 40 13
  171. 119 006a 0121 movs r1, #1
  172. 120 006c 0220 movs r0, #2
  173. 121 006e FFF7FEFF bl flow_count_add
  174. 122 .L6:
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 4
  176. 123 .loc 1 43 1
  177. 124 0072 00BF nop
  178. 125 0074 0837 adds r7, r7, #8
  179. 126 .LCFI3:
  180. 127 .cfi_def_cfa_offset 8
  181. 128 0076 BD46 mov sp, r7
  182. 129 .LCFI4:
  183. 130 .cfi_def_cfa_register 13
  184. 131 @ sp needed
  185. 132 0078 80BD pop {r7, pc}
  186. 133 .L8:
  187. 134 007a 00BF .align 2
  188. 135 .L7:
  189. 136 007c 00040048 .word 1207960576
  190. 137 .cfi_endproc
  191. 138 .LFE133:
  192. 140 .section .text.flow_count_add,"ax",%progbits
  193. 141 .align 1
  194. 142 .global flow_count_add
  195. 143 .syntax unified
  196. 144 .thumb
  197. 145 .thumb_func
  198. 147 flow_count_add:
  199. 148 .LFB134:
  200. 44:user_src/soft_flow.c ****
  201. 45:user_src/soft_flow.c ****
  202. 46:user_src/soft_flow.c **** /**
  203. 47:user_src/soft_flow.c **** * @file flow_count_add
  204. 48:user_src/soft_flow.c **** * @brief 外部中断计算触发数
  205. 49:user_src/soft_flow.c **** * @param none
  206. 50:user_src/soft_flow.c **** * @details
  207. 51:user_src/soft_flow.c **** * @author Zhang Sir
  208. 52:user_src/soft_flow.c **** **/
  209. 53:user_src/soft_flow.c **** void flow_count_add(uint8_t flow_num,uint8_t exti_status)
  210. 54:user_src/soft_flow.c **** {
  211. 149 .loc 1 54 1
  212. 150 .cfi_startproc
  213. 151 @ args = 0, pretend = 0, frame = 16
  214. 152 @ frame_needed = 1, uses_anonymous_args = 0
  215. 153 0000 80B5 push {r7, lr}
  216. 154 .LCFI5:
  217. 155 .cfi_def_cfa_offset 8
  218. 156 .cfi_offset 7, -8
  219. 157 .cfi_offset 14, -4
  220. 158 0002 2DED028B vpush.64 {d8}
  221. 159 .LCFI6:
  222. 160 .cfi_def_cfa_offset 16
  223. 161 .cfi_offset 80, -16
  224. 162 .cfi_offset 81, -12
  225. 163 0006 84B0 sub sp, sp, #16
  226. 164 .LCFI7:
  227. 165 .cfi_def_cfa_offset 32
  228. 166 0008 00AF add r7, sp, #0
  229. 167 .LCFI8:
  230. 168 .cfi_def_cfa_register 7
  231. 169 000a 0346 mov r3, r0
  232. 170 000c 0A46 mov r2, r1
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 5
  234. 171 000e FB71 strb r3, [r7, #7]
  235. 172 0010 1346 mov r3, r2
  236. 173 0012 BB71 strb r3, [r7, #6]
  237. 55:user_src/soft_flow.c **** flow_hl *flow_temp = NULL;
  238. 174 .loc 1 55 14
  239. 175 0014 0023 movs r3, #0
  240. 176 0016 FB60 str r3, [r7, #12]
  241. 56:user_src/soft_flow.c ****
  242. 57:user_src/soft_flow.c **** if(flow_num == 1)
  243. 177 .loc 1 57 7
  244. 178 0018 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  245. 179 001a 012B cmp r3, #1
  246. 180 001c 02D1 bne .L10
  247. 58:user_src/soft_flow.c **** {
  248. 59:user_src/soft_flow.c **** flow_temp = &flow_dev1;
  249. 181 .loc 1 59 19
  250. 182 001e 484B ldr r3, .L16
  251. 183 0020 FB60 str r3, [r7, #12]
  252. 184 0022 01E0 b .L11
  253. 185 .L10:
  254. 60:user_src/soft_flow.c **** }
  255. 61:user_src/soft_flow.c **** else
  256. 62:user_src/soft_flow.c **** {
  257. 63:user_src/soft_flow.c **** flow_temp = &flow_dev2;
  258. 186 .loc 1 63 19
  259. 187 0024 474B ldr r3, .L16+4
  260. 188 0026 FB60 str r3, [r7, #12]
  261. 189 .L11:
  262. 64:user_src/soft_flow.c **** }
  263. 65:user_src/soft_flow.c ****
  264. 66:user_src/soft_flow.c **** if(exti_status == EXTI_UP)
  265. 190 .loc 1 66 7
  266. 191 0028 BB79 ldrb r3, [r7, #6] @ zero_extendqisi2
  267. 192 002a 022B cmp r3, #2
  268. 193 002c 6CD1 bne .L12
  269. 67:user_src/soft_flow.c **** {
  270. 68:user_src/soft_flow.c **** if(Get_Systimer_Us() - flow_temp->falling_delay_time > 700)
  271. 194 .loc 1 68 12
  272. 195 002e FFF7FEFF bl Get_Systimer_Us
  273. 196 0032 0246 mov r2, r0
  274. 197 .loc 1 68 41
  275. 198 0034 FB68 ldr r3, [r7, #12]
  276. 199 0036 D3F82230 ldr r3, [r3, #34] @ unaligned
  277. 200 .loc 1 68 30
  278. 201 003a D31A subs r3, r2, r3
  279. 202 .loc 1 68 11
  280. 203 003c B3F52F7F cmp r3, #700
  281. 204 0040 78D9 bls .L15
  282. 69:user_src/soft_flow.c **** {
  283. 70:user_src/soft_flow.c **** flow_temp->falling_delay_falg = true;
  284. 205 .loc 1 70 43
  285. 206 0042 FB68 ldr r3, [r7, #12]
  286. 207 0044 0122 movs r2, #1
  287. 208 0046 DA75 strb r2, [r3, #23]
  288. 71:user_src/soft_flow.c ****
  289. 72:user_src/soft_flow.c **** if(flow_temp->falling_delay_falg == true && flow_temp->rising_delay_flag == true)
  290. 209 .loc 1 72 25
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 6
  292. 210 0048 FB68 ldr r3, [r7, #12]
  293. 211 004a DB7D ldrb r3, [r3, #23] @ zero_extendqisi2
  294. 212 .loc 1 72 15
  295. 213 004c 002B cmp r3, #0
  296. 214 004e 54D0 beq .L14
  297. 215 .loc 1 72 66 discriminator 1
  298. 216 0050 FB68 ldr r3, [r7, #12]
  299. 217 0052 9B7D ldrb r3, [r3, #22] @ zero_extendqisi2
  300. 218 .loc 1 72 54 discriminator 1
  301. 219 0054 002B cmp r3, #0
  302. 220 0056 50D0 beq .L14
  303. 73:user_src/soft_flow.c **** {
  304. 74:user_src/soft_flow.c **** flow_temp->falling_delay_falg = false;
  305. 221 .loc 1 74 47
  306. 222 0058 FB68 ldr r3, [r7, #12]
  307. 223 005a 0022 movs r2, #0
  308. 224 005c DA75 strb r2, [r3, #23]
  309. 75:user_src/soft_flow.c **** flow_temp->rising_delay_flag = false;
  310. 225 .loc 1 75 46
  311. 226 005e FB68 ldr r3, [r7, #12]
  312. 227 0060 0022 movs r2, #0
  313. 228 0062 9A75 strb r2, [r3, #22]
  314. 76:user_src/soft_flow.c **** flow_temp->irq_count++;
  315. 229 .loc 1 76 26
  316. 230 0064 FB68 ldr r3, [r7, #12]
  317. 231 0066 D3F80930 ldr r3, [r3, #9] @ unaligned
  318. 232 .loc 1 76 37
  319. 233 006a 5A1C adds r2, r3, #1
  320. 234 006c FB68 ldr r3, [r7, #12]
  321. 235 006e C3F80920 str r2, [r3, #9] @ unaligned
  322. 77:user_src/soft_flow.c ****
  323. 78:user_src/soft_flow.c **** if ( flow_temp->irq_count - flow_temp->irq_last_count >= 5 && flow_temp->irq_flag =
  324. 236 .loc 1 78 31
  325. 237 0072 FB68 ldr r3, [r7, #12]
  326. 238 0074 D3F80920 ldr r2, [r3, #9] @ unaligned
  327. 239 .loc 1 78 54
  328. 240 0078 FB68 ldr r3, [r7, #12]
  329. 241 007a D3F80D30 ldr r3, [r3, #13] @ unaligned
  330. 242 .loc 1 78 43
  331. 243 007e D31A subs r3, r2, r3
  332. 244 .loc 1 78 20
  333. 245 0080 042B cmp r3, #4
  334. 246 0082 3AD9 bls .L14
  335. 247 .loc 1 78 88 discriminator 1
  336. 248 0084 FB68 ldr r3, [r7, #12]
  337. 249 0086 1B7F ldrb r3, [r3, #28] @ zero_extendqisi2
  338. 250 .loc 1 78 76 discriminator 1
  339. 251 0088 002B cmp r3, #0
  340. 252 008a 36D1 bne .L14
  341. 79:user_src/soft_flow.c **** {
  342. 80:user_src/soft_flow.c **** flow_temp->speed = ( 1000.0f * ( flow_temp->irq_count - flow_temp->irq_last
  343. 253 .loc 1 80 67
  344. 254 008c FB68 ldr r3, [r7, #12]
  345. 255 008e D3F80920 ldr r2, [r3, #9] @ unaligned
  346. 256 .loc 1 80 90
  347. 257 0092 FB68 ldr r3, [r7, #12]
  348. 258 0094 D3F80D30 ldr r3, [r3, #13] @ unaligned
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 7
  350. 259 .loc 1 80 79
  351. 260 0098 D31A subs r3, r2, r3
  352. 261 .loc 1 80 54
  353. 262 009a 07EE903A vmov s15, r3 @ int
  354. 263 009e F8EE677A vcvt.f32.u32 s15, s15
  355. 264 00a2 9FED297A vldr.32 s14, .L16+8
  356. 265 00a6 67EE877A vmul.f32 s15, s15, s14
  357. 266 .loc 1 80 111
  358. 267 00aa B3EE067A vmov.f32 s14, #2.2e+1
  359. 268 00ae 87EE878A vdiv.f32 s16, s15, s14
  360. 81:user_src/soft_flow.c **** ( 1000000.0f / ( Get_Systimer_Us() - flow_temp->last_time ) ); //ml
  361. 269 .loc 1 81 50
  362. 270 00b2 FFF7FEFF bl Get_Systimer_Us
  363. 271 00b6 0246 mov r2, r0
  364. 272 .loc 1 81 79
  365. 273 00b8 FB68 ldr r3, [r7, #12]
  366. 274 00ba D3F80530 ldr r3, [r3, #5] @ unaligned
  367. 275 .loc 1 81 68
  368. 276 00be D31A subs r3, r2, r3
  369. 277 .loc 1 81 46
  370. 278 00c0 07EE903A vmov s15, r3 @ int
  371. 279 00c4 B8EE677A vcvt.f32.u32 s14, s15
  372. 280 00c8 DFED206A vldr.32 s13, .L16+12
  373. 281 00cc C6EE877A vdiv.f32 s15, s13, s14
  374. 80:user_src/soft_flow.c **** ( 1000000.0f / ( Get_Systimer_Us() - flow_temp->last_time ) ); //ml
  375. 282 .loc 1 80 121
  376. 283 00d0 68EE277A vmul.f32 s15, s16, s15
  377. 80:user_src/soft_flow.c **** ( 1000000.0f / ( Get_Systimer_Us() - flow_temp->last_time ) ); //ml
  378. 284 .loc 1 80 42
  379. 285 00d4 FDEEE77A vcvt.s32.f32 s15, s15
  380. 286 00d8 17EE902A vmov r2, s15 @ int
  381. 287 00dc FB68 ldr r3, [r7, #12]
  382. 288 00de C3F81220 str r2, [r3, #18] @ unaligned
  383. 82:user_src/soft_flow.c **** flow_temp->irq_last_count = flow_temp->irq_count;
  384. 289 .loc 1 82 58
  385. 290 00e2 FB68 ldr r3, [r7, #12]
  386. 291 00e4 D3F80920 ldr r2, [r3, #9] @ unaligned
  387. 292 .loc 1 82 47
  388. 293 00e8 FB68 ldr r3, [r7, #12]
  389. 294 00ea C3F80D20 str r2, [r3, #13] @ unaligned
  390. 83:user_src/soft_flow.c **** flow_temp->last_time = Get_Systimer_Us();
  391. 295 .loc 1 83 44
  392. 296 00ee FFF7FEFF bl Get_Systimer_Us
  393. 297 00f2 0246 mov r2, r0
  394. 298 .loc 1 83 42
  395. 299 00f4 FB68 ldr r3, [r7, #12]
  396. 300 00f6 C3F80520 str r2, [r3, #5] @ unaligned
  397. 301 .L14:
  398. 84:user_src/soft_flow.c **** }
  399. 85:user_src/soft_flow.c **** }
  400. 86:user_src/soft_flow.c ****
  401. 87:user_src/soft_flow.c **** flow_temp->rising_delay_time = Get_Systimer_Us();
  402. 302 .loc 1 87 44
  403. 303 00fa FFF7FEFF bl Get_Systimer_Us
  404. 304 00fe 0246 mov r2, r0
  405. 305 .loc 1 87 42
  406. 306 0100 FB68 ldr r3, [r7, #12]
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 8
  408. 307 0102 C3F81E20 str r2, [r3, #30] @ unaligned
  409. 88:user_src/soft_flow.c **** }
  410. 89:user_src/soft_flow.c **** }
  411. 90:user_src/soft_flow.c **** else if(exti_status == EXTI_FALL)
  412. 91:user_src/soft_flow.c **** {
  413. 92:user_src/soft_flow.c **** if(Get_Systimer_Us() - flow_temp->rising_delay_time > 700)
  414. 93:user_src/soft_flow.c **** {
  415. 94:user_src/soft_flow.c **** flow_temp->rising_delay_flag = true;
  416. 95:user_src/soft_flow.c **** flow_temp->falling_delay_time = Get_Systimer_Us();
  417. 96:user_src/soft_flow.c **** }
  418. 97:user_src/soft_flow.c **** }
  419. 98:user_src/soft_flow.c **** }
  420. 308 .loc 1 98 1
  421. 309 0106 15E0 b .L15
  422. 310 .L12:
  423. 90:user_src/soft_flow.c **** {
  424. 311 .loc 1 90 12
  425. 312 0108 BB79 ldrb r3, [r7, #6] @ zero_extendqisi2
  426. 313 010a 012B cmp r3, #1
  427. 314 010c 12D1 bne .L15
  428. 92:user_src/soft_flow.c **** {
  429. 315 .loc 1 92 12
  430. 316 010e FFF7FEFF bl Get_Systimer_Us
  431. 317 0112 0246 mov r2, r0
  432. 92:user_src/soft_flow.c **** {
  433. 318 .loc 1 92 41
  434. 319 0114 FB68 ldr r3, [r7, #12]
  435. 320 0116 D3F81E30 ldr r3, [r3, #30] @ unaligned
  436. 92:user_src/soft_flow.c **** {
  437. 321 .loc 1 92 30
  438. 322 011a D31A subs r3, r2, r3
  439. 92:user_src/soft_flow.c **** {
  440. 323 .loc 1 92 11
  441. 324 011c B3F52F7F cmp r3, #700
  442. 325 0120 08D9 bls .L15
  443. 94:user_src/soft_flow.c **** flow_temp->falling_delay_time = Get_Systimer_Us();
  444. 326 .loc 1 94 42
  445. 327 0122 FB68 ldr r3, [r7, #12]
  446. 328 0124 0122 movs r2, #1
  447. 329 0126 9A75 strb r2, [r3, #22]
  448. 95:user_src/soft_flow.c **** }
  449. 330 .loc 1 95 45
  450. 331 0128 FFF7FEFF bl Get_Systimer_Us
  451. 332 012c 0246 mov r2, r0
  452. 95:user_src/soft_flow.c **** }
  453. 333 .loc 1 95 43
  454. 334 012e FB68 ldr r3, [r7, #12]
  455. 335 0130 C3F82220 str r2, [r3, #34] @ unaligned
  456. 336 .L15:
  457. 337 .loc 1 98 1
  458. 338 0134 00BF nop
  459. 339 0136 1037 adds r7, r7, #16
  460. 340 .LCFI9:
  461. 341 .cfi_def_cfa_offset 16
  462. 342 0138 BD46 mov sp, r7
  463. 343 .LCFI10:
  464. 344 .cfi_def_cfa_register 13
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 9
  466. 345 @ sp needed
  467. 346 013a BDEC028B vldm sp!, {d8}
  468. 347 .LCFI11:
  469. 348 .cfi_restore 80
  470. 349 .cfi_restore 81
  471. 350 .cfi_def_cfa_offset 8
  472. 351 013e 80BD pop {r7, pc}
  473. 352 .L17:
  474. 353 .align 2
  475. 354 .L16:
  476. 355 0140 00000000 .word flow_dev1
  477. 356 0144 00000000 .word flow_dev2
  478. 357 0148 00007A44 .word 1148846080
  479. 358 014c 00247449 .word 1232348160
  480. 359 .cfi_endproc
  481. 360 .LFE134:
  482. 362 .global L3_status
  483. 363 .section .data.L3_status,"aw"
  484. 366 L3_status:
  485. 367 0000 01 .byte 1
  486. 368 .global L4_status
  487. 369 .section .data.L4_status,"aw"
  488. 372 L4_status:
  489. 373 0000 01 .byte 1
  490. 374 .section .text.L1L2_GPIO_check,"ax",%progbits
  491. 375 .align 1
  492. 376 .global L1L2_GPIO_check
  493. 377 .syntax unified
  494. 378 .thumb
  495. 379 .thumb_func
  496. 381 L1L2_GPIO_check:
  497. 382 .LFB135:
  498. 99:user_src/soft_flow.c ****
  499. 100:user_src/soft_flow.c ****
  500. 101:user_src/soft_flow.c **** /**
  501. 102:user_src/soft_flow.c **** * @file L1L2_GPIO_check
  502. 103:user_src/soft_flow.c **** * @brief 34IO端口检测
  503. 104:user_src/soft_flow.c **** * @param none
  504. 105:user_src/soft_flow.c **** * @details
  505. 106:user_src/soft_flow.c **** * @author Zhang Sir
  506. 107:user_src/soft_flow.c **** **/
  507. 108:user_src/soft_flow.c **** GPIO_PinState L3_status = GPIO_PIN_SET;
  508. 109:user_src/soft_flow.c **** GPIO_PinState L4_status = GPIO_PIN_SET;
  509. 110:user_src/soft_flow.c **** void L1L2_GPIO_check()
  510. 111:user_src/soft_flow.c **** {
  511. 383 .loc 1 111 1
  512. 384 .cfi_startproc
  513. 385 @ args = 0, pretend = 0, frame = 8
  514. 386 @ frame_needed = 1, uses_anonymous_args = 0
  515. 387 0000 80B5 push {r7, lr}
  516. 388 .LCFI12:
  517. 389 .cfi_def_cfa_offset 8
  518. 390 .cfi_offset 7, -8
  519. 391 .cfi_offset 14, -4
  520. 392 0002 82B0 sub sp, sp, #8
  521. 393 .LCFI13:
  522. 394 .cfi_def_cfa_offset 16
  523. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 10
  524. 395 0004 00AF add r7, sp, #0
  525. 396 .LCFI14:
  526. 397 .cfi_def_cfa_register 7
  527. 112:user_src/soft_flow.c **** static int l1l2_time = 0;
  528. 113:user_src/soft_flow.c **** if ( HAL_GetTick() - l1l2_time < 100 )
  529. 398 .loc 1 113 10
  530. 399 0006 FFF7FEFF bl HAL_GetTick
  531. 400 000a 0346 mov r3, r0
  532. 401 .loc 1 113 24
  533. 402 000c 404A ldr r2, .L29
  534. 403 000e 1268 ldr r2, [r2]
  535. 404 0010 9B1A subs r3, r3, r2
  536. 405 .loc 1 113 8
  537. 406 0012 632B cmp r3, #99
  538. 407 0014 78D9 bls .L28
  539. 114:user_src/soft_flow.c **** {
  540. 115:user_src/soft_flow.c **** return;
  541. 116:user_src/soft_flow.c **** }
  542. 117:user_src/soft_flow.c **** l1l2_time = HAL_GetTick();
  543. 408 .loc 1 117 17
  544. 409 0016 FFF7FEFF bl HAL_GetTick
  545. 410 001a 0346 mov r3, r0
  546. 411 001c 1A46 mov r2, r3
  547. 412 .loc 1 117 15
  548. 413 001e 3C4B ldr r3, .L29
  549. 414 0020 1A60 str r2, [r3]
  550. 118:user_src/soft_flow.c ****
  551. 119:user_src/soft_flow.c **** // 抛球信号 接PMUA1
  552. 120:user_src/soft_flow.c **** // 抛球反馈信号接 L1
  553. 121:user_src/soft_flow.c **** // 断药L2
  554. 122:user_src/soft_flow.c **** if(current_pmu_par.uavtype == JET_UAV_TYPE)
  555. 415 .loc 1 122 23
  556. 416 0022 3C4B ldr r3, .L29+4
  557. 417 0024 B3F90230 ldrsh r3, [r3, #2]
  558. 418 .loc 1 122 7
  559. 419 0028 0D2B cmp r3, #13
  560. 420 002a 47D1 bne .L21
  561. 421 .LBB2:
  562. 123:user_src/soft_flow.c **** {
  563. 124:user_src/soft_flow.c **** static bool jet_active = false;
  564. 125:user_src/soft_flow.c **** static uint32_t jet_time = 0;
  565. 126:user_src/soft_flow.c **** static bool jet_ack_flag = false;
  566. 127:user_src/soft_flow.c ****
  567. 128:user_src/soft_flow.c **** GPIO_PinState Dev_ack = HAL_GPIO_ReadPin( GPIOB, GPIO_PIN_8 );
  568. 422 .loc 1 128 33
  569. 423 002c 4FF48071 mov r1, #256
  570. 424 0030 3948 ldr r0, .L29+8
  571. 425 0032 FFF7FEFF bl HAL_GPIO_ReadPin
  572. 426 0036 0346 mov r3, r0
  573. 427 0038 FB71 strb r3, [r7, #7]
  574. 129:user_src/soft_flow.c **** L3_status = GPIO_PIN_SET;//L3给默认值
  575. 428 .loc 1 129 19
  576. 429 003a 384B ldr r3, .L29+12
  577. 430 003c 0122 movs r2, #1
  578. 431 003e 1A70 strb r2, [r3]
  579. 130:user_src/soft_flow.c **** L4_status = HAL_GPIO_ReadPin( GPIOB, EXIT_4T_Pin );
  580. 432 .loc 1 130 21
  581. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 11
  582. 433 0040 4FF40071 mov r1, #512
  583. 434 0044 3448 ldr r0, .L29+8
  584. 435 0046 FFF7FEFF bl HAL_GPIO_ReadPin
  585. 436 004a 0346 mov r3, r0
  586. 437 004c 1A46 mov r2, r3
  587. 438 .loc 1 130 19
  588. 439 004e 344B ldr r3, .L29+16
  589. 440 0050 1A70 strb r2, [r3]
  590. 131:user_src/soft_flow.c ****
  591. 132:user_src/soft_flow.c **** //上电持续高电平检测
  592. 133:user_src/soft_flow.c **** if (Dev_ack == 1 && jet_active == false)
  593. 441 .loc 1 133 12
  594. 442 0052 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  595. 443 0054 012B cmp r3, #1
  596. 444 0056 13D1 bne .L22
  597. 445 .loc 1 133 40 discriminator 1
  598. 446 0058 324B ldr r3, .L29+20
  599. 447 005a 1B78 ldrb r3, [r3] @ zero_extendqisi2
  600. 448 005c 83F00103 eor r3, r3, #1
  601. 449 0060 DBB2 uxtb r3, r3
  602. 450 .loc 1 133 26 discriminator 1
  603. 451 0062 002B cmp r3, #0
  604. 452 0064 0CD0 beq .L22
  605. 134:user_src/soft_flow.c **** {
  606. 135:user_src/soft_flow.c **** //持续一段时间2s
  607. 136:user_src/soft_flow.c **** if (HAL_GetTick() - jet_time > 2000)
  608. 453 .loc 1 136 17
  609. 454 0066 FFF7FEFF bl HAL_GetTick
  610. 455 006a 0246 mov r2, r0
  611. 456 .loc 1 136 31
  612. 457 006c 2E4B ldr r3, .L29+24
  613. 458 006e 1B68 ldr r3, [r3]
  614. 459 0070 D31A subs r3, r2, r3
  615. 460 .loc 1 136 16
  616. 461 0072 B3F5FA6F cmp r3, #2000
  617. 462 0076 48D9 bls .L18
  618. 137:user_src/soft_flow.c **** {
  619. 138:user_src/soft_flow.c **** jet_active = true;
  620. 463 .loc 1 138 28
  621. 464 0078 2A4B ldr r3, .L29+20
  622. 465 007a 0122 movs r2, #1
  623. 466 007c 1A70 strb r2, [r3]
  624. 136:user_src/soft_flow.c **** {
  625. 467 .loc 1 136 16
  626. 468 007e 44E0 b .L18
  627. 469 .L22:
  628. 139:user_src/soft_flow.c **** }
  629. 140:user_src/soft_flow.c **** }
  630. 141:user_src/soft_flow.c **** //检测到低电平
  631. 142:user_src/soft_flow.c **** else if (Dev_ack == 0 && jet_active == true)
  632. 470 .loc 1 142 17
  633. 471 0080 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  634. 472 0082 002B cmp r3, #0
  635. 473 0084 11D1 bne .L25
  636. 474 .loc 1 142 45 discriminator 1
  637. 475 0086 274B ldr r3, .L29+20
  638. 476 0088 1B78 ldrb r3, [r3] @ zero_extendqisi2
  639. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 12
  640. 477 .loc 1 142 31 discriminator 1
  641. 478 008a 002B cmp r3, #0
  642. 479 008c 0DD0 beq .L25
  643. 143:user_src/soft_flow.c **** {
  644. 144:user_src/soft_flow.c **** //抛物机回应已抛出
  645. 145:user_src/soft_flow.c **** if(jet_ack_flag == true)
  646. 480 .loc 1 145 29
  647. 481 008e 274B ldr r3, .L29+28
  648. 482 0090 1B78 ldrb r3, [r3] @ zero_extendqisi2
  649. 483 .loc 1 145 15
  650. 484 0092 002B cmp r3, #0
  651. 485 0094 39D0 beq .L18
  652. 146:user_src/soft_flow.c **** {
  653. 147:user_src/soft_flow.c **** pmu_set_ack(JET_UAV_TYPE,1,0,0);
  654. 486 .loc 1 147 17
  655. 487 0096 0023 movs r3, #0
  656. 488 0098 0022 movs r2, #0
  657. 489 009a 0121 movs r1, #1
  658. 490 009c 0D20 movs r0, #13
  659. 491 009e FFF7FEFF bl pmu_set_ack
  660. 148:user_src/soft_flow.c ****
  661. 149:user_src/soft_flow.c **** jet_ack_flag = false;
  662. 492 .loc 1 149 30
  663. 493 00a2 224B ldr r3, .L29+28
  664. 494 00a4 0022 movs r2, #0
  665. 495 00a6 1A70 strb r2, [r3]
  666. 145:user_src/soft_flow.c **** {
  667. 496 .loc 1 145 15
  668. 497 00a8 2FE0 b .L18
  669. 498 .L25:
  670. 150:user_src/soft_flow.c **** }
  671. 151:user_src/soft_flow.c **** }
  672. 152:user_src/soft_flow.c **** else
  673. 153:user_src/soft_flow.c **** {
  674. 154:user_src/soft_flow.c **** jet_time = HAL_GetTick();
  675. 499 .loc 1 154 24
  676. 500 00aa FFF7FEFF bl HAL_GetTick
  677. 501 00ae 0346 mov r3, r0
  678. 502 .loc 1 154 22
  679. 503 00b0 1D4A ldr r2, .L29+24
  680. 504 00b2 1360 str r3, [r2]
  681. 155:user_src/soft_flow.c **** jet_ack_flag = true;
  682. 505 .loc 1 155 26
  683. 506 00b4 1D4B ldr r3, .L29+28
  684. 507 00b6 0122 movs r2, #1
  685. 508 00b8 1A70 strb r2, [r3]
  686. 509 00ba 26E0 b .L18
  687. 510 .L21:
  688. 511 .LBE2:
  689. 156:user_src/soft_flow.c **** }
  690. 157:user_src/soft_flow.c **** }
  691. 158:user_src/soft_flow.c **** else if(current_pmu_par.uavtype == VK_ALL_IN_ONE)
  692. 512 .loc 1 158 28
  693. 513 00bc 154B ldr r3, .L29+4
  694. 514 00be B3F90230 ldrsh r3, [r3, #2]
  695. 515 .loc 1 158 12
  696. 516 00c2 122B cmp r3, #18
  697. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 13
  698. 517 00c4 0DD1 bne .L27
  699. 159:user_src/soft_flow.c **** {
  700. 160:user_src/soft_flow.c **** //Tim4_init_pwmout(); //pwm输出初始化
  701. 161:user_src/soft_flow.c ****
  702. 162:user_src/soft_flow.c **** Dev.Arm_Link.connect_status = COMP_NORMAL;
  703. 518 .loc 1 162 37
  704. 519 00c6 1A4B ldr r3, .L29+32
  705. 520 00c8 0122 movs r2, #1
  706. 521 00ca 83F87820 strb r2, [r3, #120]
  707. 163:user_src/soft_flow.c **** Dev.Arm.facid = FAC_VK_ALLINONE;
  708. 522 .loc 1 163 23
  709. 523 00ce 184B ldr r3, .L29+32
  710. 524 00d0 0422 movs r2, #4
  711. 525 00d2 83F86C20 strb r2, [r3, #108]
  712. 164:user_src/soft_flow.c **** Dev.Arm_Link.recv_time = HAL_GetTick();
  713. 526 .loc 1 164 34
  714. 527 00d6 FFF7FEFF bl HAL_GetTick
  715. 528 00da 0346 mov r3, r0
  716. 529 .loc 1 164 32
  717. 530 00dc 144A ldr r2, .L29+32
  718. 531 00de 1367 str r3, [r2, #112]
  719. 532 00e0 13E0 b .L18
  720. 533 .L27:
  721. 165:user_src/soft_flow.c **** }
  722. 166:user_src/soft_flow.c **** else
  723. 167:user_src/soft_flow.c **** {
  724. 168:user_src/soft_flow.c **** L3_status = HAL_GPIO_ReadPin( GPIOB, EXIT_3T_Pin );
  725. 534 .loc 1 168 21
  726. 535 00e2 4FF48071 mov r1, #256
  727. 536 00e6 0C48 ldr r0, .L29+8
  728. 537 00e8 FFF7FEFF bl HAL_GPIO_ReadPin
  729. 538 00ec 0346 mov r3, r0
  730. 539 00ee 1A46 mov r2, r3
  731. 540 .loc 1 168 19
  732. 541 00f0 0A4B ldr r3, .L29+12
  733. 542 00f2 1A70 strb r2, [r3]
  734. 169:user_src/soft_flow.c **** L4_status = HAL_GPIO_ReadPin( GPIOB, EXIT_4T_Pin );
  735. 543 .loc 1 169 21
  736. 544 00f4 4FF40071 mov r1, #512
  737. 545 00f8 0748 ldr r0, .L29+8
  738. 546 00fa FFF7FEFF bl HAL_GPIO_ReadPin
  739. 547 00fe 0346 mov r3, r0
  740. 548 0100 1A46 mov r2, r3
  741. 549 .loc 1 169 19
  742. 550 0102 074B ldr r3, .L29+16
  743. 551 0104 1A70 strb r2, [r3]
  744. 552 0106 00E0 b .L18
  745. 553 .L28:
  746. 115:user_src/soft_flow.c **** }
  747. 554 .loc 1 115 9
  748. 555 0108 00BF nop
  749. 556 .L18:
  750. 170:user_src/soft_flow.c **** }
  751. 171:user_src/soft_flow.c ****
  752. 172:user_src/soft_flow.c **** }
  753. 557 .loc 1 172 1
  754. 558 010a 0837 adds r7, r7, #8
  755. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 14
  756. 559 .LCFI15:
  757. 560 .cfi_def_cfa_offset 8
  758. 561 010c BD46 mov sp, r7
  759. 562 .LCFI16:
  760. 563 .cfi_def_cfa_register 13
  761. 564 @ sp needed
  762. 565 010e 80BD pop {r7, pc}
  763. 566 .L30:
  764. 567 .align 2
  765. 568 .L29:
  766. 569 0110 00000000 .word l1l2_time.3
  767. 570 0114 00000000 .word current_pmu_par
  768. 571 0118 00040048 .word 1207960576
  769. 572 011c 00000000 .word L3_status
  770. 573 0120 00000000 .word L4_status
  771. 574 0124 00000000 .word jet_active.2
  772. 575 0128 00000000 .word jet_time.1
  773. 576 012c 00000000 .word jet_ack_flag.0
  774. 577 0130 00000000 .word Dev
  775. 578 .cfi_endproc
  776. 579 .LFE135:
  777. 581 .section .text.flow_function,"ax",%progbits
  778. 582 .align 1
  779. 583 .global flow_function
  780. 584 .syntax unified
  781. 585 .thumb
  782. 586 .thumb_func
  783. 588 flow_function:
  784. 589 .LFB136:
  785. 173:user_src/soft_flow.c ****
  786. 174:user_src/soft_flow.c ****
  787. 175:user_src/soft_flow.c ****
  788. 176:user_src/soft_flow.c **** /**
  789. 177:user_src/soft_flow.c **** * @file flow_function
  790. 178:user_src/soft_flow.c **** * @brief 流量计相关函数
  791. 179:user_src/soft_flow.c **** * @param none
  792. 180:user_src/soft_flow.c **** * @details
  793. 181:user_src/soft_flow.c **** * @author Zhang Sir
  794. 182:user_src/soft_flow.c **** **/
  795. 183:user_src/soft_flow.c **** void flow_function(void)
  796. 184:user_src/soft_flow.c **** {
  797. 590 .loc 1 184 1
  798. 591 .cfi_startproc
  799. 592 @ args = 0, pretend = 0, frame = 0
  800. 593 @ frame_needed = 1, uses_anonymous_args = 0
  801. 594 0000 80B5 push {r7, lr}
  802. 595 .LCFI17:
  803. 596 .cfi_def_cfa_offset 8
  804. 597 .cfi_offset 7, -8
  805. 598 .cfi_offset 14, -4
  806. 599 0002 2DED028B vpush.64 {d8}
  807. 600 .LCFI18:
  808. 601 .cfi_def_cfa_offset 16
  809. 602 .cfi_offset 80, -16
  810. 603 .cfi_offset 81, -12
  811. 604 0006 00AF add r7, sp, #0
  812. 605 .LCFI19:
  813. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 15
  814. 606 .cfi_def_cfa_register 7
  815. 185:user_src/soft_flow.c **** if ( Get_Systimer_Us() - flow_dev1.last_time >= 300000 )
  816. 607 .loc 1 185 10
  817. 608 0008 FFF7FEFF bl Get_Systimer_Us
  818. 609 000c 0246 mov r2, r0
  819. 610 .loc 1 185 39
  820. 611 000e 574B ldr r3, .L37
  821. 612 0010 D3F80530 ldr r3, [r3, #5] @ unaligned
  822. 613 .loc 1 185 28
  823. 614 0014 D31A subs r3, r2, r3
  824. 615 .loc 1 185 8
  825. 616 0016 564A ldr r2, .L37+4
  826. 617 0018 9342 cmp r3, r2
  827. 618 001a 46D9 bls .L32
  828. 186:user_src/soft_flow.c **** {
  829. 187:user_src/soft_flow.c **** if(Get_Systimer_Us() - flow_dev1.cal_delay_time > 200000)//在增加一个延时,中断
  830. 619 .loc 1 187 12
  831. 620 001c FFF7FEFF bl Get_Systimer_Us
  832. 621 0020 0246 mov r2, r0
  833. 622 .loc 1 187 41
  834. 623 0022 524B ldr r3, .L37
  835. 624 0024 9B69 ldr r3, [r3, #24]
  836. 625 .loc 1 187 30
  837. 626 0026 D31A subs r3, r2, r3
  838. 627 .loc 1 187 11
  839. 628 0028 524A ldr r2, .L37+8
  840. 629 002a 9342 cmp r3, r2
  841. 630 002c 42D9 bls .L33
  842. 188:user_src/soft_flow.c **** {
  843. 189:user_src/soft_flow.c **** flow_dev1.irq_flag = 1;
  844. 631 .loc 1 189 32
  845. 632 002e 4F4B ldr r3, .L37
  846. 633 0030 0122 movs r2, #1
  847. 634 0032 1A77 strb r2, [r3, #28]
  848. 190:user_src/soft_flow.c **** flow_dev1.speed = ( 1000.0f * ( flow_dev1.irq_count - flow_dev1.irq_last_count ) ) / Fl
  849. 635 .loc 1 190 54
  850. 636 0034 4D4B ldr r3, .L37
  851. 637 0036 D3F80920 ldr r2, [r3, #9] @ unaligned
  852. 638 .loc 1 190 76
  853. 639 003a 4C4B ldr r3, .L37
  854. 640 003c D3F80D30 ldr r3, [r3, #13] @ unaligned
  855. 641 .loc 1 190 65
  856. 642 0040 D31A subs r3, r2, r3
  857. 643 .loc 1 190 41
  858. 644 0042 07EE903A vmov s15, r3 @ int
  859. 645 0046 F8EE677A vcvt.f32.u32 s15, s15
  860. 646 004a 9FED4B7A vldr.32 s14, .L37+12
  861. 647 004e 67EE877A vmul.f32 s15, s15, s14
  862. 648 .loc 1 190 96
  863. 649 0052 B3EE067A vmov.f32 s14, #2.2e+1
  864. 650 0056 87EE878A vdiv.f32 s16, s15, s14
  865. 191:user_src/soft_flow.c **** ( 1000000.0f / ( Get_Systimer_Us() - flow_dev1.last_time ) ); //ml/min
  866. 651 .loc 1 191 46
  867. 652 005a FFF7FEFF bl Get_Systimer_Us
  868. 653 005e 0246 mov r2, r0
  869. 654 .loc 1 191 75
  870. 655 0060 424B ldr r3, .L37
  871. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 16
  872. 656 0062 D3F80530 ldr r3, [r3, #5] @ unaligned
  873. 657 .loc 1 191 64
  874. 658 0066 D31A subs r3, r2, r3
  875. 659 .loc 1 191 42
  876. 660 0068 07EE903A vmov s15, r3 @ int
  877. 661 006c B8EE677A vcvt.f32.u32 s14, s15
  878. 662 0070 DFED426A vldr.32 s13, .L37+16
  879. 663 0074 C6EE877A vdiv.f32 s15, s13, s14
  880. 190:user_src/soft_flow.c **** flow_dev1.speed = ( 1000.0f * ( flow_dev1.irq_count - flow_dev1.irq_last_count ) ) / Fl
  881. 664 .loc 1 190 106
  882. 665 0078 68EE277A vmul.f32 s15, s16, s15
  883. 190:user_src/soft_flow.c **** flow_dev1.speed = ( 1000.0f * ( flow_dev1.irq_count - flow_dev1.irq_last_count ) ) / Fl
  884. 666 .loc 1 190 29
  885. 667 007c FDEEE77A vcvt.s32.f32 s15, s15
  886. 668 0080 17EE902A vmov r2, s15 @ int
  887. 669 0084 394B ldr r3, .L37
  888. 670 0086 C3F81220 str r2, [r3, #18] @ unaligned
  889. 192:user_src/soft_flow.c **** flow_dev1.irq_last_count = flow_dev1.irq_count;
  890. 671 .loc 1 192 49
  891. 672 008a 384B ldr r3, .L37
  892. 673 008c D3F80930 ldr r3, [r3, #9] @ unaligned
  893. 674 .loc 1 192 38
  894. 675 0090 364A ldr r2, .L37
  895. 676 0092 C2F80D30 str r3, [r2, #13] @ unaligned
  896. 193:user_src/soft_flow.c **** flow_dev1.last_time = Get_Systimer_Us();
  897. 677 .loc 1 193 35
  898. 678 0096 FFF7FEFF bl Get_Systimer_Us
  899. 679 009a 0346 mov r3, r0
  900. 680 .loc 1 193 33
  901. 681 009c 334A ldr r2, .L37
  902. 682 009e C2F80530 str r3, [r2, #5] @ unaligned
  903. 194:user_src/soft_flow.c **** flow_dev1.irq_flag = 0;
  904. 683 .loc 1 194 32
  905. 684 00a2 324B ldr r3, .L37
  906. 685 00a4 0022 movs r2, #0
  907. 686 00a6 1A77 strb r2, [r3, #28]
  908. 687 00a8 04E0 b .L33
  909. 688 .L32:
  910. 195:user_src/soft_flow.c **** }
  911. 196:user_src/soft_flow.c **** }
  912. 197:user_src/soft_flow.c **** else
  913. 198:user_src/soft_flow.c **** {
  914. 199:user_src/soft_flow.c **** flow_dev1.cal_delay_time = Get_Systimer_Us();
  915. 689 .loc 1 199 36
  916. 690 00aa FFF7FEFF bl Get_Systimer_Us
  917. 691 00ae 0346 mov r3, r0
  918. 692 .loc 1 199 34
  919. 693 00b0 2E4A ldr r2, .L37
  920. 694 00b2 9361 str r3, [r2, #24]
  921. 695 .L33:
  922. 200:user_src/soft_flow.c **** }
  923. 201:user_src/soft_flow.c ****
  924. 202:user_src/soft_flow.c ****
  925. 203:user_src/soft_flow.c **** if ( Get_Systimer_Us() - flow_dev2.last_time >= 300000 )
  926. 696 .loc 1 203 10
  927. 697 00b4 FFF7FEFF bl Get_Systimer_Us
  928. 698 00b8 0246 mov r2, r0
  929. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 17
  930. 699 .loc 1 203 39
  931. 700 00ba 314B ldr r3, .L37+20
  932. 701 00bc D3F80530 ldr r3, [r3, #5] @ unaligned
  933. 702 .loc 1 203 28
  934. 703 00c0 D31A subs r3, r2, r3
  935. 704 .loc 1 203 8
  936. 705 00c2 2B4A ldr r2, .L37+4
  937. 706 00c4 9342 cmp r3, r2
  938. 707 00c6 46D9 bls .L34
  939. 204:user_src/soft_flow.c **** {
  940. 205:user_src/soft_flow.c **** if(Get_Systimer_Us() - flow_dev2.cal_delay_time > 200000)
  941. 708 .loc 1 205 12
  942. 709 00c8 FFF7FEFF bl Get_Systimer_Us
  943. 710 00cc 0246 mov r2, r0
  944. 711 .loc 1 205 41
  945. 712 00ce 2C4B ldr r3, .L37+20
  946. 713 00d0 9B69 ldr r3, [r3, #24]
  947. 714 .loc 1 205 30
  948. 715 00d2 D31A subs r3, r2, r3
  949. 716 .loc 1 205 11
  950. 717 00d4 274A ldr r2, .L37+8
  951. 718 00d6 9342 cmp r3, r2
  952. 719 00d8 42D9 bls .L36
  953. 206:user_src/soft_flow.c **** {
  954. 207:user_src/soft_flow.c **** flow_dev2.irq_flag = 1;
  955. 720 .loc 1 207 32
  956. 721 00da 294B ldr r3, .L37+20
  957. 722 00dc 0122 movs r2, #1
  958. 723 00de 1A77 strb r2, [r3, #28]
  959. 208:user_src/soft_flow.c **** flow_dev2.speed = ( 1000.0f * ( flow_dev2.irq_count - flow_dev2.irq_last_count ) ) / Fl
  960. 724 .loc 1 208 54
  961. 725 00e0 274B ldr r3, .L37+20
  962. 726 00e2 D3F80920 ldr r2, [r3, #9] @ unaligned
  963. 727 .loc 1 208 76
  964. 728 00e6 264B ldr r3, .L37+20
  965. 729 00e8 D3F80D30 ldr r3, [r3, #13] @ unaligned
  966. 730 .loc 1 208 65
  967. 731 00ec D31A subs r3, r2, r3
  968. 732 .loc 1 208 41
  969. 733 00ee 07EE903A vmov s15, r3 @ int
  970. 734 00f2 F8EE677A vcvt.f32.u32 s15, s15
  971. 735 00f6 9FED207A vldr.32 s14, .L37+12
  972. 736 00fa 67EE877A vmul.f32 s15, s15, s14
  973. 737 .loc 1 208 96
  974. 738 00fe B3EE067A vmov.f32 s14, #2.2e+1
  975. 739 0102 87EE878A vdiv.f32 s16, s15, s14
  976. 209:user_src/soft_flow.c **** ( 1000000.0f / ( Get_Systimer_Us() - flow_dev2.last_time ) ); //ml/min
  977. 740 .loc 1 209 42
  978. 741 0106 FFF7FEFF bl Get_Systimer_Us
  979. 742 010a 0246 mov r2, r0
  980. 743 .loc 1 209 71
  981. 744 010c 1C4B ldr r3, .L37+20
  982. 745 010e D3F80530 ldr r3, [r3, #5] @ unaligned
  983. 746 .loc 1 209 60
  984. 747 0112 D31A subs r3, r2, r3
  985. 748 .loc 1 209 38
  986. 749 0114 07EE903A vmov s15, r3 @ int
  987. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 18
  988. 750 0118 B8EE677A vcvt.f32.u32 s14, s15
  989. 751 011c DFED176A vldr.32 s13, .L37+16
  990. 752 0120 C6EE877A vdiv.f32 s15, s13, s14
  991. 208:user_src/soft_flow.c **** flow_dev2.speed = ( 1000.0f * ( flow_dev2.irq_count - flow_dev2.irq_last_count ) ) / Fl
  992. 753 .loc 1 208 106
  993. 754 0124 68EE277A vmul.f32 s15, s16, s15
  994. 208:user_src/soft_flow.c **** flow_dev2.speed = ( 1000.0f * ( flow_dev2.irq_count - flow_dev2.irq_last_count ) ) / Fl
  995. 755 .loc 1 208 29
  996. 756 0128 FDEEE77A vcvt.s32.f32 s15, s15
  997. 757 012c 17EE902A vmov r2, s15 @ int
  998. 758 0130 134B ldr r3, .L37+20
  999. 759 0132 C3F81220 str r2, [r3, #18] @ unaligned
  1000. 210:user_src/soft_flow.c **** flow_dev2.irq_last_count = flow_dev2.irq_count;
  1001. 760 .loc 1 210 49
  1002. 761 0136 124B ldr r3, .L37+20
  1003. 762 0138 D3F80930 ldr r3, [r3, #9] @ unaligned
  1004. 763 .loc 1 210 38
  1005. 764 013c 104A ldr r2, .L37+20
  1006. 765 013e C2F80D30 str r3, [r2, #13] @ unaligned
  1007. 211:user_src/soft_flow.c **** flow_dev2.last_time = Get_Systimer_Us();
  1008. 766 .loc 1 211 35
  1009. 767 0142 FFF7FEFF bl Get_Systimer_Us
  1010. 768 0146 0346 mov r3, r0
  1011. 769 .loc 1 211 33
  1012. 770 0148 0D4A ldr r2, .L37+20
  1013. 771 014a C2F80530 str r3, [r2, #5] @ unaligned
  1014. 212:user_src/soft_flow.c **** flow_dev2.irq_flag = 0;
  1015. 772 .loc 1 212 32
  1016. 773 014e 0C4B ldr r3, .L37+20
  1017. 774 0150 0022 movs r2, #0
  1018. 775 0152 1A77 strb r2, [r3, #28]
  1019. 213:user_src/soft_flow.c **** }
  1020. 214:user_src/soft_flow.c **** }
  1021. 215:user_src/soft_flow.c **** else
  1022. 216:user_src/soft_flow.c **** {
  1023. 217:user_src/soft_flow.c **** flow_dev2.cal_delay_time = Get_Systimer_Us();
  1024. 218:user_src/soft_flow.c **** }
  1025. 219:user_src/soft_flow.c ****
  1026. 220:user_src/soft_flow.c **** }
  1027. 776 .loc 1 220 1
  1028. 777 0154 04E0 b .L36
  1029. 778 .L34:
  1030. 217:user_src/soft_flow.c **** }
  1031. 779 .loc 1 217 36
  1032. 780 0156 FFF7FEFF bl Get_Systimer_Us
  1033. 781 015a 0346 mov r3, r0
  1034. 217:user_src/soft_flow.c **** }
  1035. 782 .loc 1 217 34
  1036. 783 015c 084A ldr r2, .L37+20
  1037. 784 015e 9361 str r3, [r2, #24]
  1038. 785 .L36:
  1039. 786 .loc 1 220 1
  1040. 787 0160 00BF nop
  1041. 788 0162 BD46 mov sp, r7
  1042. 789 .LCFI20:
  1043. 790 .cfi_def_cfa_register 13
  1044. 791 @ sp needed
  1045. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 19
  1046. 792 0164 BDEC028B vldm sp!, {d8}
  1047. 793 .LCFI21:
  1048. 794 .cfi_restore 80
  1049. 795 .cfi_restore 81
  1050. 796 .cfi_def_cfa_offset 8
  1051. 797 0168 80BD pop {r7, pc}
  1052. 798 .L38:
  1053. 799 016a 00BF .align 2
  1054. 800 .L37:
  1055. 801 016c 00000000 .word flow_dev1
  1056. 802 0170 DF930400 .word 299999
  1057. 803 0174 400D0300 .word 200000
  1058. 804 0178 00007A44 .word 1148846080
  1059. 805 017c 00247449 .word 1232348160
  1060. 806 0180 00000000 .word flow_dev2
  1061. 807 .cfi_endproc
  1062. 808 .LFE136:
  1063. 810 .global flow_mimo1
  1064. 811 .section .bss.flow_mimo1,"aw",%nobits
  1065. 812 .align 2
  1066. 815 flow_mimo1:
  1067. 816 0000 00000000 .space 33
  1068. 816 00000000
  1069. 816 00000000
  1070. 816 00000000
  1071. 816 00000000
  1072. 817 .global flow_mimo2
  1073. 818 .section .bss.flow_mimo2,"aw",%nobits
  1074. 819 .align 2
  1075. 822 flow_mimo2:
  1076. 823 0000 00000000 .space 33
  1077. 823 00000000
  1078. 823 00000000
  1079. 823 00000000
  1080. 823 00000000
  1081. 824 .section .text.can_recv_mimor_flow_function,"ax",%progbits
  1082. 825 .align 1
  1083. 826 .global can_recv_mimor_flow_function
  1084. 827 .syntax unified
  1085. 828 .thumb
  1086. 829 .thumb_func
  1087. 831 can_recv_mimor_flow_function:
  1088. 832 .LFB137:
  1089. 221:user_src/soft_flow.c ****
  1090. 222:user_src/soft_flow.c **** mimo_flow flow_mimo1;
  1091. 223:user_src/soft_flow.c **** mimo_flow flow_mimo2;
  1092. 224:user_src/soft_flow.c **** /**
  1093. 225:user_src/soft_flow.c **** * @file can_recv_mimor_flow_function
  1094. 226:user_src/soft_flow.c **** * @brief 恩曌流量计检测
  1095. 227:user_src/soft_flow.c **** * @param none
  1096. 228:user_src/soft_flow.c **** * @details
  1097. 229:user_src/soft_flow.c **** * @author Zhang Sir
  1098. 230:user_src/soft_flow.c **** **/
  1099. 231:user_src/soft_flow.c **** void can_recv_mimor_flow_function(uint32_t CanID, uint8_t data[], uint8_t len)
  1100. 232:user_src/soft_flow.c **** {
  1101. 833 .loc 1 232 1
  1102. 834 .cfi_startproc
  1103. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 20
  1104. 835 @ args = 0, pretend = 0, frame = 16
  1105. 836 @ frame_needed = 1, uses_anonymous_args = 0
  1106. 837 0000 80B5 push {r7, lr}
  1107. 838 .LCFI22:
  1108. 839 .cfi_def_cfa_offset 8
  1109. 840 .cfi_offset 7, -8
  1110. 841 .cfi_offset 14, -4
  1111. 842 0002 84B0 sub sp, sp, #16
  1112. 843 .LCFI23:
  1113. 844 .cfi_def_cfa_offset 24
  1114. 845 0004 00AF add r7, sp, #0
  1115. 846 .LCFI24:
  1116. 847 .cfi_def_cfa_register 7
  1117. 848 0006 F860 str r0, [r7, #12]
  1118. 849 0008 B960 str r1, [r7, #8]
  1119. 850 000a 1346 mov r3, r2
  1120. 851 000c FB71 strb r3, [r7, #7]
  1121. 233:user_src/soft_flow.c ****
  1122. 234:user_src/soft_flow.c **** Dev.Flow.facid = FAC_MIMO_SIG;
  1123. 852 .loc 1 234 20
  1124. 853 000e 554B ldr r3, .L58
  1125. 854 0010 0522 movs r2, #5
  1126. 855 0012 83F87C20 strb r2, [r3, #124]
  1127. 235:user_src/soft_flow.c **** Dev.Flow_Link1.connect_status = COMP_NORMAL;
  1128. 856 .loc 1 235 35
  1129. 857 0016 534B ldr r3, .L58
  1130. 858 0018 0122 movs r2, #1
  1131. 859 001a 83F89C20 strb r2, [r3, #156]
  1132. 236:user_src/soft_flow.c **** Dev.Flow_Link1.recv_time = HAL_GetTick();
  1133. 860 .loc 1 236 32
  1134. 861 001e FFF7FEFF bl HAL_GetTick
  1135. 862 0022 0346 mov r3, r0
  1136. 863 .loc 1 236 30
  1137. 864 0024 4F4A ldr r2, .L58
  1138. 865 0026 C2F89430 str r3, [r2, #148]
  1139. 237:user_src/soft_flow.c ****
  1140. 238:user_src/soft_flow.c **** if(Dev.Flow_Link2.connect_status == COMP_NORMAL)
  1141. 866 .loc 1 238 22
  1142. 867 002a 4E4B ldr r3, .L58
  1143. 868 002c 93F8A830 ldrb r3, [r3, #168] @ zero_extendqisi2
  1144. 869 .loc 1 238 7
  1145. 870 0030 012B cmp r3, #1
  1146. 871 0032 03D1 bne .L40
  1147. 239:user_src/soft_flow.c **** {
  1148. 240:user_src/soft_flow.c **** Dev.Flow.facid = FAC_MIMO_DOU;
  1149. 872 .loc 1 240 24
  1150. 873 0034 4B4B ldr r3, .L58
  1151. 874 0036 0622 movs r2, #6
  1152. 875 0038 83F87C20 strb r2, [r3, #124]
  1153. 876 .L40:
  1154. 241:user_src/soft_flow.c **** }
  1155. 242:user_src/soft_flow.c **** if(CanID == CAN_MIMO_FLOW)
  1156. 877 .loc 1 242 7
  1157. 878 003c FB68 ldr r3, [r7, #12]
  1158. 879 003e B3F5047F cmp r3, #528
  1159. 880 0042 48D1 bne .L41
  1160. 243:user_src/soft_flow.c **** {
  1161. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 21
  1162. 244:user_src/soft_flow.c **** switch (data[0])
  1163. 881 .loc 1 244 21
  1164. 882 0044 BB68 ldr r3, [r7, #8]
  1165. 883 0046 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1166. 884 .loc 1 244 9
  1167. 885 0048 002B cmp r3, #0
  1168. 886 004a 02D0 beq .L42
  1169. 887 004c 012B cmp r3, #1
  1170. 888 004e 1CD0 beq .L43
  1171. 245:user_src/soft_flow.c **** {
  1172. 246:user_src/soft_flow.c **** case 0:
  1173. 247:user_src/soft_flow.c ****
  1174. 248:user_src/soft_flow.c **** memcpy(&flow_mimo1.ch,&data[0],8);
  1175. 249:user_src/soft_flow.c ****
  1176. 250:user_src/soft_flow.c **** if(flow_mimo1.last_total_ml > flow_mimo1.total_ml)
  1177. 251:user_src/soft_flow.c **** {
  1178. 252:user_src/soft_flow.c **** flow_mimo1.overturn_count++;
  1179. 253:user_src/soft_flow.c **** }
  1180. 254:user_src/soft_flow.c ****
  1181. 255:user_src/soft_flow.c **** flow_mimo1.last_total_ml = flow_mimo1.total_ml;
  1182. 256:user_src/soft_flow.c ****
  1183. 257:user_src/soft_flow.c **** break;
  1184. 258:user_src/soft_flow.c **** case 1:
  1185. 259:user_src/soft_flow.c **** Dev.Flow_Link2.connect_status = COMP_NORMAL;
  1186. 260:user_src/soft_flow.c **** Dev.Flow_Link2.recv_time = HAL_GetTick();
  1187. 261:user_src/soft_flow.c ****
  1188. 262:user_src/soft_flow.c **** memcpy(&flow_mimo2.ch,&data[0],8);
  1189. 263:user_src/soft_flow.c ****
  1190. 264:user_src/soft_flow.c **** if(flow_mimo2.last_total_ml > flow_mimo2.total_ml)
  1191. 265:user_src/soft_flow.c **** {
  1192. 266:user_src/soft_flow.c **** flow_mimo2.overturn_count++;
  1193. 267:user_src/soft_flow.c **** }
  1194. 268:user_src/soft_flow.c ****
  1195. 269:user_src/soft_flow.c **** flow_mimo2.last_total_ml = flow_mimo2.total_ml;
  1196. 270:user_src/soft_flow.c **** break;
  1197. 271:user_src/soft_flow.c **** default:
  1198. 272:user_src/soft_flow.c **** break;
  1199. 889 .loc 1 272 13
  1200. 890 0050 83E0 b .L48
  1201. 891 .L42:
  1202. 248:user_src/soft_flow.c ****
  1203. 892 .loc 1 248 13
  1204. 893 0052 0822 movs r2, #8
  1205. 894 0054 B968 ldr r1, [r7, #8]
  1206. 895 0056 4448 ldr r0, .L58+4
  1207. 896 0058 FFF7FEFF bl memcpy
  1208. 250:user_src/soft_flow.c **** {
  1209. 897 .loc 1 250 26
  1210. 898 005c 424B ldr r3, .L58+4
  1211. 899 005e DA8B ldrh r2, [r3, #30]
  1212. 250:user_src/soft_flow.c **** {
  1213. 900 .loc 1 250 53
  1214. 901 0060 414B ldr r3, .L58+4
  1215. 902 0062 B3F80330 ldrh r3, [r3, #3] @ unaligned
  1216. 903 0066 9BB2 uxth r3, r3
  1217. 250:user_src/soft_flow.c **** {
  1218. 904 .loc 1 250 15
  1219. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 22
  1220. 905 0068 9A42 cmp r2, r3
  1221. 906 006a 07D9 bls .L45
  1222. 252:user_src/soft_flow.c **** }
  1223. 907 .loc 1 252 27
  1224. 908 006c 3E4B ldr r3, .L58+4
  1225. 909 006e 93F82030 ldrb r3, [r3, #32] @ zero_extendqisi2
  1226. 252:user_src/soft_flow.c **** }
  1227. 910 .loc 1 252 42
  1228. 911 0072 0133 adds r3, r3, #1
  1229. 912 0074 DAB2 uxtb r2, r3
  1230. 913 0076 3C4B ldr r3, .L58+4
  1231. 914 0078 83F82020 strb r2, [r3, #32]
  1232. 915 .L45:
  1233. 255:user_src/soft_flow.c ****
  1234. 916 .loc 1 255 50
  1235. 917 007c 3A4B ldr r3, .L58+4
  1236. 918 007e B3F80330 ldrh r3, [r3, #3] @ unaligned
  1237. 919 0082 9AB2 uxth r2, r3
  1238. 255:user_src/soft_flow.c ****
  1239. 920 .loc 1 255 38
  1240. 921 0084 384B ldr r3, .L58+4
  1241. 922 0086 DA83 strh r2, [r3, #30] @ movhi
  1242. 257:user_src/soft_flow.c **** case 1:
  1243. 923 .loc 1 257 13
  1244. 924 0088 67E0 b .L48
  1245. 925 .L43:
  1246. 259:user_src/soft_flow.c **** Dev.Flow_Link2.recv_time = HAL_GetTick();
  1247. 926 .loc 1 259 43
  1248. 927 008a 364B ldr r3, .L58
  1249. 928 008c 0122 movs r2, #1
  1250. 929 008e 83F8A820 strb r2, [r3, #168]
  1251. 260:user_src/soft_flow.c ****
  1252. 930 .loc 1 260 40
  1253. 931 0092 FFF7FEFF bl HAL_GetTick
  1254. 932 0096 0346 mov r3, r0
  1255. 260:user_src/soft_flow.c ****
  1256. 933 .loc 1 260 38
  1257. 934 0098 324A ldr r2, .L58
  1258. 935 009a C2F8A030 str r3, [r2, #160]
  1259. 262:user_src/soft_flow.c ****
  1260. 936 .loc 1 262 13
  1261. 937 009e 0822 movs r2, #8
  1262. 938 00a0 B968 ldr r1, [r7, #8]
  1263. 939 00a2 3248 ldr r0, .L58+8
  1264. 940 00a4 FFF7FEFF bl memcpy
  1265. 264:user_src/soft_flow.c **** {
  1266. 941 .loc 1 264 26
  1267. 942 00a8 304B ldr r3, .L58+8
  1268. 943 00aa DA8B ldrh r2, [r3, #30]
  1269. 264:user_src/soft_flow.c **** {
  1270. 944 .loc 1 264 53
  1271. 945 00ac 2F4B ldr r3, .L58+8
  1272. 946 00ae B3F80330 ldrh r3, [r3, #3] @ unaligned
  1273. 947 00b2 9BB2 uxth r3, r3
  1274. 264:user_src/soft_flow.c **** {
  1275. 948 .loc 1 264 15
  1276. 949 00b4 9A42 cmp r2, r3
  1277. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 23
  1278. 950 00b6 07D9 bls .L47
  1279. 266:user_src/soft_flow.c **** }
  1280. 951 .loc 1 266 27
  1281. 952 00b8 2C4B ldr r3, .L58+8
  1282. 953 00ba 93F82030 ldrb r3, [r3, #32] @ zero_extendqisi2
  1283. 266:user_src/soft_flow.c **** }
  1284. 954 .loc 1 266 42
  1285. 955 00be 0133 adds r3, r3, #1
  1286. 956 00c0 DAB2 uxtb r2, r3
  1287. 957 00c2 2A4B ldr r3, .L58+8
  1288. 958 00c4 83F82020 strb r2, [r3, #32]
  1289. 959 .L47:
  1290. 269:user_src/soft_flow.c **** break;
  1291. 960 .loc 1 269 50
  1292. 961 00c8 284B ldr r3, .L58+8
  1293. 962 00ca B3F80330 ldrh r3, [r3, #3] @ unaligned
  1294. 963 00ce 9AB2 uxth r2, r3
  1295. 269:user_src/soft_flow.c **** break;
  1296. 964 .loc 1 269 38
  1297. 965 00d0 264B ldr r3, .L58+8
  1298. 966 00d2 DA83 strh r2, [r3, #30] @ movhi
  1299. 270:user_src/soft_flow.c **** default:
  1300. 967 .loc 1 270 13
  1301. 968 00d4 41E0 b .L48
  1302. 969 .L41:
  1303. 273:user_src/soft_flow.c **** }
  1304. 274:user_src/soft_flow.c **** }
  1305. 275:user_src/soft_flow.c **** else if(CanID == CAN_MIMO_FLOW_K)
  1306. 970 .loc 1 275 12
  1307. 971 00d6 FB68 ldr r3, [r7, #12]
  1308. 972 00d8 FB2B cmp r3, #251
  1309. 973 00da 39D1 bne .L54
  1310. 276:user_src/soft_flow.c **** {
  1311. 277:user_src/soft_flow.c **** if(data[1] == 0xFB && data[2] == 0x01)
  1312. 974 .loc 1 277 16
  1313. 975 00dc BB68 ldr r3, [r7, #8]
  1314. 976 00de 0133 adds r3, r3, #1
  1315. 977 00e0 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1316. 978 .loc 1 277 11
  1317. 979 00e2 FB2B cmp r3, #251
  1318. 980 00e4 34D1 bne .L54
  1319. 981 .loc 1 277 35 discriminator 1
  1320. 982 00e6 BB68 ldr r3, [r7, #8]
  1321. 983 00e8 0233 adds r3, r3, #2
  1322. 984 00ea 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1323. 985 .loc 1 277 28 discriminator 1
  1324. 986 00ec 012B cmp r3, #1
  1325. 987 00ee 2FD1 bne .L54
  1326. 278:user_src/soft_flow.c **** switch (data[2])
  1327. 988 .loc 1 278 21
  1328. 989 00f0 BB68 ldr r3, [r7, #8]
  1329. 990 00f2 0233 adds r3, r3, #2
  1330. 991 00f4 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1331. 992 .loc 1 278 9
  1332. 993 00f6 002B cmp r3, #0
  1333. 994 00f8 02D0 beq .L49
  1334. 995 00fa 012B cmp r3, #1
  1335. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 24
  1336. 996 00fc 14D0 beq .L50
  1337. 279:user_src/soft_flow.c **** {
  1338. 280:user_src/soft_flow.c **** case 0:
  1339. 281:user_src/soft_flow.c **** if(data[4] == 0XD1)
  1340. 282:user_src/soft_flow.c **** {
  1341. 283:user_src/soft_flow.c **** flow_mimo1.flow_k = data[5] * 256 + data[6];
  1342. 284:user_src/soft_flow.c **** }
  1343. 285:user_src/soft_flow.c **** break;
  1344. 286:user_src/soft_flow.c **** case 1:
  1345. 287:user_src/soft_flow.c **** if(data[4] == 0XD1)
  1346. 288:user_src/soft_flow.c **** {
  1347. 289:user_src/soft_flow.c **** flow_mimo2.flow_k = data[5] * 256 + data[6];
  1348. 290:user_src/soft_flow.c **** }
  1349. 291:user_src/soft_flow.c **** break;
  1350. 292:user_src/soft_flow.c **** default:
  1351. 293:user_src/soft_flow.c **** break;
  1352. 997 .loc 1 293 13
  1353. 998 00fe 2CE0 b .L48
  1354. 999 .L49:
  1355. 281:user_src/soft_flow.c **** {
  1356. 1000 .loc 1 281 20
  1357. 1001 0100 BB68 ldr r3, [r7, #8]
  1358. 1002 0102 0433 adds r3, r3, #4
  1359. 1003 0104 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1360. 281:user_src/soft_flow.c **** {
  1361. 1004 .loc 1 281 15
  1362. 1005 0106 D12B cmp r3, #209
  1363. 1006 0108 24D1 bne .L55
  1364. 283:user_src/soft_flow.c **** }
  1365. 1007 .loc 1 283 40
  1366. 1008 010a BB68 ldr r3, [r7, #8]
  1367. 1009 010c 0533 adds r3, r3, #5
  1368. 1010 010e 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1369. 283:user_src/soft_flow.c **** }
  1370. 1011 .loc 1 283 50
  1371. 1012 0110 9BB2 uxth r3, r3
  1372. 1013 0112 1B02 lsls r3, r3, #8
  1373. 1014 0114 9AB2 uxth r2, r3
  1374. 283:user_src/soft_flow.c **** }
  1375. 1015 .loc 1 283 56
  1376. 1016 0116 BB68 ldr r3, [r7, #8]
  1377. 1017 0118 0633 adds r3, r3, #6
  1378. 1018 011a 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1379. 1019 011c 9BB2 uxth r3, r3
  1380. 283:user_src/soft_flow.c **** }
  1381. 1020 .loc 1 283 50
  1382. 1021 011e 1344 add r3, r3, r2
  1383. 1022 0120 9AB2 uxth r2, r3
  1384. 283:user_src/soft_flow.c **** }
  1385. 1023 .loc 1 283 34
  1386. 1024 0122 114B ldr r3, .L58+4
  1387. 1025 0124 5A81 strh r2, [r3, #10] @ movhi
  1388. 285:user_src/soft_flow.c **** case 1:
  1389. 1026 .loc 1 285 13
  1390. 1027 0126 15E0 b .L55
  1391. 1028 .L50:
  1392. 287:user_src/soft_flow.c **** {
  1393. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 25
  1394. 1029 .loc 1 287 20
  1395. 1030 0128 BB68 ldr r3, [r7, #8]
  1396. 1031 012a 0433 adds r3, r3, #4
  1397. 1032 012c 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1398. 287:user_src/soft_flow.c **** {
  1399. 1033 .loc 1 287 15
  1400. 1034 012e D12B cmp r3, #209
  1401. 1035 0130 12D1 bne .L56
  1402. 289:user_src/soft_flow.c **** }
  1403. 1036 .loc 1 289 41
  1404. 1037 0132 BB68 ldr r3, [r7, #8]
  1405. 1038 0134 0533 adds r3, r3, #5
  1406. 1039 0136 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1407. 289:user_src/soft_flow.c **** }
  1408. 1040 .loc 1 289 51
  1409. 1041 0138 9BB2 uxth r3, r3
  1410. 1042 013a 1B02 lsls r3, r3, #8
  1411. 1043 013c 9AB2 uxth r2, r3
  1412. 289:user_src/soft_flow.c **** }
  1413. 1044 .loc 1 289 57
  1414. 1045 013e BB68 ldr r3, [r7, #8]
  1415. 1046 0140 0633 adds r3, r3, #6
  1416. 1047 0142 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1417. 1048 0144 9BB2 uxth r3, r3
  1418. 289:user_src/soft_flow.c **** }
  1419. 1049 .loc 1 289 51
  1420. 1050 0146 1344 add r3, r3, r2
  1421. 1051 0148 9AB2 uxth r2, r3
  1422. 289:user_src/soft_flow.c **** }
  1423. 1052 .loc 1 289 35
  1424. 1053 014a 084B ldr r3, .L58+8
  1425. 1054 014c 5A81 strh r2, [r3, #10] @ movhi
  1426. 291:user_src/soft_flow.c **** default:
  1427. 1055 .loc 1 291 13
  1428. 1056 014e 03E0 b .L56
  1429. 1057 .L54:
  1430. 294:user_src/soft_flow.c **** }
  1431. 295:user_src/soft_flow.c **** }
  1432. 1058 .loc 1 295 5
  1433. 1059 0150 00BF nop
  1434. 1060 0152 02E0 b .L57
  1435. 1061 .L55:
  1436. 285:user_src/soft_flow.c **** case 1:
  1437. 1062 .loc 1 285 13
  1438. 1063 0154 00BF nop
  1439. 1064 0156 00E0 b .L57
  1440. 1065 .L56:
  1441. 291:user_src/soft_flow.c **** default:
  1442. 1066 .loc 1 291 13
  1443. 1067 0158 00BF nop
  1444. 1068 .L48:
  1445. 1069 .L57:
  1446. 296:user_src/soft_flow.c **** }
  1447. 1070 .loc 1 296 1
  1448. 1071 015a 00BF nop
  1449. 1072 015c 1037 adds r7, r7, #16
  1450. 1073 .LCFI25:
  1451. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 26
  1452. 1074 .cfi_def_cfa_offset 8
  1453. 1075 015e BD46 mov sp, r7
  1454. 1076 .LCFI26:
  1455. 1077 .cfi_def_cfa_register 13
  1456. 1078 @ sp needed
  1457. 1079 0160 80BD pop {r7, pc}
  1458. 1080 .L59:
  1459. 1081 0162 00BF .align 2
  1460. 1082 .L58:
  1461. 1083 0164 00000000 .word Dev
  1462. 1084 0168 00000000 .word flow_mimo1
  1463. 1085 016c 00000000 .word flow_mimo2
  1464. 1086 .cfi_endproc
  1465. 1087 .LFE137:
  1466. 1089 .global flow_vkdev1
  1467. 1090 .section .bss.flow_vkdev1,"aw",%nobits
  1468. 1091 .align 2
  1469. 1094 flow_vkdev1:
  1470. 1095 0000 00000000 .space 12
  1471. 1095 00000000
  1472. 1095 00000000
  1473. 1096 .global flow_vkdev2
  1474. 1097 .section .bss.flow_vkdev2,"aw",%nobits
  1475. 1098 .align 2
  1476. 1101 flow_vkdev2:
  1477. 1102 0000 00000000 .space 12
  1478. 1102 00000000
  1479. 1102 00000000
  1480. 1103 .section .bss.l1l2_time.3,"aw",%nobits
  1481. 1104 .align 2
  1482. 1107 l1l2_time.3:
  1483. 1108 0000 00000000 .space 4
  1484. 1109 .section .bss.jet_active.2,"aw",%nobits
  1485. 1112 jet_active.2:
  1486. 1113 0000 00 .space 1
  1487. 1114 .section .bss.jet_time.1,"aw",%nobits
  1488. 1115 .align 2
  1489. 1118 jet_time.1:
  1490. 1119 0000 00000000 .space 4
  1491. 1120 .section .bss.jet_ack_flag.0,"aw",%nobits
  1492. 1123 jet_ack_flag.0:
  1493. 1124 0000 00 .space 1
  1494. 1125 .text
  1495. 1126 .Letext0:
  1496. 1127 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  1497. 1128 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  1498. 1129 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
  1499. 1130 .file 5 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_gpio.h"
  1500. 1131 .file 6 "user_inc/common.h"
  1501. 1132 .file 7 "user_inc/soft_flow.h"
  1502. 1133 .file 8 "user_inc/soft_flash.h"
  1503. 1134 .file 9 "user_inc/soft_eft.h"
  1504. 1135 .file 10 "user_inc/soft_seed_device.h"
  1505. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 27
  1506. DEFINED SYMBOLS
  1507. *ABS*:00000000 soft_flow.c
  1508. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:24 .bss.flow_dev1:00000000 flow_dev1
  1509. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:21 .bss.flow_dev1:00000000 $d
  1510. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:31 .bss.flow_dev2:00000000 flow_dev2
  1511. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:28 .bss.flow_dev2:00000000 $d
  1512. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:34 .text.HAL_GPIO_EXTI_Callback:00000000 $t
  1513. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:40 .text.HAL_GPIO_EXTI_Callback:00000000 HAL_GPIO_EXTI_Callback
  1514. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:147 .text.flow_count_add:00000000 flow_count_add
  1515. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:136 .text.HAL_GPIO_EXTI_Callback:0000007c $d
  1516. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:141 .text.flow_count_add:00000000 $t
  1517. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:355 .text.flow_count_add:00000140 $d
  1518. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:366 .data.L3_status:00000000 L3_status
  1519. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:372 .data.L4_status:00000000 L4_status
  1520. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:375 .text.L1L2_GPIO_check:00000000 $t
  1521. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:381 .text.L1L2_GPIO_check:00000000 L1L2_GPIO_check
  1522. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:569 .text.L1L2_GPIO_check:00000110 $d
  1523. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1107 .bss.l1l2_time.3:00000000 l1l2_time.3
  1524. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1112 .bss.jet_active.2:00000000 jet_active.2
  1525. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1118 .bss.jet_time.1:00000000 jet_time.1
  1526. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1123 .bss.jet_ack_flag.0:00000000 jet_ack_flag.0
  1527. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:582 .text.flow_function:00000000 $t
  1528. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:588 .text.flow_function:00000000 flow_function
  1529. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:801 .text.flow_function:0000016c $d
  1530. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:815 .bss.flow_mimo1:00000000 flow_mimo1
  1531. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:812 .bss.flow_mimo1:00000000 $d
  1532. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:822 .bss.flow_mimo2:00000000 flow_mimo2
  1533. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:819 .bss.flow_mimo2:00000000 $d
  1534. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:825 .text.can_recv_mimor_flow_function:00000000 $t
  1535. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:831 .text.can_recv_mimor_flow_function:00000000 can_recv_mimor_flow_function
  1536. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1083 .text.can_recv_mimor_flow_function:00000164 $d
  1537. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1094 .bss.flow_vkdev1:00000000 flow_vkdev1
  1538. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1091 .bss.flow_vkdev1:00000000 $d
  1539. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1101 .bss.flow_vkdev2:00000000 flow_vkdev2
  1540. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1098 .bss.flow_vkdev2:00000000 $d
  1541. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1104 .bss.l1l2_time.3:00000000 $d
  1542. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1113 .bss.jet_active.2:00000000 $d
  1543. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1115 .bss.jet_time.1:00000000 $d
  1544. C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1124 .bss.jet_ack_flag.0:00000000 $d
  1545. UNDEFINED SYMBOLS
  1546. HAL_GPIO_ReadPin
  1547. Get_Systimer_Us
  1548. HAL_GetTick
  1549. pmu_set_ack
  1550. current_pmu_par
  1551. Dev
  1552. memcpy