soft_herewin.lst 61 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.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_herewin.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .global herewin_info
  21. 20 .section .bss.herewin_info,"aw",%nobits
  22. 21 .align 2
  23. 24 herewin_info:
  24. 25 0000 00000000 .space 62
  25. 25 00000000
  26. 25 00000000
  27. 25 00000000
  28. 25 00000000
  29. 26 .global Herewin_Link
  30. 27 .section .bss.Herewin_Link,"aw",%nobits
  31. 28 .align 2
  32. 31 Herewin_Link:
  33. 32 0000 00000000 .space 12
  34. 32 00000000
  35. 32 00000000
  36. 33 .global can_info
  37. 34 .section .bss.can_info,"aw",%nobits
  38. 35 .align 2
  39. 38 can_info:
  40. 39 0000 00000000 .space 76
  41. 39 00000000
  42. 39 00000000
  43. 39 00000000
  44. 39 00000000
  45. 40 .section .text.HerewinCanRecvHookFunction,"ax",%progbits
  46. 41 .align 1
  47. 42 .global HerewinCanRecvHookFunction
  48. 43 .syntax unified
  49. 44 .thumb
  50. 45 .thumb_func
  51. 47 HerewinCanRecvHookFunction:
  52. 48 .LFB130:
  53. 49 .file 1 "user_src/soft_herewin.c"
  54. 1:user_src/soft_herewin.c **** #include "soft_herewin.h"
  55. 2:user_src/soft_herewin.c **** #include "string.h"
  56. 3:user_src/soft_herewin.c **** #include "crc.h"
  57. 4:user_src/soft_herewin.c **** #include "soft_can.h"
  58. 5:user_src/soft_herewin.c **** #include "common.h"
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 2
  60. 6:user_src/soft_herewin.c ****
  61. 7:user_src/soft_herewin.c **** herewin_bms herewin_info;
  62. 8:user_src/soft_herewin.c ****
  63. 9:user_src/soft_herewin.c **** Connect_check Herewin_Link;
  64. 10:user_src/soft_herewin.c ****
  65. 11:user_src/soft_herewin.c **** #pragma pack(1)
  66. 12:user_src/soft_herewin.c **** typedef struct
  67. 13:user_src/soft_herewin.c **** {
  68. 14:user_src/soft_herewin.c **** uint8_t herewin_buf[64]; //临时buf
  69. 15:user_src/soft_herewin.c **** uint8_t message_num; //报文��
  70. 16:user_src/soft_herewin.c **** uint8_t message_total;//总帧数
  71. 17:user_src/soft_herewin.c **** uint16_t byte_num; //有效字节数
  72. 18:user_src/soft_herewin.c **** int last_frame_num; //最�一包有效字节数
  73. 19:user_src/soft_herewin.c **** uint16_t crc; //和校验
  74. 20:user_src/soft_herewin.c **** uint8_t i;
  75. 21:user_src/soft_herewin.c **** bool crc_is_ok; //校验通过
  76. 22:user_src/soft_herewin.c **** }herewin_can_info;
  77. 23:user_src/soft_herewin.c **** #pragma pack()
  78. 24:user_src/soft_herewin.c ****
  79. 25:user_src/soft_herewin.c **** herewin_can_info can_info;
  80. 26:user_src/soft_herewin.c ****
  81. 27:user_src/soft_herewin.c **** void HerewinCanRecvHookFunction(uint32_t cellCanID, uint8_t data[], uint8_t len)//海盈
  82. 28:user_src/soft_herewin.c **** {
  83. 50 .loc 1 28 1
  84. 51 .cfi_startproc
  85. 52 @ args = 0, pretend = 0, frame = 24
  86. 53 @ frame_needed = 1, uses_anonymous_args = 0
  87. 54 0000 80B5 push {r7, lr}
  88. 55 .LCFI0:
  89. 56 .cfi_def_cfa_offset 8
  90. 57 .cfi_offset 7, -8
  91. 58 .cfi_offset 14, -4
  92. 59 0002 86B0 sub sp, sp, #24
  93. 60 .LCFI1:
  94. 61 .cfi_def_cfa_offset 32
  95. 62 0004 00AF add r7, sp, #0
  96. 63 .LCFI2:
  97. 64 .cfi_def_cfa_register 7
  98. 65 0006 F860 str r0, [r7, #12]
  99. 66 0008 B960 str r1, [r7, #8]
  100. 67 000a 1346 mov r3, r2
  101. 68 000c FB71 strb r3, [r7, #7]
  102. 29:user_src/soft_herewin.c ****
  103. 30:user_src/soft_herewin.c **** Herewin_Link.recv_time = HAL_GetTick();
  104. 69 .loc 1 30 30
  105. 70 000e FFF7FEFF bl HAL_GetTick
  106. 71 0012 0346 mov r3, r0
  107. 72 .loc 1 30 28
  108. 73 0014 A84A ldr r2, .L30
  109. 74 0016 1360 str r3, [r2]
  110. 31:user_src/soft_herewin.c **** Herewin_Link.connect_status = COMP_NORMAL;
  111. 75 .loc 1 31 33
  112. 76 0018 A74B ldr r3, .L30
  113. 77 001a 0122 movs r2, #1
  114. 78 001c 1A72 strb r2, [r3, #8]
  115. 32:user_src/soft_herewin.c ****
  116. 33:user_src/soft_herewin.c **** uint8_t i = 0;
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 3
  118. 79 .loc 1 33 13
  119. 80 001e 0023 movs r3, #0
  120. 81 0020 FB75 strb r3, [r7, #23]
  121. 34:user_src/soft_herewin.c **** uint8_t canid_pf = (cellCanID >> 16) & 0xff;
  122. 82 .loc 1 34 35
  123. 83 0022 FB68 ldr r3, [r7, #12]
  124. 84 0024 1B0C lsrs r3, r3, #16
  125. 85 .loc 1 34 13
  126. 86 0026 BB75 strb r3, [r7, #22]
  127. 35:user_src/soft_herewin.c ****
  128. 36:user_src/soft_herewin.c **** switch (canid_pf)
  129. 87 .loc 1 36 5
  130. 88 0028 BB7D ldrb r3, [r7, #22] @ zero_extendqisi2
  131. 89 002a 872B cmp r3, #135
  132. 90 002c 00F30082 bgt .L27
  133. 91 0030 812B cmp r3, #129
  134. 92 0032 0CDA bge .L3
  135. 93 0034 262B cmp r3, #38
  136. 94 0036 00F0DA81 beq .L4
  137. 95 003a 262B cmp r3, #38
  138. 96 003c 00F3F881 bgt .L27
  139. 97 0040 222B cmp r3, #34
  140. 98 0042 00F0AA81 beq .L5
  141. 99 0046 242B cmp r3, #36
  142. 100 0048 00F0C381 beq .L6
  143. 37:user_src/soft_herewin.c **** {
  144. 38:user_src/soft_herewin.c **** //定值查询包
  145. 39:user_src/soft_herewin.c **** case 0x81:
  146. 40:user_src/soft_herewin.c **** if((data[0] == 8 )&& (0x80 == data[2]))
  147. 41:user_src/soft_herewin.c **** {
  148. 42:user_src/soft_herewin.c **** herewin_info.battery_num = data[4];
  149. 43:user_src/soft_herewin.c **** }
  150. 44:user_src/soft_herewin.c **** break;
  151. 45:user_src/soft_herewin.c ****
  152. 46:user_src/soft_herewin.c **** case 0x83:
  153. 47:user_src/soft_herewin.c **** herewin_info.get_temp_flag = true;
  154. 48:user_src/soft_herewin.c **** //电芯温度传感器�有三个,��三个字节,传给APP�平�值
  155. 49:user_src/soft_herewin.c **** memcpy(&herewin_info.battery_temp[0],&data[0],1);
  156. 50:user_src/soft_herewin.c **** memcpy(&herewin_info.battery_temp[1],&data[1],1);
  157. 51:user_src/soft_herewin.c **** memcpy(&herewin_info.battery_temp[2],&data[2],1);
  158. 52:user_src/soft_herewin.c **** break;
  159. 53:user_src/soft_herewin.c **** //�体电压
  160. 54:user_src/soft_herewin.c **** case 0x85:
  161. 55:user_src/soft_herewin.c **** can_info.message_num = data[0];
  162. 56:user_src/soft_herewin.c **** //第一包
  163. 57:user_src/soft_herewin.c **** if(can_info.message_num == 1)
  164. 58:user_src/soft_herewin.c **** {
  165. 59:user_src/soft_herewin.c **** memset(&can_info,0,sizeof(can_info));
  166. 60:user_src/soft_herewin.c **** can_info.byte_num = data[2] + data[3] * 256;
  167. 61:user_src/soft_herewin.c **** can_info.message_total = data[1];
  168. 62:user_src/soft_herewin.c **** //算出最�一包的有效字节数
  169. 63:user_src/soft_herewin.c **** can_info.last_frame_num = can_info.byte_num - 4 -(can_info.message_total - 2) * 7;
  170. 64:user_src/soft_herewin.c **** memcpy(&can_info.herewin_buf[0],&data[4],4);
  171. 65:user_src/soft_herewin.c **** for(i = 0;i < 4;i++)
  172. 66:user_src/soft_herewin.c **** {
  173. 67:user_src/soft_herewin.c **** can_info.crc += can_info.herewin_buf[i];
  174. 68:user_src/soft_herewin.c **** }
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 4
  176. 69:user_src/soft_herewin.c **** can_info.i += 4;
  177. 70:user_src/soft_herewin.c **** }
  178. 71:user_src/soft_herewin.c **** //最å�Žä¸€åŒ… å��议校验ç �是最å�Žå�‘,12S的电池校验会å�•独å� ä¸€ä¸ªå­—节å�‘é
  179. 72:user_src/soft_herewin.c **** //14s
  180. 73:user_src/soft_herewin.c **** else if(can_info.message_num == can_info.message_total && can_info.last_frame_num <= 5
  181. 74:user_src/soft_herewin.c **** && can_info.last_frame_num > 0 )
  182. 75:user_src/soft_herewin.c **** {
  183. 76:user_src/soft_herewin.c **** memcpy(&can_info.herewin_buf[can_info.i],&data[1],can_info.last_frame_num);
  184. 77:user_src/soft_herewin.c **** for(i = 0;i < can_info.last_frame_num;i++)
  185. 78:user_src/soft_herewin.c **** {
  186. 79:user_src/soft_herewin.c **** can_info.crc += can_info.herewin_buf[can_info.i + i];
  187. 80:user_src/soft_herewin.c **** }
  188. 81:user_src/soft_herewin.c **** //校验
  189. 82:user_src/soft_herewin.c **** if(can_info.crc == data[ 1 + can_info.last_frame_num] + 256 * data[ 2 + can_info.last_f
  190. 83:user_src/soft_herewin.c **** {
  191. 84:user_src/soft_herewin.c **** memcpy(&herewin_info.battery_vol[0],&can_info.herewin_buf[0],can_info.byte_num);
  192. 85:user_src/soft_herewin.c **** }
  193. 86:user_src/soft_herewin.c **** memset(&can_info,0,sizeof(can_info));
  194. 87:user_src/soft_herewin.c **** }
  195. 88:user_src/soft_herewin.c **** //12s电池 最�一包有效字节-1
  196. 89:user_src/soft_herewin.c **** else if(can_info.message_num == can_info.message_total && can_info.last_frame_num <= 0 )
  197. 90:user_src/soft_herewin.c **** {
  198. 91:user_src/soft_herewin.c **** //最�一包�有1字节校验
  199. 92:user_src/soft_herewin.c **** if(can_info.last_frame_num == -1)
  200. 93:user_src/soft_herewin.c **** {
  201. 94:user_src/soft_herewin.c **** memcpy(&can_info.herewin_buf[can_info.i],&data[1],1);
  202. 95:user_src/soft_herewin.c **** can_info.crc -= can_info.herewin_buf[can_info.i - 1];
  203. 96:user_src/soft_herewin.c **** //校验
  204. 97:user_src/soft_herewin.c **** if(can_info.crc == can_info.herewin_buf[can_info.i - 1] + 256 * can_info.herewin_bu
  205. 98:user_src/soft_herewin.c **** {
  206. 99:user_src/soft_herewin.c **** memcpy(&herewin_info.battery_vol[0],&can_info.herewin_buf[0],can_info.byte_num)
  207. 100:user_src/soft_herewin.c **** }
  208. 101:user_src/soft_herewin.c **** }
  209. 102:user_src/soft_herewin.c **** //最�一包�有两字节校验
  210. 103:user_src/soft_herewin.c **** else if(can_info.last_frame_num == 0)
  211. 104:user_src/soft_herewin.c **** {
  212. 105:user_src/soft_herewin.c **** memcpy(&can_info.herewin_buf[can_info.i],&data[1],2);
  213. 106:user_src/soft_herewin.c **** //校验
  214. 107:user_src/soft_herewin.c **** if(can_info.crc == can_info.herewin_buf[can_info.i] + 256 * can_info.herewin_buf[ca
  215. 108:user_src/soft_herewin.c **** {
  216. 109:user_src/soft_herewin.c **** memcpy(&herewin_info.battery_vol[0],&can_info.herewin_buf[0],can_info.byte_num)
  217. 110:user_src/soft_herewin.c **** }
  218. 111:user_src/soft_herewin.c **** }
  219. 112:user_src/soft_herewin.c **** memset(&can_info,0,sizeof(can_info));
  220. 113:user_src/soft_herewin.c ****
  221. 114:user_src/soft_herewin.c **** }
  222. 115:user_src/soft_herewin.c **** else
  223. 116:user_src/soft_herewin.c **** {
  224. 117:user_src/soft_herewin.c **** memcpy(&can_info.herewin_buf[can_info.i],&data[1],7);
  225. 118:user_src/soft_herewin.c **** for(i = 0;i < 7;i++)
  226. 119:user_src/soft_herewin.c **** {
  227. 120:user_src/soft_herewin.c **** can_info.crc += can_info.herewin_buf[can_info.i + i];
  228. 121:user_src/soft_herewin.c **** }
  229. 122:user_src/soft_herewin.c **** can_info.i += 7;
  230. 123:user_src/soft_herewin.c **** }
  231. 124:user_src/soft_herewin.c **** break;
  232. 125:user_src/soft_herewin.c **** //电池循环次数查询
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 5
  234. 126:user_src/soft_herewin.c **** case 0x87:
  235. 127:user_src/soft_herewin.c **** memcpy(&herewin_info.circulation_num,&data[0],2);
  236. 128:user_src/soft_herewin.c **** break;
  237. 129:user_src/soft_herewin.c **** //充电请求
  238. 130:user_src/soft_herewin.c **** case 0x22:
  239. 131:user_src/soft_herewin.c **** memcpy(&herewin_info.re_vol,&data[0],2);
  240. 132:user_src/soft_herewin.c **** memcpy(&herewin_info.re_ele,&data[2],2);
  241. 133:user_src/soft_herewin.c **** memcpy(&herewin_info.max_vol,&data[4],2);
  242. 134:user_src/soft_herewin.c **** memcpy(&herewin_info.power_status,&data[6],2);
  243. 135:user_src/soft_herewin.c **** break;
  244. 136:user_src/soft_herewin.c **** //告警信�
  245. 137:user_src/soft_herewin.c **** case 0x24:
  246. 138:user_src/soft_herewin.c **** memcpy(&herewin_info.alarm_info,&data[0],2);
  247. 139:user_src/soft_herewin.c **** memcpy(&herewin_info.warn_info,&data[2],2);
  248. 140:user_src/soft_herewin.c **** break;
  249. 141:user_src/soft_herewin.c **** //电� 电压信�
  250. 142:user_src/soft_herewin.c **** case 0x26:
  251. 143:user_src/soft_herewin.c **** memcpy(&herewin_info.total_vol,&data[0],2);
  252. 144:user_src/soft_herewin.c **** memcpy(&herewin_info.tolal_ele,&data[2],2);
  253. 145:user_src/soft_herewin.c **** memcpy(&herewin_info.SOC_info,&data[4],1);
  254. 146:user_src/soft_herewin.c **** memcpy(&herewin_info.SOH_info,&data[5],1);
  255. 147:user_src/soft_herewin.c **** memcpy(&herewin_info.SOP_info,&data[6],2);
  256. 148:user_src/soft_herewin.c **** break;
  257. 149:user_src/soft_herewin.c **** default:
  258. 150:user_src/soft_herewin.c **** break;
  259. 101 .loc 1 150 9
  260. 102 004c F0E1 b .L27
  261. 103 .L3:
  262. 36:user_src/soft_herewin.c **** {
  263. 104 .loc 1 36 5
  264. 105 004e 813B subs r3, r3, #129
  265. 106 0050 062B cmp r3, #6
  266. 107 0052 00F2ED81 bhi .L27
  267. 108 0056 01A2 adr r2, .L8
  268. 109 0058 52F823F0 ldr pc, [r2, r3, lsl #2]
  269. 110 .p2align 2
  270. 111 .L8:
  271. 112 005c 79000000 .word .L11+1
  272. 113 0060 31040000 .word .L27+1
  273. 114 0064 9B000000 .word .L10+1
  274. 115 0068 31040000 .word .L27+1
  275. 116 006c C1000000 .word .L9+1
  276. 117 0070 31040000 .word .L27+1
  277. 118 0074 8D030000 .word .L7+1
  278. 119 .p2align 1
  279. 120 .L11:
  280. 40:user_src/soft_herewin.c **** {
  281. 121 .loc 1 40 17
  282. 122 0078 BB68 ldr r3, [r7, #8]
  283. 123 007a 1B78 ldrb r3, [r3] @ zero_extendqisi2
  284. 40:user_src/soft_herewin.c **** {
  285. 124 .loc 1 40 11
  286. 125 007c 082B cmp r3, #8
  287. 126 007e 40F0D981 bne .L28
  288. 40:user_src/soft_herewin.c **** {
  289. 127 .loc 1 40 43 discriminator 1
  290. 128 0082 BB68 ldr r3, [r7, #8]
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 6
  292. 129 0084 0233 adds r3, r3, #2
  293. 130 0086 1B78 ldrb r3, [r3] @ zero_extendqisi2
  294. 40:user_src/soft_herewin.c **** {
  295. 131 .loc 1 40 27 discriminator 1
  296. 132 0088 802B cmp r3, #128
  297. 133 008a 40F0D381 bne .L28
  298. 42:user_src/soft_herewin.c **** }
  299. 134 .loc 1 42 37
  300. 135 008e BB68 ldr r3, [r7, #8]
  301. 136 0090 1A79 ldrb r2, [r3, #4] @ zero_extendqisi2
  302. 137 0092 8A4B ldr r3, .L30+4
  303. 138 0094 83F83220 strb r2, [r3, #50]
  304. 44:user_src/soft_herewin.c ****
  305. 139 .loc 1 44 9
  306. 140 0098 CCE1 b .L28
  307. 141 .L10:
  308. 47:user_src/soft_herewin.c **** //电芯温度传感器�有三个,��三个字节,传给APP�平�值
  309. 142 .loc 1 47 36
  310. 143 009a 884B ldr r3, .L30+4
  311. 144 009c 0122 movs r2, #1
  312. 145 009e 83F83D20 strb r2, [r3, #61]
  313. 146 00a2 BB68 ldr r3, [r7, #8]
  314. 147 00a4 1A78 ldrb r2, [r3] @ zero_extendqisi2
  315. 49:user_src/soft_herewin.c **** memcpy(&herewin_info.battery_temp[1],&data[1],1);
  316. 148 .loc 1 49 9
  317. 149 00a6 854B ldr r3, .L30+4
  318. 150 00a8 1A70 strb r2, [r3]
  319. 50:user_src/soft_herewin.c **** memcpy(&herewin_info.battery_temp[2],&data[2],1);
  320. 151 .loc 1 50 46
  321. 152 00aa BB68 ldr r3, [r7, #8]
  322. 153 00ac 0133 adds r3, r3, #1
  323. 154 00ae 1A78 ldrb r2, [r3] @ zero_extendqisi2
  324. 50:user_src/soft_herewin.c **** memcpy(&herewin_info.battery_temp[2],&data[2],1);
  325. 155 .loc 1 50 9
  326. 156 00b0 824B ldr r3, .L30+4
  327. 157 00b2 5A70 strb r2, [r3, #1]
  328. 51:user_src/soft_herewin.c **** break;
  329. 158 .loc 1 51 46
  330. 159 00b4 BB68 ldr r3, [r7, #8]
  331. 160 00b6 0233 adds r3, r3, #2
  332. 161 00b8 1A78 ldrb r2, [r3] @ zero_extendqisi2
  333. 51:user_src/soft_herewin.c **** break;
  334. 162 .loc 1 51 9
  335. 163 00ba 804B ldr r3, .L30+4
  336. 164 00bc 9A70 strb r2, [r3, #2]
  337. 52:user_src/soft_herewin.c **** //�体电压
  338. 165 .loc 1 52 9
  339. 166 00be BAE1 b .L13
  340. 167 .L9:
  341. 55:user_src/soft_herewin.c **** //第一包
  342. 168 .loc 1 55 36
  343. 169 00c0 BB68 ldr r3, [r7, #8]
  344. 170 00c2 1A78 ldrb r2, [r3] @ zero_extendqisi2
  345. 55:user_src/soft_herewin.c **** //第一包
  346. 171 .loc 1 55 30
  347. 172 00c4 7E4B ldr r3, .L30+8
  348. 173 00c6 83F84020 strb r2, [r3, #64]
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 7
  350. 57:user_src/soft_herewin.c **** {
  351. 174 .loc 1 57 20
  352. 175 00ca 7D4B ldr r3, .L30+8
  353. 176 00cc 93F84030 ldrb r3, [r3, #64] @ zero_extendqisi2
  354. 57:user_src/soft_herewin.c **** {
  355. 177 .loc 1 57 11
  356. 178 00d0 012B cmp r3, #1
  357. 179 00d2 4AD1 bne .L14
  358. 59:user_src/soft_herewin.c **** can_info.byte_num = data[2] + data[3] * 256;
  359. 180 .loc 1 59 13
  360. 181 00d4 4C22 movs r2, #76
  361. 182 00d6 0021 movs r1, #0
  362. 183 00d8 7948 ldr r0, .L30+8
  363. 184 00da FFF7FEFF bl memset
  364. 60:user_src/soft_herewin.c **** can_info.message_total = data[1];
  365. 185 .loc 1 60 37
  366. 186 00de BB68 ldr r3, [r7, #8]
  367. 187 00e0 0233 adds r3, r3, #2
  368. 188 00e2 1B78 ldrb r3, [r3] @ zero_extendqisi2
  369. 189 00e4 9AB2 uxth r2, r3
  370. 60:user_src/soft_herewin.c **** can_info.message_total = data[1];
  371. 190 .loc 1 60 47
  372. 191 00e6 BB68 ldr r3, [r7, #8]
  373. 192 00e8 0333 adds r3, r3, #3
  374. 193 00ea 1B78 ldrb r3, [r3] @ zero_extendqisi2
  375. 60:user_src/soft_herewin.c **** can_info.message_total = data[1];
  376. 194 .loc 1 60 41
  377. 195 00ec 9BB2 uxth r3, r3
  378. 196 00ee 1B02 lsls r3, r3, #8
  379. 197 00f0 9BB2 uxth r3, r3
  380. 198 00f2 1344 add r3, r3, r2
  381. 199 00f4 9AB2 uxth r2, r3
  382. 60:user_src/soft_herewin.c **** can_info.message_total = data[1];
  383. 200 .loc 1 60 31
  384. 201 00f6 724B ldr r3, .L30+8
  385. 202 00f8 A3F84220 strh r2, [r3, #66] @ movhi
  386. 61:user_src/soft_herewin.c **** //算出最�一包的有效字节数
  387. 203 .loc 1 61 36
  388. 204 00fc BB68 ldr r3, [r7, #8]
  389. 205 00fe 5A78 ldrb r2, [r3, #1] @ zero_extendqisi2
  390. 206 0100 6F4B ldr r3, .L30+8
  391. 207 0102 83F84120 strb r2, [r3, #65]
  392. 63:user_src/soft_herewin.c **** memcpy(&can_info.herewin_buf[0],&data[4],4);
  393. 208 .loc 1 63 47
  394. 209 0106 6E4B ldr r3, .L30+8
  395. 210 0108 B3F84230 ldrh r3, [r3, #66]
  396. 63:user_src/soft_herewin.c **** memcpy(&can_info.herewin_buf[0],&data[4],4);
  397. 211 .loc 1 63 57
  398. 212 010c 1A1F subs r2, r3, #4
  399. 63:user_src/soft_herewin.c **** memcpy(&can_info.herewin_buf[0],&data[4],4);
  400. 213 .loc 1 63 71
  401. 214 010e 6C4B ldr r3, .L30+8
  402. 215 0110 93F84130 ldrb r3, [r3, #65] @ zero_extendqisi2
  403. 63:user_src/soft_herewin.c **** memcpy(&can_info.herewin_buf[0],&data[4],4);
  404. 216 .loc 1 63 86
  405. 217 0114 023B subs r3, r3, #2
  406. 63:user_src/soft_herewin.c **** memcpy(&can_info.herewin_buf[0],&data[4],4);
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 8
  408. 218 .loc 1 63 91
  409. 219 0116 1946 mov r1, r3
  410. 220 0118 DB00 lsls r3, r3, #3
  411. 221 011a CB1A subs r3, r1, r3
  412. 63:user_src/soft_herewin.c **** memcpy(&can_info.herewin_buf[0],&data[4],4);
  413. 222 .loc 1 63 61
  414. 223 011c 1344 add r3, r3, r2
  415. 63:user_src/soft_herewin.c **** memcpy(&can_info.herewin_buf[0],&data[4],4);
  416. 224 .loc 1 63 37
  417. 225 011e 684A ldr r2, .L30+8
  418. 226 0120 5364 str r3, [r2, #68]
  419. 64:user_src/soft_herewin.c **** for(i = 0;i < 4;i++)
  420. 227 .loc 1 64 45
  421. 228 0122 BB68 ldr r3, [r7, #8]
  422. 229 0124 0433 adds r3, r3, #4
  423. 230 0126 1B68 ldr r3, [r3] @ unaligned
  424. 231 0128 1A46 mov r2, r3
  425. 64:user_src/soft_herewin.c **** for(i = 0;i < 4;i++)
  426. 232 .loc 1 64 13
  427. 233 012a 654B ldr r3, .L30+8
  428. 234 012c 1A60 str r2, [r3]
  429. 65:user_src/soft_herewin.c **** {
  430. 235 .loc 1 65 19
  431. 236 012e 0023 movs r3, #0
  432. 237 0130 FB75 strb r3, [r7, #23]
  433. 65:user_src/soft_herewin.c **** {
  434. 238 .loc 1 65 13
  435. 239 0132 0EE0 b .L15
  436. 240 .L16:
  437. 67:user_src/soft_herewin.c **** }
  438. 241 .loc 1 67 30 discriminator 3
  439. 242 0134 624B ldr r3, .L30+8
  440. 243 0136 B3F84820 ldrh r2, [r3, #72]
  441. 67:user_src/soft_herewin.c **** }
  442. 244 .loc 1 67 53 discriminator 3
  443. 245 013a FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  444. 246 013c 6049 ldr r1, .L30+8
  445. 247 013e CB5C ldrb r3, [r1, r3] @ zero_extendqisi2
  446. 248 0140 9BB2 uxth r3, r3
  447. 67:user_src/soft_herewin.c **** }
  448. 249 .loc 1 67 30 discriminator 3
  449. 250 0142 1344 add r3, r3, r2
  450. 251 0144 9AB2 uxth r2, r3
  451. 252 0146 5E4B ldr r3, .L30+8
  452. 253 0148 A3F84820 strh r2, [r3, #72] @ movhi
  453. 65:user_src/soft_herewin.c **** {
  454. 254 .loc 1 65 30 discriminator 3
  455. 255 014c FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  456. 256 014e 0133 adds r3, r3, #1
  457. 257 0150 FB75 strb r3, [r7, #23]
  458. 258 .L15:
  459. 65:user_src/soft_herewin.c **** {
  460. 259 .loc 1 65 13 discriminator 1
  461. 260 0152 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  462. 261 0154 032B cmp r3, #3
  463. 262 0156 EDD9 bls .L16
  464. 69:user_src/soft_herewin.c **** }
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 9
  466. 263 .loc 1 69 24
  467. 264 0158 594B ldr r3, .L30+8
  468. 265 015a 93F84A30 ldrb r3, [r3, #74] @ zero_extendqisi2
  469. 266 015e 0433 adds r3, r3, #4
  470. 267 0160 DAB2 uxtb r2, r3
  471. 268 0162 574B ldr r3, .L30+8
  472. 269 0164 83F84A20 strb r2, [r3, #74]
  473. 124:user_src/soft_herewin.c **** //电池循环次数查询
  474. 270 .loc 1 124 9
  475. 271 0168 65E1 b .L13
  476. 272 .L14:
  477. 73:user_src/soft_herewin.c **** && can_info.last_frame_num > 0 )
  478. 273 .loc 1 73 25
  479. 274 016a 554B ldr r3, .L30+8
  480. 275 016c 93F84020 ldrb r2, [r3, #64] @ zero_extendqisi2
  481. 73:user_src/soft_herewin.c **** && can_info.last_frame_num > 0 )
  482. 276 .loc 1 73 49
  483. 277 0170 534B ldr r3, .L30+8
  484. 278 0172 93F84130 ldrb r3, [r3, #65] @ zero_extendqisi2
  485. 73:user_src/soft_herewin.c **** && can_info.last_frame_num > 0 )
  486. 279 .loc 1 73 16
  487. 280 0176 9A42 cmp r2, r3
  488. 281 0178 55D1 bne .L18
  489. 73:user_src/soft_herewin.c **** && can_info.last_frame_num > 0 )
  490. 282 .loc 1 73 76 discriminator 1
  491. 283 017a 514B ldr r3, .L30+8
  492. 284 017c 5B6C ldr r3, [r3, #68]
  493. 73:user_src/soft_herewin.c **** && can_info.last_frame_num > 0 )
  494. 285 .loc 1 73 64 discriminator 1
  495. 286 017e 052B cmp r3, #5
  496. 287 0180 51DC bgt .L18
  497. 74:user_src/soft_herewin.c **** {
  498. 288 .loc 1 74 28
  499. 289 0182 4F4B ldr r3, .L30+8
  500. 290 0184 5B6C ldr r3, [r3, #68]
  501. 74:user_src/soft_herewin.c **** {
  502. 291 .loc 1 74 17
  503. 292 0186 002B cmp r3, #0
  504. 293 0188 4DDD ble .L18
  505. 76:user_src/soft_herewin.c **** for(i = 0;i < can_info.last_frame_num;i++)
  506. 294 .loc 1 76 50
  507. 295 018a 4D4B ldr r3, .L30+8
  508. 296 018c 93F84A30 ldrb r3, [r3, #74] @ zero_extendqisi2
  509. 297 0190 1A46 mov r2, r3
  510. 76:user_src/soft_herewin.c **** for(i = 0;i < can_info.last_frame_num;i++)
  511. 298 .loc 1 76 20
  512. 299 0192 4B4B ldr r3, .L30+8
  513. 300 0194 D018 adds r0, r2, r3
  514. 76:user_src/soft_herewin.c **** for(i = 0;i < can_info.last_frame_num;i++)
  515. 301 .loc 1 76 54
  516. 302 0196 BB68 ldr r3, [r7, #8]
  517. 303 0198 0133 adds r3, r3, #1
  518. 76:user_src/soft_herewin.c **** for(i = 0;i < can_info.last_frame_num;i++)
  519. 304 .loc 1 76 71
  520. 305 019a 494A ldr r2, .L30+8
  521. 306 019c 526C ldr r2, [r2, #68]
  522. 76:user_src/soft_herewin.c **** for(i = 0;i < can_info.last_frame_num;i++)
  523. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 10
  524. 307 .loc 1 76 13
  525. 308 019e 1946 mov r1, r3
  526. 309 01a0 FFF7FEFF bl memcpy
  527. 77:user_src/soft_herewin.c **** {
  528. 310 .loc 1 77 19
  529. 311 01a4 0023 movs r3, #0
  530. 312 01a6 FB75 strb r3, [r7, #23]
  531. 77:user_src/soft_herewin.c **** {
  532. 313 .loc 1 77 13
  533. 314 01a8 13E0 b .L19
  534. 315 .L20:
  535. 79:user_src/soft_herewin.c **** }
  536. 316 .loc 1 79 30 discriminator 3
  537. 317 01aa 454B ldr r3, .L30+8
  538. 318 01ac B3F84820 ldrh r2, [r3, #72]
  539. 79:user_src/soft_herewin.c **** }
  540. 319 .loc 1 79 62 discriminator 3
  541. 320 01b0 434B ldr r3, .L30+8
  542. 321 01b2 93F84A30 ldrb r3, [r3, #74] @ zero_extendqisi2
  543. 322 01b6 1946 mov r1, r3
  544. 79:user_src/soft_herewin.c **** }
  545. 323 .loc 1 79 65 discriminator 3
  546. 324 01b8 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  547. 325 01ba 0B44 add r3, r3, r1
  548. 79:user_src/soft_herewin.c **** }
  549. 326 .loc 1 79 53 discriminator 3
  550. 327 01bc 4049 ldr r1, .L30+8
  551. 328 01be CB5C ldrb r3, [r1, r3] @ zero_extendqisi2
  552. 329 01c0 9BB2 uxth r3, r3
  553. 79:user_src/soft_herewin.c **** }
  554. 330 .loc 1 79 30 discriminator 3
  555. 331 01c2 1344 add r3, r3, r2
  556. 332 01c4 9AB2 uxth r2, r3
  557. 333 01c6 3E4B ldr r3, .L30+8
  558. 334 01c8 A3F84820 strh r2, [r3, #72] @ movhi
  559. 77:user_src/soft_herewin.c **** {
  560. 335 .loc 1 77 52 discriminator 3
  561. 336 01cc FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  562. 337 01ce 0133 adds r3, r3, #1
  563. 338 01d0 FB75 strb r3, [r7, #23]
  564. 339 .L19:
  565. 77:user_src/soft_herewin.c **** {
  566. 340 .loc 1 77 25 discriminator 1
  567. 341 01d2 FA7D ldrb r2, [r7, #23] @ zero_extendqisi2
  568. 77:user_src/soft_herewin.c **** {
  569. 342 .loc 1 77 35 discriminator 1
  570. 343 01d4 3A4B ldr r3, .L30+8
  571. 344 01d6 5B6C ldr r3, [r3, #68]
  572. 77:user_src/soft_herewin.c **** {
  573. 345 .loc 1 77 13 discriminator 1
  574. 346 01d8 9A42 cmp r2, r3
  575. 347 01da E6DB blt .L20
  576. 82:user_src/soft_herewin.c **** {
  577. 348 .loc 1 82 24
  578. 349 01dc 384B ldr r3, .L30+8
  579. 350 01de B3F84830 ldrh r3, [r3, #72]
  580. 351 01e2 1A46 mov r2, r3
  581. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 11
  582. 82:user_src/soft_herewin.c **** {
  583. 352 .loc 1 82 50
  584. 353 01e4 364B ldr r3, .L30+8
  585. 354 01e6 5B6C ldr r3, [r3, #68]
  586. 82:user_src/soft_herewin.c **** {
  587. 355 .loc 1 82 40
  588. 356 01e8 0133 adds r3, r3, #1
  589. 357 01ea 1946 mov r1, r3
  590. 82:user_src/soft_herewin.c **** {
  591. 358 .loc 1 82 36
  592. 359 01ec BB68 ldr r3, [r7, #8]
  593. 360 01ee 0B44 add r3, r3, r1
  594. 361 01f0 1B78 ldrb r3, [r3] @ zero_extendqisi2
  595. 362 01f2 1946 mov r1, r3
  596. 82:user_src/soft_herewin.c **** {
  597. 363 .loc 1 82 93
  598. 364 01f4 324B ldr r3, .L30+8
  599. 365 01f6 5B6C ldr r3, [r3, #68]
  600. 82:user_src/soft_herewin.c **** {
  601. 366 .loc 1 82 83
  602. 367 01f8 0233 adds r3, r3, #2
  603. 368 01fa 1846 mov r0, r3
  604. 82:user_src/soft_herewin.c **** {
  605. 369 .loc 1 82 79
  606. 370 01fc BB68 ldr r3, [r7, #8]
  607. 371 01fe 0344 add r3, r3, r0
  608. 372 0200 1B78 ldrb r3, [r3] @ zero_extendqisi2
  609. 82:user_src/soft_herewin.c **** {
  610. 373 .loc 1 82 73
  611. 374 0202 1B02 lsls r3, r3, #8
  612. 82:user_src/soft_herewin.c **** {
  613. 375 .loc 1 82 67
  614. 376 0204 0B44 add r3, r3, r1
  615. 82:user_src/soft_herewin.c **** {
  616. 377 .loc 1 82 15
  617. 378 0206 9A42 cmp r2, r3
  618. 379 0208 07D1 bne .L21
  619. 84:user_src/soft_herewin.c **** }
  620. 380 .loc 1 84 86
  621. 381 020a 2D4B ldr r3, .L30+8
  622. 382 020c B3F84230 ldrh r3, [r3, #66]
  623. 84:user_src/soft_herewin.c **** }
  624. 383 .loc 1 84 17
  625. 384 0210 1A46 mov r2, r3
  626. 385 0212 2B49 ldr r1, .L30+8
  627. 386 0214 2B48 ldr r0, .L30+12
  628. 387 0216 FFF7FEFF bl memcpy
  629. 388 .L21:
  630. 86:user_src/soft_herewin.c **** }
  631. 389 .loc 1 86 13
  632. 390 021a 4C22 movs r2, #76
  633. 391 021c 0021 movs r1, #0
  634. 392 021e 2848 ldr r0, .L30+8
  635. 393 0220 FFF7FEFF bl memset
  636. 394 0224 B1E0 b .L17
  637. 395 .L18:
  638. 89:user_src/soft_herewin.c **** {
  639. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 12
  640. 396 .loc 1 89 25
  641. 397 0226 264B ldr r3, .L30+8
  642. 398 0228 93F84020 ldrb r2, [r3, #64] @ zero_extendqisi2
  643. 89:user_src/soft_herewin.c **** {
  644. 399 .loc 1 89 49
  645. 400 022c 244B ldr r3, .L30+8
  646. 401 022e 93F84130 ldrb r3, [r3, #65] @ zero_extendqisi2
  647. 89:user_src/soft_herewin.c **** {
  648. 402 .loc 1 89 16
  649. 403 0232 9A42 cmp r2, r3
  650. 404 0234 7AD1 bne .L22
  651. 89:user_src/soft_herewin.c **** {
  652. 405 .loc 1 89 75 discriminator 1
  653. 406 0236 224B ldr r3, .L30+8
  654. 407 0238 5B6C ldr r3, [r3, #68]
  655. 89:user_src/soft_herewin.c **** {
  656. 408 .loc 1 89 64 discriminator 1
  657. 409 023a 002B cmp r3, #0
  658. 410 023c 76DC bgt .L22
  659. 92:user_src/soft_herewin.c **** {
  660. 411 .loc 1 92 24
  661. 412 023e 204B ldr r3, .L30+8
  662. 413 0240 5B6C ldr r3, [r3, #68]
  663. 92:user_src/soft_herewin.c **** {
  664. 414 .loc 1 92 15
  665. 415 0242 B3F1FF3F cmp r3, #-1
  666. 416 0246 3FD1 bne .L23
  667. 94:user_src/soft_herewin.c **** can_info.crc -= can_info.herewin_buf[can_info.i - 1];
  668. 417 .loc 1 94 54
  669. 418 0248 1D4B ldr r3, .L30+8
  670. 419 024a 93F84A30 ldrb r3, [r3, #74] @ zero_extendqisi2
  671. 420 024e 1A46 mov r2, r3
  672. 94:user_src/soft_herewin.c **** can_info.crc -= can_info.herewin_buf[can_info.i - 1];
  673. 421 .loc 1 94 24
  674. 422 0250 1B4B ldr r3, .L30+8
  675. 423 0252 1344 add r3, r3, r2
  676. 94:user_src/soft_herewin.c **** can_info.crc -= can_info.herewin_buf[can_info.i - 1];
  677. 424 .loc 1 94 58
  678. 425 0254 BA68 ldr r2, [r7, #8]
  679. 426 0256 0132 adds r2, r2, #1
  680. 427 0258 1278 ldrb r2, [r2] @ zero_extendqisi2
  681. 94:user_src/soft_herewin.c **** can_info.crc -= can_info.herewin_buf[can_info.i - 1];
  682. 428 .loc 1 94 17
  683. 429 025a 1A70 strb r2, [r3]
  684. 95:user_src/soft_herewin.c **** //校验
  685. 430 .loc 1 95 30
  686. 431 025c 184B ldr r3, .L30+8
  687. 432 025e B3F84820 ldrh r2, [r3, #72]
  688. 95:user_src/soft_herewin.c **** //校验
  689. 433 .loc 1 95 62
  690. 434 0262 174B ldr r3, .L30+8
  691. 435 0264 93F84A30 ldrb r3, [r3, #74] @ zero_extendqisi2
  692. 95:user_src/soft_herewin.c **** //校验
  693. 436 .loc 1 95 65
  694. 437 0268 013B subs r3, r3, #1
  695. 95:user_src/soft_herewin.c **** //校验
  696. 438 .loc 1 95 53
  697. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 13
  698. 439 026a 1549 ldr r1, .L30+8
  699. 440 026c CB5C ldrb r3, [r1, r3] @ zero_extendqisi2
  700. 441 026e 9BB2 uxth r3, r3
  701. 95:user_src/soft_herewin.c **** //校验
  702. 442 .loc 1 95 30
  703. 443 0270 D31A subs r3, r2, r3
  704. 444 0272 9AB2 uxth r2, r3
  705. 445 0274 124B ldr r3, .L30+8
  706. 446 0276 A3F84820 strh r2, [r3, #72] @ movhi
  707. 97:user_src/soft_herewin.c **** {
  708. 447 .loc 1 97 28
  709. 448 027a 114B ldr r3, .L30+8
  710. 449 027c B3F84830 ldrh r3, [r3, #72]
  711. 450 0280 1946 mov r1, r3
  712. 97:user_src/soft_herewin.c **** {
  713. 451 .loc 1 97 65
  714. 452 0282 0F4B ldr r3, .L30+8
  715. 453 0284 93F84A30 ldrb r3, [r3, #74] @ zero_extendqisi2
  716. 97:user_src/soft_herewin.c **** {
  717. 454 .loc 1 97 68
  718. 455 0288 013B subs r3, r3, #1
  719. 97:user_src/soft_herewin.c **** {
  720. 456 .loc 1 97 56
  721. 457 028a 0D4A ldr r2, .L30+8
  722. 458 028c D35C ldrb r3, [r2, r3] @ zero_extendqisi2
  723. 459 028e 1A46 mov r2, r3
  724. 97:user_src/soft_herewin.c **** {
  725. 460 .loc 1 97 110
  726. 461 0290 0B4B ldr r3, .L30+8
  727. 462 0292 93F84A30 ldrb r3, [r3, #74] @ zero_extendqisi2
  728. 463 0296 1846 mov r0, r3
  729. 97:user_src/soft_herewin.c **** {
  730. 464 .loc 1 97 101
  731. 465 0298 094B ldr r3, .L30+8
  732. 466 029a 1B5C ldrb r3, [r3, r0] @ zero_extendqisi2
  733. 97:user_src/soft_herewin.c **** {
  734. 467 .loc 1 97 79
  735. 468 029c 1B02 lsls r3, r3, #8
  736. 97:user_src/soft_herewin.c **** {
  737. 469 .loc 1 97 73
  738. 470 029e 1344 add r3, r3, r2
  739. 97:user_src/soft_herewin.c **** {
  740. 471 .loc 1 97 19
  741. 472 02a0 9942 cmp r1, r3
  742. 473 02a2 3DD1 bne .L24
  743. 99:user_src/soft_herewin.c **** }
  744. 474 .loc 1 99 90
  745. 475 02a4 064B ldr r3, .L30+8
  746. 476 02a6 B3F84230 ldrh r3, [r3, #66]
  747. 99:user_src/soft_herewin.c **** }
  748. 477 .loc 1 99 21
  749. 478 02aa 1A46 mov r2, r3
  750. 479 02ac 0449 ldr r1, .L30+8
  751. 480 02ae 0548 ldr r0, .L30+12
  752. 481 02b0 FFF7FEFF bl memcpy
  753. 482 02b4 34E0 b .L24
  754. 483 .L31:
  755. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 14
  756. 484 02b6 00BF .align 2
  757. 485 .L30:
  758. 486 02b8 00000000 .word Herewin_Link
  759. 487 02bc 00000000 .word herewin_info
  760. 488 02c0 00000000 .word can_info
  761. 489 02c4 03000000 .word herewin_info+3
  762. 490 .L23:
  763. 103:user_src/soft_herewin.c **** {
  764. 491 .loc 1 103 29
  765. 492 02c8 5D4B ldr r3, .L32
  766. 493 02ca 5B6C ldr r3, [r3, #68]
  767. 103:user_src/soft_herewin.c **** {
  768. 494 .loc 1 103 20
  769. 495 02cc 002B cmp r3, #0
  770. 496 02ce 27D1 bne .L24
  771. 105:user_src/soft_herewin.c **** //校验
  772. 497 .loc 1 105 54
  773. 498 02d0 5B4B ldr r3, .L32
  774. 499 02d2 93F84A30 ldrb r3, [r3, #74] @ zero_extendqisi2
  775. 500 02d6 1A46 mov r2, r3
  776. 105:user_src/soft_herewin.c **** //校验
  777. 501 .loc 1 105 24
  778. 502 02d8 594B ldr r3, .L32
  779. 503 02da 1344 add r3, r3, r2
  780. 105:user_src/soft_herewin.c **** //校验
  781. 504 .loc 1 105 58
  782. 505 02dc BA68 ldr r2, [r7, #8]
  783. 506 02de 0132 adds r2, r2, #1
  784. 507 02e0 1288 ldrh r2, [r2] @ unaligned
  785. 508 02e2 92B2 uxth r2, r2
  786. 105:user_src/soft_herewin.c **** //校验
  787. 509 .loc 1 105 17
  788. 510 02e4 1A80 strh r2, [r3] @ unaligned
  789. 107:user_src/soft_herewin.c **** {
  790. 511 .loc 1 107 28
  791. 512 02e6 564B ldr r3, .L32
  792. 513 02e8 B3F84830 ldrh r3, [r3, #72]
  793. 514 02ec 1946 mov r1, r3
  794. 107:user_src/soft_herewin.c **** {
  795. 515 .loc 1 107 65
  796. 516 02ee 544B ldr r3, .L32
  797. 517 02f0 93F84A30 ldrb r3, [r3, #74] @ zero_extendqisi2
  798. 518 02f4 1A46 mov r2, r3
  799. 107:user_src/soft_herewin.c **** {
  800. 519 .loc 1 107 56
  801. 520 02f6 524B ldr r3, .L32
  802. 521 02f8 9B5C ldrb r3, [r3, r2] @ zero_extendqisi2
  803. 522 02fa 1846 mov r0, r3
  804. 107:user_src/soft_herewin.c **** {
  805. 523 .loc 1 107 106
  806. 524 02fc 504B ldr r3, .L32
  807. 525 02fe 93F84A30 ldrb r3, [r3, #74] @ zero_extendqisi2
  808. 107:user_src/soft_herewin.c **** {
  809. 526 .loc 1 107 109
  810. 527 0302 0133 adds r3, r3, #1
  811. 107:user_src/soft_herewin.c **** {
  812. 528 .loc 1 107 97
  813. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 15
  814. 529 0304 4E4A ldr r2, .L32
  815. 530 0306 D35C ldrb r3, [r2, r3] @ zero_extendqisi2
  816. 107:user_src/soft_herewin.c **** {
  817. 531 .loc 1 107 75
  818. 532 0308 1B02 lsls r3, r3, #8
  819. 107:user_src/soft_herewin.c **** {
  820. 533 .loc 1 107 69
  821. 534 030a 0344 add r3, r3, r0
  822. 107:user_src/soft_herewin.c **** {
  823. 535 .loc 1 107 19
  824. 536 030c 9942 cmp r1, r3
  825. 537 030e 07D1 bne .L24
  826. 109:user_src/soft_herewin.c **** }
  827. 538 .loc 1 109 90
  828. 539 0310 4B4B ldr r3, .L32
  829. 540 0312 B3F84230 ldrh r3, [r3, #66]
  830. 109:user_src/soft_herewin.c **** }
  831. 541 .loc 1 109 21
  832. 542 0316 1A46 mov r2, r3
  833. 543 0318 4949 ldr r1, .L32
  834. 544 031a 4A48 ldr r0, .L32+4
  835. 545 031c FFF7FEFF bl memcpy
  836. 546 .L24:
  837. 112:user_src/soft_herewin.c ****
  838. 547 .loc 1 112 13
  839. 548 0320 4C22 movs r2, #76
  840. 549 0322 0021 movs r1, #0
  841. 550 0324 4648 ldr r0, .L32
  842. 551 0326 FFF7FEFF bl memset
  843. 552 032a 2EE0 b .L17
  844. 553 .L22:
  845. 117:user_src/soft_herewin.c **** for(i = 0;i < 7;i++)
  846. 554 .loc 1 117 50
  847. 555 032c 444B ldr r3, .L32
  848. 556 032e 93F84A30 ldrb r3, [r3, #74] @ zero_extendqisi2
  849. 557 0332 1A46 mov r2, r3
  850. 117:user_src/soft_herewin.c **** for(i = 0;i < 7;i++)
  851. 558 .loc 1 117 20
  852. 559 0334 424B ldr r3, .L32
  853. 560 0336 D018 adds r0, r2, r3
  854. 117:user_src/soft_herewin.c **** for(i = 0;i < 7;i++)
  855. 561 .loc 1 117 54
  856. 562 0338 BB68 ldr r3, [r7, #8]
  857. 563 033a 0133 adds r3, r3, #1
  858. 117:user_src/soft_herewin.c **** for(i = 0;i < 7;i++)
  859. 564 .loc 1 117 13
  860. 565 033c 0722 movs r2, #7
  861. 566 033e 1946 mov r1, r3
  862. 567 0340 FFF7FEFF bl memcpy
  863. 118:user_src/soft_herewin.c **** {
  864. 568 .loc 1 118 19
  865. 569 0344 0023 movs r3, #0
  866. 570 0346 FB75 strb r3, [r7, #23]
  867. 118:user_src/soft_herewin.c **** {
  868. 571 .loc 1 118 13
  869. 572 0348 13E0 b .L25
  870. 573 .L26:
  871. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 16
  872. 120:user_src/soft_herewin.c **** }
  873. 574 .loc 1 120 30 discriminator 3
  874. 575 034a 3D4B ldr r3, .L32
  875. 576 034c B3F84820 ldrh r2, [r3, #72]
  876. 120:user_src/soft_herewin.c **** }
  877. 577 .loc 1 120 62 discriminator 3
  878. 578 0350 3B4B ldr r3, .L32
  879. 579 0352 93F84A30 ldrb r3, [r3, #74] @ zero_extendqisi2
  880. 580 0356 1946 mov r1, r3
  881. 120:user_src/soft_herewin.c **** }
  882. 581 .loc 1 120 65 discriminator 3
  883. 582 0358 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  884. 583 035a 0B44 add r3, r3, r1
  885. 120:user_src/soft_herewin.c **** }
  886. 584 .loc 1 120 53 discriminator 3
  887. 585 035c 3849 ldr r1, .L32
  888. 586 035e CB5C ldrb r3, [r1, r3] @ zero_extendqisi2
  889. 587 0360 9BB2 uxth r3, r3
  890. 120:user_src/soft_herewin.c **** }
  891. 588 .loc 1 120 30 discriminator 3
  892. 589 0362 1344 add r3, r3, r2
  893. 590 0364 9AB2 uxth r2, r3
  894. 591 0366 364B ldr r3, .L32
  895. 592 0368 A3F84820 strh r2, [r3, #72] @ movhi
  896. 118:user_src/soft_herewin.c **** {
  897. 593 .loc 1 118 30 discriminator 3
  898. 594 036c FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  899. 595 036e 0133 adds r3, r3, #1
  900. 596 0370 FB75 strb r3, [r7, #23]
  901. 597 .L25:
  902. 118:user_src/soft_herewin.c **** {
  903. 598 .loc 1 118 13 discriminator 1
  904. 599 0372 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  905. 600 0374 062B cmp r3, #6
  906. 601 0376 E8D9 bls .L26
  907. 122:user_src/soft_herewin.c **** }
  908. 602 .loc 1 122 24
  909. 603 0378 314B ldr r3, .L32
  910. 604 037a 93F84A30 ldrb r3, [r3, #74] @ zero_extendqisi2
  911. 605 037e 0733 adds r3, r3, #7
  912. 606 0380 DAB2 uxtb r2, r3
  913. 607 0382 2F4B ldr r3, .L32
  914. 608 0384 83F84A20 strb r2, [r3, #74]
  915. 124:user_src/soft_herewin.c **** //电池循环次数查询
  916. 609 .loc 1 124 9
  917. 610 0388 55E0 b .L13
  918. 611 .L17:
  919. 612 038a 54E0 b .L13
  920. 613 .L7:
  921. 614 038c BB68 ldr r3, [r7, #8]
  922. 615 038e 1B88 ldrh r3, [r3] @ unaligned
  923. 616 0390 9BB2 uxth r3, r3
  924. 127:user_src/soft_herewin.c **** break;
  925. 617 .loc 1 127 9
  926. 618 0392 2D4A ldr r2, .L32+8
  927. 619 0394 A2F83330 strh r3, [r2, #51] @ unaligned
  928. 128:user_src/soft_herewin.c **** //充电请求
  929. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 17
  930. 620 .loc 1 128 9
  931. 621 0398 4DE0 b .L13
  932. 622 .L5:
  933. 623 039a BB68 ldr r3, [r7, #8]
  934. 624 039c 1B88 ldrh r3, [r3] @ unaligned
  935. 625 039e 9BB2 uxth r3, r3
  936. 131:user_src/soft_herewin.c **** memcpy(&herewin_info.re_ele,&data[2],2);
  937. 626 .loc 1 131 9
  938. 627 03a0 294A ldr r2, .L32+8
  939. 628 03a2 A2F83530 strh r3, [r2, #53] @ unaligned
  940. 132:user_src/soft_herewin.c **** memcpy(&herewin_info.max_vol,&data[4],2);
  941. 629 .loc 1 132 37
  942. 630 03a6 BB68 ldr r3, [r7, #8]
  943. 631 03a8 0233 adds r3, r3, #2
  944. 632 03aa 1B88 ldrh r3, [r3] @ unaligned
  945. 633 03ac 9BB2 uxth r3, r3
  946. 132:user_src/soft_herewin.c **** memcpy(&herewin_info.max_vol,&data[4],2);
  947. 634 .loc 1 132 9
  948. 635 03ae 264A ldr r2, .L32+8
  949. 636 03b0 A2F83730 strh r3, [r2, #55] @ unaligned
  950. 133:user_src/soft_herewin.c **** memcpy(&herewin_info.power_status,&data[6],2);
  951. 637 .loc 1 133 38
  952. 638 03b4 BB68 ldr r3, [r7, #8]
  953. 639 03b6 0433 adds r3, r3, #4
  954. 640 03b8 1B88 ldrh r3, [r3] @ unaligned
  955. 641 03ba 9BB2 uxth r3, r3
  956. 133:user_src/soft_herewin.c **** memcpy(&herewin_info.power_status,&data[6],2);
  957. 642 .loc 1 133 9
  958. 643 03bc 224A ldr r2, .L32+8
  959. 644 03be A2F83930 strh r3, [r2, #57] @ unaligned
  960. 134:user_src/soft_herewin.c **** break;
  961. 645 .loc 1 134 43
  962. 646 03c2 BB68 ldr r3, [r7, #8]
  963. 647 03c4 0633 adds r3, r3, #6
  964. 648 03c6 1B88 ldrh r3, [r3] @ unaligned
  965. 649 03c8 9BB2 uxth r3, r3
  966. 134:user_src/soft_herewin.c **** break;
  967. 650 .loc 1 134 9
  968. 651 03ca 1F4A ldr r2, .L32+8
  969. 652 03cc A2F83B30 strh r3, [r2, #59] @ unaligned
  970. 135:user_src/soft_herewin.c **** //告警信�
  971. 653 .loc 1 135 9
  972. 654 03d0 31E0 b .L13
  973. 655 .L6:
  974. 656 03d2 BB68 ldr r3, [r7, #8]
  975. 657 03d4 1B88 ldrh r3, [r3] @ unaligned
  976. 658 03d6 9BB2 uxth r3, r3
  977. 138:user_src/soft_herewin.c **** memcpy(&herewin_info.warn_info,&data[2],2);
  978. 659 .loc 1 138 9
  979. 660 03d8 1B4A ldr r2, .L32+8
  980. 661 03da A2F81F30 strh r3, [r2, #31] @ unaligned
  981. 139:user_src/soft_herewin.c **** break;
  982. 662 .loc 1 139 40
  983. 663 03de BB68 ldr r3, [r7, #8]
  984. 664 03e0 0233 adds r3, r3, #2
  985. 665 03e2 1B88 ldrh r3, [r3] @ unaligned
  986. 666 03e4 9BB2 uxth r3, r3
  987. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 18
  988. 139:user_src/soft_herewin.c **** break;
  989. 667 .loc 1 139 9
  990. 668 03e6 184A ldr r2, .L32+8
  991. 669 03e8 A2F82130 strh r3, [r2, #33] @ unaligned
  992. 140:user_src/soft_herewin.c **** //电� 电压信�
  993. 670 .loc 1 140 9
  994. 671 03ec 23E0 b .L13
  995. 672 .L4:
  996. 673 03ee BB68 ldr r3, [r7, #8]
  997. 674 03f0 1B88 ldrh r3, [r3] @ unaligned
  998. 675 03f2 9BB2 uxth r3, r3
  999. 143:user_src/soft_herewin.c **** memcpy(&herewin_info.tolal_ele,&data[2],2);
  1000. 676 .loc 1 143 9
  1001. 677 03f4 144A ldr r2, .L32+8
  1002. 678 03f6 A2F82330 strh r3, [r2, #35] @ unaligned
  1003. 144:user_src/soft_herewin.c **** memcpy(&herewin_info.SOC_info,&data[4],1);
  1004. 679 .loc 1 144 40
  1005. 680 03fa BB68 ldr r3, [r7, #8]
  1006. 681 03fc 0233 adds r3, r3, #2
  1007. 682 03fe 1B88 ldrh r3, [r3] @ unaligned
  1008. 683 0400 9BB2 uxth r3, r3
  1009. 144:user_src/soft_herewin.c **** memcpy(&herewin_info.SOC_info,&data[4],1);
  1010. 684 .loc 1 144 9
  1011. 685 0402 114A ldr r2, .L32+8
  1012. 686 0404 A2F82530 strh r3, [r2, #37] @ unaligned
  1013. 145:user_src/soft_herewin.c **** memcpy(&herewin_info.SOH_info,&data[5],1);
  1014. 687 .loc 1 145 39
  1015. 688 0408 BB68 ldr r3, [r7, #8]
  1016. 689 040a 0433 adds r3, r3, #4
  1017. 690 040c 1A78 ldrb r2, [r3] @ zero_extendqisi2
  1018. 145:user_src/soft_herewin.c **** memcpy(&herewin_info.SOH_info,&data[5],1);
  1019. 691 .loc 1 145 9
  1020. 692 040e 0E4B ldr r3, .L32+8
  1021. 693 0410 83F82720 strb r2, [r3, #39]
  1022. 146:user_src/soft_herewin.c **** memcpy(&herewin_info.SOP_info,&data[6],2);
  1023. 694 .loc 1 146 39
  1024. 695 0414 BB68 ldr r3, [r7, #8]
  1025. 696 0416 0533 adds r3, r3, #5
  1026. 697 0418 1A78 ldrb r2, [r3] @ zero_extendqisi2
  1027. 146:user_src/soft_herewin.c **** memcpy(&herewin_info.SOP_info,&data[6],2);
  1028. 698 .loc 1 146 9
  1029. 699 041a 0B4B ldr r3, .L32+8
  1030. 700 041c 83F82820 strb r2, [r3, #40]
  1031. 147:user_src/soft_herewin.c **** break;
  1032. 701 .loc 1 147 39
  1033. 702 0420 BB68 ldr r3, [r7, #8]
  1034. 703 0422 0633 adds r3, r3, #6
  1035. 704 0424 1B88 ldrh r3, [r3] @ unaligned
  1036. 705 0426 9BB2 uxth r3, r3
  1037. 147:user_src/soft_herewin.c **** break;
  1038. 706 .loc 1 147 9
  1039. 707 0428 074A ldr r2, .L32+8
  1040. 708 042a A2F82930 strh r3, [r2, #41] @ unaligned
  1041. 148:user_src/soft_herewin.c **** default:
  1042. 709 .loc 1 148 9
  1043. 710 042e 02E0 b .L13
  1044. 711 .L27:
  1045. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 19
  1046. 712 .loc 1 150 9
  1047. 713 0430 00BF nop
  1048. 714 0432 00E0 b .L29
  1049. 715 .L28:
  1050. 44:user_src/soft_herewin.c ****
  1051. 716 .loc 1 44 9
  1052. 717 0434 00BF nop
  1053. 718 .L13:
  1054. 719 .L29:
  1055. 151:user_src/soft_herewin.c **** }
  1056. 152:user_src/soft_herewin.c **** }
  1057. 720 .loc 1 152 1
  1058. 721 0436 00BF nop
  1059. 722 0438 1837 adds r7, r7, #24
  1060. 723 .LCFI3:
  1061. 724 .cfi_def_cfa_offset 8
  1062. 725 043a BD46 mov sp, r7
  1063. 726 .LCFI4:
  1064. 727 .cfi_def_cfa_register 13
  1065. 728 @ sp needed
  1066. 729 043c 80BD pop {r7, pc}
  1067. 730 .L33:
  1068. 731 043e 00BF .align 2
  1069. 732 .L32:
  1070. 733 0440 00000000 .word can_info
  1071. 734 0444 03000000 .word herewin_info+3
  1072. 735 0448 00000000 .word herewin_info
  1073. 736 .cfi_endproc
  1074. 737 .LFE130:
  1075. 739 .section .rodata
  1076. 740 .align 2
  1077. 741 .LC0:
  1078. 742 0000 00000001 .ascii "\000\000\000\001\000\000\000\001"
  1079. 742 00000001
  1080. 743 .section .text.send_msg_to_herewin,"ax",%progbits
  1081. 744 .align 1
  1082. 745 .global send_msg_to_herewin
  1083. 746 .syntax unified
  1084. 747 .thumb
  1085. 748 .thumb_func
  1086. 750 send_msg_to_herewin:
  1087. 751 .LFB131:
  1088. 153:user_src/soft_herewin.c ****
  1089. 154:user_src/soft_herewin.c ****
  1090. 155:user_src/soft_herewin.c **** /**
  1091. 156:user_src/soft_herewin.c **** * @brief 给海盈��数�信�
  1092. 157:user_src/soft_herewin.c **** */
  1093. 158:user_src/soft_herewin.c **** //海盈电池收ä¸�到心跳包20分å�Žå�œæ­¢ä¸»åЍå�‘é€�æ•°æ�® 2000ms周期给海盈电池å�‘é€�å
  1094. 159:user_src/soft_herewin.c **** void send_msg_to_herewin(void)
  1095. 160:user_src/soft_herewin.c **** {
  1096. 752 .loc 1 160 1
  1097. 753 .cfi_startproc
  1098. 754 @ args = 0, pretend = 0, frame = 24
  1099. 755 @ frame_needed = 1, uses_anonymous_args = 0
  1100. 756 0000 80B5 push {r7, lr}
  1101. 757 .LCFI5:
  1102. 758 .cfi_def_cfa_offset 8
  1103. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 20
  1104. 759 .cfi_offset 7, -8
  1105. 760 .cfi_offset 14, -4
  1106. 761 0002 86B0 sub sp, sp, #24
  1107. 762 .LCFI6:
  1108. 763 .cfi_def_cfa_offset 32
  1109. 764 0004 00AF add r7, sp, #0
  1110. 765 .LCFI7:
  1111. 766 .cfi_def_cfa_register 7
  1112. 161:user_src/soft_herewin.c **** static uint32_t herewin_heart_time = 0;
  1113. 162:user_src/soft_herewin.c **** static uint32_t herewin_vol_time = 0;
  1114. 163:user_src/soft_herewin.c ****
  1115. 164:user_src/soft_herewin.c **** static uint8_t heart_num_count = 0;
  1116. 165:user_src/soft_herewin.c ****
  1117. 166:user_src/soft_herewin.c **** if(Herewin_Link.connect_status == COMP_NORMAL)
  1118. 767 .loc 1 166 20
  1119. 768 0006 374B ldr r3, .L39
  1120. 769 0008 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2
  1121. 770 .loc 1 166 7
  1122. 771 000a 012B cmp r3, #1
  1123. 772 000c 42D1 bne .L35
  1124. 167:user_src/soft_herewin.c **** {
  1125. 168:user_src/soft_herewin.c **** //2000ms��心跳包
  1126. 169:user_src/soft_herewin.c **** if(HAL_GetTick() - herewin_heart_time > 2000)
  1127. 773 .loc 1 169 12
  1128. 774 000e FFF7FEFF bl HAL_GetTick
  1129. 775 0012 0246 mov r2, r0
  1130. 776 .loc 1 169 26
  1131. 777 0014 344B ldr r3, .L39+4
  1132. 778 0016 1B68 ldr r3, [r3]
  1133. 779 0018 D31A subs r3, r2, r3
  1134. 780 .loc 1 169 11
  1135. 781 001a B3F5FA6F cmp r3, #2000
  1136. 782 001e 12D9 bls .L36
  1137. 783 .LBB2:
  1138. 170:user_src/soft_herewin.c **** {
  1139. 171:user_src/soft_herewin.c **** uint8_t heart_buf[8] = {0x00,0x00,0x00,0x01,
  1140. 784 .loc 1 171 21
  1141. 785 0020 324A ldr r2, .L39+8
  1142. 786 0022 07F11003 add r3, r7, #16
  1143. 787 0026 92E80300 ldm r2, {r0, r1}
  1144. 788 002a 83E80300 stm r3, {r0, r1}
  1145. 172:user_src/soft_herewin.c **** 0x00,0x00,0x00,0x01};
  1146. 173:user_src/soft_herewin.c **** can_send_msg_normal(heart_buf, 8, HEREWIN_HEART_ID);
  1147. 789 .loc 1 173 13
  1148. 790 002e 07F11003 add r3, r7, #16
  1149. 791 0032 2F4A ldr r2, .L39+12
  1150. 792 0034 0821 movs r1, #8
  1151. 793 0036 1846 mov r0, r3
  1152. 794 0038 FFF7FEFF bl can_send_msg_normal
  1153. 174:user_src/soft_herewin.c ****
  1154. 175:user_src/soft_herewin.c **** herewin_heart_time = HAL_GetTick();
  1155. 795 .loc 1 175 34
  1156. 796 003c FFF7FEFF bl HAL_GetTick
  1157. 797 0040 0346 mov r3, r0
  1158. 798 .loc 1 175 32
  1159. 799 0042 294A ldr r2, .L39+4
  1160. 800 0044 1360 str r3, [r2]
  1161. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 21
  1162. 801 .L36:
  1163. 802 .LBE2:
  1164. 176:user_src/soft_herewin.c **** }
  1165. 177:user_src/soft_herewin.c **** //1000ms���体电压请求 和�体温度请求 ��5次电芯个数
  1166. 178:user_src/soft_herewin.c **** if(HAL_GetTick() - herewin_vol_time > 1000)
  1167. 803 .loc 1 178 12
  1168. 804 0046 FFF7FEFF bl HAL_GetTick
  1169. 805 004a 0246 mov r2, r0
  1170. 806 .loc 1 178 26
  1171. 807 004c 294B ldr r3, .L39+16
  1172. 808 004e 1B68 ldr r3, [r3]
  1173. 809 0050 D31A subs r3, r2, r3
  1174. 810 .loc 1 178 11
  1175. 811 0052 B3F57A7F cmp r3, #1000
  1176. 812 0056 41D9 bls .L38
  1177. 813 .LBB3:
  1178. 179:user_src/soft_herewin.c **** {
  1179. 180:user_src/soft_herewin.c **** uint8_t herewin_num = 8;
  1180. 814 .loc 1 180 21
  1181. 815 0058 0823 movs r3, #8
  1182. 816 005a FB73 strb r3, [r7, #15]
  1183. 181:user_src/soft_herewin.c **** can_send_msg_normal(0, 0, HEREWIN_VOL_ID);
  1184. 817 .loc 1 181 13
  1185. 818 005c 264A ldr r2, .L39+20
  1186. 819 005e 0021 movs r1, #0
  1187. 820 0060 0020 movs r0, #0
  1188. 821 0062 FFF7FEFF bl can_send_msg_normal
  1189. 182:user_src/soft_herewin.c **** can_send_msg_normal(0, 0, HEREWIN_TEM_ID);
  1190. 822 .loc 1 182 13
  1191. 823 0066 254A ldr r2, .L39+24
  1192. 824 0068 0021 movs r1, #0
  1193. 825 006a 0020 movs r0, #0
  1194. 826 006c FFF7FEFF bl can_send_msg_normal
  1195. 183:user_src/soft_herewin.c **** //请求5次电芯个数 5次循环次数
  1196. 184:user_src/soft_herewin.c ****
  1197. 185:user_src/soft_herewin.c **** can_send_msg_normal(&herewin_num, 1, HEREWIN_SEARCH_ID);
  1198. 827 .loc 1 185 13
  1199. 828 0070 07F10F03 add r3, r7, #15
  1200. 829 0074 224A ldr r2, .L39+28
  1201. 830 0076 0121 movs r1, #1
  1202. 831 0078 1846 mov r0, r3
  1203. 832 007a FFF7FEFF bl can_send_msg_normal
  1204. 186:user_src/soft_herewin.c **** can_send_msg_normal(0, 0, HEREWIN_CIRCULATION_ID);
  1205. 833 .loc 1 186 13
  1206. 834 007e 214A ldr r2, .L39+32
  1207. 835 0080 0021 movs r1, #0
  1208. 836 0082 0020 movs r0, #0
  1209. 837 0084 FFF7FEFF bl can_send_msg_normal
  1210. 187:user_src/soft_herewin.c **** herewin_vol_time = HAL_GetTick();
  1211. 838 .loc 1 187 32
  1212. 839 0088 FFF7FEFF bl HAL_GetTick
  1213. 840 008c 0346 mov r3, r0
  1214. 841 .loc 1 187 30
  1215. 842 008e 194A ldr r2, .L39+16
  1216. 843 0090 1360 str r3, [r2]
  1217. 844 .LBE3:
  1218. 188:user_src/soft_herewin.c ****
  1219. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 22
  1220. 189:user_src/soft_herewin.c **** }
  1221. 190:user_src/soft_herewin.c ****
  1222. 191:user_src/soft_herewin.c **** }
  1223. 192:user_src/soft_herewin.c **** else
  1224. 193:user_src/soft_herewin.c **** {
  1225. 194:user_src/soft_herewin.c **** //上电时先��5次心跳包 防止电池休眠
  1226. 195:user_src/soft_herewin.c **** if(HAL_GetTick() - herewin_heart_time > 2000 && heart_num_count > 0)
  1227. 196:user_src/soft_herewin.c **** {
  1228. 197:user_src/soft_herewin.c **** uint8_t heart_buf[8] = {0x00,0x00,0x00,0x01,
  1229. 198:user_src/soft_herewin.c **** 0x00,0x00,0x00,0x01};
  1230. 199:user_src/soft_herewin.c **** can_send_msg_normal(heart_buf, 8, HEREWIN_HEART_ID);
  1231. 200:user_src/soft_herewin.c ****
  1232. 201:user_src/soft_herewin.c **** herewin_heart_time = HAL_GetTick();
  1233. 202:user_src/soft_herewin.c ****
  1234. 203:user_src/soft_herewin.c **** heart_num_count--;
  1235. 204:user_src/soft_herewin.c **** }
  1236. 205:user_src/soft_herewin.c **** }
  1237. 206:user_src/soft_herewin.c ****
  1238. 207:user_src/soft_herewin.c **** }
  1239. 845 .loc 1 207 1
  1240. 846 0092 23E0 b .L38
  1241. 847 .L35:
  1242. 195:user_src/soft_herewin.c **** {
  1243. 848 .loc 1 195 12
  1244. 849 0094 FFF7FEFF bl HAL_GetTick
  1245. 850 0098 0246 mov r2, r0
  1246. 195:user_src/soft_herewin.c **** {
  1247. 851 .loc 1 195 26
  1248. 852 009a 134B ldr r3, .L39+4
  1249. 853 009c 1B68 ldr r3, [r3]
  1250. 854 009e D31A subs r3, r2, r3
  1251. 195:user_src/soft_herewin.c **** {
  1252. 855 .loc 1 195 11
  1253. 856 00a0 B3F5FA6F cmp r3, #2000
  1254. 857 00a4 1AD9 bls .L38
  1255. 195:user_src/soft_herewin.c **** {
  1256. 858 .loc 1 195 74 discriminator 1
  1257. 859 00a6 184B ldr r3, .L39+36
  1258. 860 00a8 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1259. 195:user_src/soft_herewin.c **** {
  1260. 861 .loc 1 195 55 discriminator 1
  1261. 862 00aa 002B cmp r3, #0
  1262. 863 00ac 16D0 beq .L38
  1263. 864 .LBB4:
  1264. 197:user_src/soft_herewin.c **** 0x00,0x00,0x00,0x01};
  1265. 865 .loc 1 197 21
  1266. 866 00ae 0F4A ldr r2, .L39+8
  1267. 867 00b0 3B1D adds r3, r7, #4
  1268. 868 00b2 92E80300 ldm r2, {r0, r1}
  1269. 869 00b6 83E80300 stm r3, {r0, r1}
  1270. 199:user_src/soft_herewin.c ****
  1271. 870 .loc 1 199 13
  1272. 871 00ba 3B1D adds r3, r7, #4
  1273. 872 00bc 0C4A ldr r2, .L39+12
  1274. 873 00be 0821 movs r1, #8
  1275. 874 00c0 1846 mov r0, r3
  1276. 875 00c2 FFF7FEFF bl can_send_msg_normal
  1277. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 23
  1278. 201:user_src/soft_herewin.c ****
  1279. 876 .loc 1 201 34
  1280. 877 00c6 FFF7FEFF bl HAL_GetTick
  1281. 878 00ca 0346 mov r3, r0
  1282. 201:user_src/soft_herewin.c ****
  1283. 879 .loc 1 201 32
  1284. 880 00cc 064A ldr r2, .L39+4
  1285. 881 00ce 1360 str r3, [r2]
  1286. 203:user_src/soft_herewin.c **** }
  1287. 882 .loc 1 203 28
  1288. 883 00d0 0D4B ldr r3, .L39+36
  1289. 884 00d2 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1290. 885 00d4 013B subs r3, r3, #1
  1291. 886 00d6 DAB2 uxtb r2, r3
  1292. 887 00d8 0B4B ldr r3, .L39+36
  1293. 888 00da 1A70 strb r2, [r3]
  1294. 889 .L38:
  1295. 890 .LBE4:
  1296. 891 .loc 1 207 1
  1297. 892 00dc 00BF nop
  1298. 893 00de 1837 adds r7, r7, #24
  1299. 894 .LCFI8:
  1300. 895 .cfi_def_cfa_offset 8
  1301. 896 00e0 BD46 mov sp, r7
  1302. 897 .LCFI9:
  1303. 898 .cfi_def_cfa_register 13
  1304. 899 @ sp needed
  1305. 900 00e2 80BD pop {r7, pc}
  1306. 901 .L40:
  1307. 902 .align 2
  1308. 903 .L39:
  1309. 904 00e4 00000000 .word Herewin_Link
  1310. 905 00e8 00000000 .word herewin_heart_time.2
  1311. 906 00ec 00000000 .word .LC0
  1312. 907 00f0 F0004300 .word 4391152
  1313. 908 00f4 00000000 .word herewin_vol_time.1
  1314. 909 00f8 F0008400 .word 8650992
  1315. 910 00fc F0008200 .word 8519920
  1316. 911 0100 F0008000 .word 8388848
  1317. 912 0104 F0008600 .word 8782064
  1318. 913 0108 00000000 .word heart_num_count.0
  1319. 914 .cfi_endproc
  1320. 915 .LFE131:
  1321. 917 .section .bss.herewin_heart_time.2,"aw",%nobits
  1322. 918 .align 2
  1323. 921 herewin_heart_time.2:
  1324. 922 0000 00000000 .space 4
  1325. 923 .section .bss.herewin_vol_time.1,"aw",%nobits
  1326. 924 .align 2
  1327. 927 herewin_vol_time.1:
  1328. 928 0000 00000000 .space 4
  1329. 929 .section .bss.heart_num_count.0,"aw",%nobits
  1330. 932 heart_num_count.0:
  1331. 933 0000 00 .space 1
  1332. 934 .text
  1333. 935 .Letext0:
  1334. 936 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  1335. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 24
  1336. 937 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  1337. 938 .file 4 "user_inc/common.h"
  1338. 939 .file 5 "user_inc/soft_herewin.h"
  1339. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s page 25
  1340. DEFINED SYMBOLS
  1341. *ABS*:00000000 soft_herewin.c
  1342. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:24 .bss.herewin_info:00000000 herewin_info
  1343. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:21 .bss.herewin_info:00000000 $d
  1344. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:31 .bss.Herewin_Link:00000000 Herewin_Link
  1345. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:28 .bss.Herewin_Link:00000000 $d
  1346. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:38 .bss.can_info:00000000 can_info
  1347. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:35 .bss.can_info:00000000 $d
  1348. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:41 .text.HerewinCanRecvHookFunction:00000000 $t
  1349. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:47 .text.HerewinCanRecvHookFunction:00000000 HerewinCanRecvHookFunction
  1350. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:112 .text.HerewinCanRecvHookFunction:0000005c $d
  1351. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:119 .text.HerewinCanRecvHookFunction:00000078 $t
  1352. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:486 .text.HerewinCanRecvHookFunction:000002b8 $d
  1353. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:492 .text.HerewinCanRecvHookFunction:000002c8 $t
  1354. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:733 .text.HerewinCanRecvHookFunction:00000440 $d
  1355. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:740 .rodata:00000000 $d
  1356. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:744 .text.send_msg_to_herewin:00000000 $t
  1357. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:750 .text.send_msg_to_herewin:00000000 send_msg_to_herewin
  1358. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:904 .text.send_msg_to_herewin:000000e4 $d
  1359. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:921 .bss.herewin_heart_time.2:00000000 herewin_heart_time.2
  1360. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:927 .bss.herewin_vol_time.1:00000000 herewin_vol_time.1
  1361. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:932 .bss.heart_num_count.0:00000000 heart_num_count.0
  1362. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:918 .bss.herewin_heart_time.2:00000000 $d
  1363. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:924 .bss.herewin_vol_time.1:00000000 $d
  1364. C:\Users\zl835\AppData\Local\Temp\ccrAnrjG.s:933 .bss.heart_num_count.0:00000000 $d
  1365. UNDEFINED SYMBOLS
  1366. HAL_GetTick
  1367. memset
  1368. memcpy
  1369. can_send_msg_normal