qingxie_bms.lst 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.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 "qingxie_bms.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .global _qx_bms
  21. 20 .section .bss._qx_bms,"aw",%nobits
  22. 21 .align 2
  23. 24 _qx_bms:
  24. 25 0000 00000000 .space 88
  25. 25 00000000
  26. 25 00000000
  27. 25 00000000
  28. 25 00000000
  29. 26 .section .text.send_info_to_Qx,"ax",%progbits
  30. 27 .align 1
  31. 28 .global send_info_to_Qx
  32. 29 .syntax unified
  33. 30 .thumb
  34. 31 .thumb_func
  35. 33 send_info_to_Qx:
  36. 34 .LFB133:
  37. 35 .file 1 "user_src/qingxie_bms.c"
  38. 1:user_src/qingxie_bms.c **** #include "qingxie_bms.h"
  39. 2:user_src/qingxie_bms.c **** #include "common.h"
  40. 3:user_src/qingxie_bms.c **** #include "soft_p_2_c.h"
  41. 4:user_src/qingxie_bms.c **** #include "soft_can.h"
  42. 5:user_src/qingxie_bms.c **** qingxie_bms_status_t _qx_bms[4] = {0};
  43. 6:user_src/qingxie_bms.c ****
  44. 7:user_src/qingxie_bms.c ****
  45. 8:user_src/qingxie_bms.c **** void send_info_to_Qx(void)
  46. 9:user_src/qingxie_bms.c **** {
  47. 36 .loc 1 9 1
  48. 37 .cfi_startproc
  49. 38 @ args = 0, pretend = 0, frame = 8
  50. 39 @ frame_needed = 1, uses_anonymous_args = 0
  51. 40 0000 80B5 push {r7, lr}
  52. 41 .LCFI0:
  53. 42 .cfi_def_cfa_offset 8
  54. 43 .cfi_offset 7, -8
  55. 44 .cfi_offset 14, -4
  56. 45 0002 82B0 sub sp, sp, #8
  57. 46 .LCFI1:
  58. 47 .cfi_def_cfa_offset 16
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s page 2
  60. 48 0004 00AF add r7, sp, #0
  61. 49 .LCFI2:
  62. 50 .cfi_def_cfa_register 7
  63. 10:user_src/qingxie_bms.c **** if(_Aqx_bms_link.connect_status != COMP_NORMAL)
  64. 51 .loc 1 10 19
  65. 52 0006 1E4B ldr r3, .L8
  66. 53 0008 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2
  67. 54 .loc 1 10 5
  68. 55 000a 012B cmp r3, #1
  69. 56 000c 33D1 bne .L7
  70. 11:user_src/qingxie_bms.c **** return;
  71. 12:user_src/qingxie_bms.c ****
  72. 13:user_src/qingxie_bms.c **** uint8_t can_buf[8] = {0};
  73. 57 .loc 1 13 11
  74. 58 000e 0023 movs r3, #0
  75. 59 0010 3B60 str r3, [r7]
  76. 60 0012 0023 movs r3, #0
  77. 61 0014 7B60 str r3, [r7, #4]
  78. 14:user_src/qingxie_bms.c ****
  79. 15:user_src/qingxie_bms.c **** if(planep.lock_status == 0)
  80. 62 .loc 1 15 12
  81. 63 0016 1B4B ldr r3, .L8+4
  82. 64 0018 B3F90E30 ldrsh r3, [r3, #14] @ unaligned
  83. 65 001c 1BB2 sxth r3, r3
  84. 66 .loc 1 15 5
  85. 67 001e 002B cmp r3, #0
  86. 68 0020 02D1 bne .L4
  87. 16:user_src/qingxie_bms.c **** can_buf[0] = 0;
  88. 69 .loc 1 16 16
  89. 70 0022 0023 movs r3, #0
  90. 71 0024 3B70 strb r3, [r7]
  91. 72 0026 10E0 b .L5
  92. 73 .L4:
  93. 17:user_src/qingxie_bms.c **** else if(planep.lock_status == 1)
  94. 74 .loc 1 17 17
  95. 75 0028 164B ldr r3, .L8+4
  96. 76 002a B3F90E30 ldrsh r3, [r3, #14] @ unaligned
  97. 77 002e 1BB2 sxth r3, r3
  98. 78 .loc 1 17 10
  99. 79 0030 012B cmp r3, #1
  100. 80 0032 02D1 bne .L6
  101. 18:user_src/qingxie_bms.c **** can_buf[0] = 1;
  102. 81 .loc 1 18 16
  103. 82 0034 0123 movs r3, #1
  104. 83 0036 3B70 strb r3, [r7]
  105. 84 0038 07E0 b .L5
  106. 85 .L6:
  107. 19:user_src/qingxie_bms.c **** else if(planep.lock_status == 4)
  108. 86 .loc 1 19 17
  109. 87 003a 124B ldr r3, .L8+4
  110. 88 003c B3F90E30 ldrsh r3, [r3, #14] @ unaligned
  111. 89 0040 1BB2 sxth r3, r3
  112. 90 .loc 1 19 10
  113. 91 0042 042B cmp r3, #4
  114. 92 0044 01D1 bne .L5
  115. 20:user_src/qingxie_bms.c **** can_buf[0] = 2;
  116. 93 .loc 1 20 16
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s page 3
  118. 94 0046 0223 movs r3, #2
  119. 95 0048 3B70 strb r3, [r7]
  120. 96 .L5:
  121. 21:user_src/qingxie_bms.c ****
  122. 22:user_src/qingxie_bms.c **** can_buf[1] = (planep.thr_pwm - 1000) / 10;
  123. 97 .loc 1 22 23
  124. 98 004a 0E4B ldr r3, .L8+4
  125. 99 004c B3F91230 ldrsh r3, [r3, #18] @ unaligned
  126. 100 0050 1BB2 sxth r3, r3
  127. 101 .loc 1 22 32
  128. 102 0052 A3F57A73 sub r3, r3, #1000
  129. 103 .loc 1 22 40
  130. 104 0056 0C4A ldr r2, .L8+8
  131. 105 0058 82FB0312 smull r1, r2, r2, r3
  132. 106 005c 9210 asrs r2, r2, #2
  133. 107 005e DB17 asrs r3, r3, #31
  134. 108 0060 D31A subs r3, r2, r3
  135. 109 .loc 1 22 14
  136. 110 0062 DBB2 uxtb r3, r3
  137. 111 0064 7B70 strb r3, [r7, #1]
  138. 23:user_src/qingxie_bms.c ****
  139. 24:user_src/qingxie_bms.c **** can_send_msg_normal(&can_buf[0], 8, 0x66B);
  140. 112 .loc 1 24 3
  141. 113 0066 3B46 mov r3, r7
  142. 114 0068 40F26B62 movw r2, #1643
  143. 115 006c 0821 movs r1, #8
  144. 116 006e 1846 mov r0, r3
  145. 117 0070 FFF7FEFF bl can_send_msg_normal
  146. 118 0074 00E0 b .L1
  147. 119 .L7:
  148. 11:user_src/qingxie_bms.c ****
  149. 120 .loc 1 11 5
  150. 121 0076 00BF nop
  151. 122 .L1:
  152. 25:user_src/qingxie_bms.c **** }
  153. 123 .loc 1 25 1
  154. 124 0078 0837 adds r7, r7, #8
  155. 125 .LCFI3:
  156. 126 .cfi_def_cfa_offset 8
  157. 127 007a BD46 mov sp, r7
  158. 128 .LCFI4:
  159. 129 .cfi_def_cfa_register 13
  160. 130 @ sp needed
  161. 131 007c 80BD pop {r7, pc}
  162. 132 .L9:
  163. 133 007e 00BF .align 2
  164. 134 .L8:
  165. 135 0080 00000000 .word _Aqx_bms_link
  166. 136 0084 00000000 .word planep
  167. 137 0088 67666666 .word 1717986919
  168. 138 .cfi_endproc
  169. 139 .LFE133:
  170. 141 .global _qx_bms_link
  171. 142 .section .bss._qx_bms_link,"aw",%nobits
  172. 143 .align 2
  173. 146 _qx_bms_link:
  174. 147 0000 00000000 .space 48
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s page 4
  176. 147 00000000
  177. 147 00000000
  178. 147 00000000
  179. 147 00000000
  180. 148 .global _Aqx_bms_link
  181. 149 .section .bss._Aqx_bms_link,"aw",%nobits
  182. 150 .align 2
  183. 153 _Aqx_bms_link:
  184. 154 0000 00000000 .space 12
  185. 154 00000000
  186. 154 00000000
  187. 155 .section .text.QxBmsCanRecvHookFunction,"ax",%progbits
  188. 156 .align 1
  189. 157 .global QxBmsCanRecvHookFunction
  190. 158 .syntax unified
  191. 159 .thumb
  192. 160 .thumb_func
  193. 162 QxBmsCanRecvHookFunction:
  194. 163 .LFB134:
  195. 26:user_src/qingxie_bms.c ****
  196. 27:user_src/qingxie_bms.c **** Connect_check _qx_bms_link[4] = {0};
  197. 28:user_src/qingxie_bms.c **** Connect_check _Aqx_bms_link;
  198. 29:user_src/qingxie_bms.c **** void QxBmsCanRecvHookFunction(uint32_t id, uint8_t data[], uint8_t len)
  199. 30:user_src/qingxie_bms.c **** {
  200. 164 .loc 1 30 1
  201. 165 .cfi_startproc
  202. 166 @ args = 0, pretend = 0, frame = 24
  203. 167 @ frame_needed = 1, uses_anonymous_args = 0
  204. 168 0000 80B5 push {r7, lr}
  205. 169 .LCFI5:
  206. 170 .cfi_def_cfa_offset 8
  207. 171 .cfi_offset 7, -8
  208. 172 .cfi_offset 14, -4
  209. 173 0002 86B0 sub sp, sp, #24
  210. 174 .LCFI6:
  211. 175 .cfi_def_cfa_offset 32
  212. 176 0004 00AF add r7, sp, #0
  213. 177 .LCFI7:
  214. 178 .cfi_def_cfa_register 7
  215. 179 0006 F860 str r0, [r7, #12]
  216. 180 0008 B960 str r1, [r7, #8]
  217. 181 000a 1346 mov r3, r2
  218. 182 000c FB71 strb r3, [r7, #7]
  219. 31:user_src/qingxie_bms.c **** int bms_id = 0;
  220. 183 .loc 1 31 7
  221. 184 000e 0023 movs r3, #0
  222. 185 0010 7B61 str r3, [r7, #20]
  223. 32:user_src/qingxie_bms.c ****
  224. 33:user_src/qingxie_bms.c **** _Aqx_bms_link.connect_status = COMP_NORMAL;
  225. 186 .loc 1 33 32
  226. 187 0012 9D4B ldr r3, .L27
  227. 188 0014 0122 movs r2, #1
  228. 189 0016 1A72 strb r2, [r3, #8]
  229. 34:user_src/qingxie_bms.c ****
  230. 35:user_src/qingxie_bms.c **** if (id == QINGXIE_BMS0_CAN_ID1 || id == QINGXIE_BMS1_CAN_ID1 ||
  231. 190 .loc 1 35 6
  232. 191 0018 FB68 ldr r3, [r7, #12]
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s page 5
  234. 192 001a 41F26C62 movw r2, #5740
  235. 193 001e 9342 cmp r3, r2
  236. 194 0020 0ED0 beq .L11
  237. 195 .loc 1 35 34 discriminator 1
  238. 196 0022 FB68 ldr r3, [r7, #12]
  239. 197 0024 42F26C62 movw r2, #9836
  240. 198 0028 9342 cmp r3, r2
  241. 199 002a 09D0 beq .L11
  242. 200 .loc 1 35 64 discriminator 2
  243. 201 002c FB68 ldr r3, [r7, #12]
  244. 202 002e 43F26C62 movw r2, #13932
  245. 203 0032 9342 cmp r3, r2
  246. 204 0034 04D0 beq .L11
  247. 36:user_src/qingxie_bms.c **** id == QINGXIE_BMS2_CAN_ID1 || id == QINGXIE_BMS3_CAN_ID1)
  248. 205 .loc 1 36 34
  249. 206 0036 FB68 ldr r3, [r7, #12]
  250. 207 0038 44F26C62 movw r2, #18028
  251. 208 003c 9342 cmp r3, r2
  252. 209 003e 7ED1 bne .L12
  253. 210 .L11:
  254. 37:user_src/qingxie_bms.c **** {
  255. 38:user_src/qingxie_bms.c **** if (id == QINGXIE_BMS1_CAN_ID1) {
  256. 211 .loc 1 38 8
  257. 212 0040 FB68 ldr r3, [r7, #12]
  258. 213 0042 42F26C62 movw r2, #9836
  259. 214 0046 9342 cmp r3, r2
  260. 215 0048 02D1 bne .L13
  261. 39:user_src/qingxie_bms.c **** bms_id = 1;
  262. 216 .loc 1 39 14
  263. 217 004a 0123 movs r3, #1
  264. 218 004c 7B61 str r3, [r7, #20]
  265. 219 004e 0EE0 b .L14
  266. 220 .L13:
  267. 40:user_src/qingxie_bms.c **** } else if (id == QINGXIE_BMS2_CAN_ID1) {
  268. 221 .loc 1 40 15
  269. 222 0050 FB68 ldr r3, [r7, #12]
  270. 223 0052 43F26C62 movw r2, #13932
  271. 224 0056 9342 cmp r3, r2
  272. 225 0058 02D1 bne .L15
  273. 41:user_src/qingxie_bms.c **** bms_id = 2;
  274. 226 .loc 1 41 14
  275. 227 005a 0223 movs r3, #2
  276. 228 005c 7B61 str r3, [r7, #20]
  277. 229 005e 06E0 b .L14
  278. 230 .L15:
  279. 42:user_src/qingxie_bms.c **** } else if (id == QINGXIE_BMS3_CAN_ID1) {
  280. 231 .loc 1 42 15
  281. 232 0060 FB68 ldr r3, [r7, #12]
  282. 233 0062 44F26C62 movw r2, #18028
  283. 234 0066 9342 cmp r3, r2
  284. 235 0068 01D1 bne .L14
  285. 43:user_src/qingxie_bms.c **** bms_id = 3;
  286. 236 .loc 1 43 14
  287. 237 006a 0323 movs r3, #3
  288. 238 006c 7B61 str r3, [r7, #20]
  289. 239 .L14:
  290. 44:user_src/qingxie_bms.c **** }
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s page 6
  292. 45:user_src/qingxie_bms.c **** _qx_bms_link[bms_id].connect_status = COMP_NORMAL;
  293. 240 .loc 1 45 41
  294. 241 006e 8749 ldr r1, .L27+4
  295. 242 0070 7A69 ldr r2, [r7, #20]
  296. 243 0072 1346 mov r3, r2
  297. 244 0074 5B00 lsls r3, r3, #1
  298. 245 0076 1344 add r3, r3, r2
  299. 246 0078 9B00 lsls r3, r3, #2
  300. 247 007a 0B44 add r3, r3, r1
  301. 248 007c 0833 adds r3, r3, #8
  302. 249 007e 0122 movs r2, #1
  303. 250 0080 1A70 strb r2, [r3]
  304. 46:user_src/qingxie_bms.c **** _qx_bms_link[bms_id].recv_time = HAL_GetTick();
  305. 251 .loc 1 46 38
  306. 252 0082 FFF7FEFF bl HAL_GetTick
  307. 253 0086 0146 mov r1, r0
  308. 254 .loc 1 46 36
  309. 255 0088 8048 ldr r0, .L27+4
  310. 256 008a 7A69 ldr r2, [r7, #20]
  311. 257 008c 1346 mov r3, r2
  312. 258 008e 5B00 lsls r3, r3, #1
  313. 259 0090 1344 add r3, r3, r2
  314. 260 0092 9B00 lsls r3, r3, #2
  315. 261 0094 0344 add r3, r3, r0
  316. 262 0096 1960 str r1, [r3]
  317. 47:user_src/qingxie_bms.c ****
  318. 48:user_src/qingxie_bms.c **** _qx_bms[bms_id].bat_voltage = data[1] + (data[0] << 8);
  319. 263 .loc 1 48 39
  320. 264 0098 BB68 ldr r3, [r7, #8]
  321. 265 009a 0133 adds r3, r3, #1
  322. 266 009c 1B78 ldrb r3, [r3] @ zero_extendqisi2
  323. 267 009e 9AB2 uxth r2, r3
  324. 268 .loc 1 48 50
  325. 269 00a0 BB68 ldr r3, [r7, #8]
  326. 270 00a2 1B78 ldrb r3, [r3] @ zero_extendqisi2
  327. 271 00a4 9BB2 uxth r3, r3
  328. 272 .loc 1 48 54
  329. 273 00a6 1B02 lsls r3, r3, #8
  330. 274 00a8 9BB2 uxth r3, r3
  331. 275 .loc 1 48 43
  332. 276 00aa 1344 add r3, r3, r2
  333. 277 00ac 98B2 uxth r0, r3
  334. 278 .loc 1 48 33
  335. 279 00ae 784A ldr r2, .L27+8
  336. 280 00b0 7B69 ldr r3, [r7, #20]
  337. 281 00b2 1621 movs r1, #22
  338. 282 00b4 01FB03F3 mul r3, r1, r3
  339. 283 00b8 1344 add r3, r3, r2
  340. 284 00ba 0246 mov r2, r0 @ movhi
  341. 285 00bc 1A80 strh r2, [r3] @ movhi
  342. 49:user_src/qingxie_bms.c **** _qx_bms[bms_id].servo_current = data[3] + (data[2] << 8);
  343. 286 .loc 1 49 41
  344. 287 00be BB68 ldr r3, [r7, #8]
  345. 288 00c0 0333 adds r3, r3, #3
  346. 289 00c2 1B78 ldrb r3, [r3] @ zero_extendqisi2
  347. 290 00c4 9AB2 uxth r2, r3
  348. 291 .loc 1 49 52
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s page 7
  350. 292 00c6 BB68 ldr r3, [r7, #8]
  351. 293 00c8 0233 adds r3, r3, #2
  352. 294 00ca 1B78 ldrb r3, [r3] @ zero_extendqisi2
  353. 295 00cc 9BB2 uxth r3, r3
  354. 296 .loc 1 49 56
  355. 297 00ce 1B02 lsls r3, r3, #8
  356. 298 00d0 9BB2 uxth r3, r3
  357. 299 .loc 1 49 45
  358. 300 00d2 1344 add r3, r3, r2
  359. 301 00d4 98B2 uxth r0, r3
  360. 302 .loc 1 49 35
  361. 303 00d6 6E4A ldr r2, .L27+8
  362. 304 00d8 7B69 ldr r3, [r7, #20]
  363. 305 00da 1621 movs r1, #22
  364. 306 00dc 01FB03F3 mul r3, r1, r3
  365. 307 00e0 1344 add r3, r3, r2
  366. 308 00e2 0233 adds r3, r3, #2
  367. 309 00e4 0246 mov r2, r0 @ movhi
  368. 310 00e6 1A80 strh r2, [r3] @ movhi
  369. 50:user_src/qingxie_bms.c **** _qx_bms[bms_id].stack_voltage = data[5] + (data[4] << 8);
  370. 311 .loc 1 50 41
  371. 312 00e8 BB68 ldr r3, [r7, #8]
  372. 313 00ea 0533 adds r3, r3, #5
  373. 314 00ec 1B78 ldrb r3, [r3] @ zero_extendqisi2
  374. 315 00ee 9AB2 uxth r2, r3
  375. 316 .loc 1 50 52
  376. 317 00f0 BB68 ldr r3, [r7, #8]
  377. 318 00f2 0433 adds r3, r3, #4
  378. 319 00f4 1B78 ldrb r3, [r3] @ zero_extendqisi2
  379. 320 00f6 9BB2 uxth r3, r3
  380. 321 .loc 1 50 56
  381. 322 00f8 1B02 lsls r3, r3, #8
  382. 323 00fa 9BB2 uxth r3, r3
  383. 324 .loc 1 50 45
  384. 325 00fc 1344 add r3, r3, r2
  385. 326 00fe 98B2 uxth r0, r3
  386. 327 .loc 1 50 35
  387. 328 0100 634A ldr r2, .L27+8
  388. 329 0102 7B69 ldr r3, [r7, #20]
  389. 330 0104 1621 movs r1, #22
  390. 331 0106 01FB03F3 mul r3, r1, r3
  391. 332 010a 1344 add r3, r3, r2
  392. 333 010c 0433 adds r3, r3, #4
  393. 334 010e 0246 mov r2, r0 @ movhi
  394. 335 0110 1A80 strh r2, [r3] @ movhi
  395. 51:user_src/qingxie_bms.c **** _qx_bms[bms_id].servo_voltage = data[7] + (data[6] << 8);
  396. 336 .loc 1 51 41
  397. 337 0112 BB68 ldr r3, [r7, #8]
  398. 338 0114 0733 adds r3, r3, #7
  399. 339 0116 1B78 ldrb r3, [r3] @ zero_extendqisi2
  400. 340 0118 9AB2 uxth r2, r3
  401. 341 .loc 1 51 52
  402. 342 011a BB68 ldr r3, [r7, #8]
  403. 343 011c 0633 adds r3, r3, #6
  404. 344 011e 1B78 ldrb r3, [r3] @ zero_extendqisi2
  405. 345 0120 9BB2 uxth r3, r3
  406. 346 .loc 1 51 56
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s page 8
  408. 347 0122 1B02 lsls r3, r3, #8
  409. 348 0124 9BB2 uxth r3, r3
  410. 349 .loc 1 51 45
  411. 350 0126 1344 add r3, r3, r2
  412. 351 0128 98B2 uxth r0, r3
  413. 352 .loc 1 51 35
  414. 353 012a 594A ldr r2, .L27+8
  415. 354 012c 7B69 ldr r3, [r7, #20]
  416. 355 012e 1621 movs r1, #22
  417. 356 0130 01FB03F3 mul r3, r1, r3
  418. 357 0134 1344 add r3, r3, r2
  419. 358 0136 0633 adds r3, r3, #6
  420. 359 0138 0246 mov r2, r0 @ movhi
  421. 360 013a 1A80 strh r2, [r3] @ movhi
  422. 361 013c F3E0 b .L16
  423. 362 .L12:
  424. 52:user_src/qingxie_bms.c ****
  425. 53:user_src/qingxie_bms.c **** }
  426. 54:user_src/qingxie_bms.c **** else if (id == QINGXIE_BMS0_CAN_ID2 || id== QINGXIE_BMS1_CAN_ID2 ||
  427. 363 .loc 1 54 11
  428. 364 013e FB68 ldr r3, [r7, #12]
  429. 365 0140 41F26D62 movw r2, #5741
  430. 366 0144 9342 cmp r3, r2
  431. 367 0146 0ED0 beq .L17
  432. 368 .loc 1 54 39 discriminator 1
  433. 369 0148 FB68 ldr r3, [r7, #12]
  434. 370 014a 42F26D62 movw r2, #9837
  435. 371 014e 9342 cmp r3, r2
  436. 372 0150 09D0 beq .L17
  437. 373 .loc 1 54 68 discriminator 2
  438. 374 0152 FB68 ldr r3, [r7, #12]
  439. 375 0154 43F26D62 movw r2, #13933
  440. 376 0158 9342 cmp r3, r2
  441. 377 015a 04D0 beq .L17
  442. 55:user_src/qingxie_bms.c **** id== QINGXIE_BMS2_CAN_ID2 || id== QINGXIE_BMS3_CAN_ID2)
  443. 378 .loc 1 55 41
  444. 379 015c FB68 ldr r3, [r7, #12]
  445. 380 015e 44F26D62 movw r2, #18029
  446. 381 0162 9342 cmp r3, r2
  447. 382 0164 6CD1 bne .L18
  448. 383 .L17:
  449. 56:user_src/qingxie_bms.c **** {
  450. 57:user_src/qingxie_bms.c **** if (id == QINGXIE_BMS1_CAN_ID2) {
  451. 384 .loc 1 57 8
  452. 385 0166 FB68 ldr r3, [r7, #12]
  453. 386 0168 42F26D62 movw r2, #9837
  454. 387 016c 9342 cmp r3, r2
  455. 388 016e 02D1 bne .L19
  456. 58:user_src/qingxie_bms.c **** bms_id = 1;
  457. 389 .loc 1 58 14
  458. 390 0170 0123 movs r3, #1
  459. 391 0172 7B61 str r3, [r7, #20]
  460. 392 0174 0EE0 b .L20
  461. 393 .L19:
  462. 59:user_src/qingxie_bms.c **** } else if (id == QINGXIE_BMS2_CAN_ID2) {
  463. 394 .loc 1 59 15
  464. 395 0176 FB68 ldr r3, [r7, #12]
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s page 9
  466. 396 0178 43F26D62 movw r2, #13933
  467. 397 017c 9342 cmp r3, r2
  468. 398 017e 02D1 bne .L21
  469. 60:user_src/qingxie_bms.c **** bms_id = 2;
  470. 399 .loc 1 60 14
  471. 400 0180 0223 movs r3, #2
  472. 401 0182 7B61 str r3, [r7, #20]
  473. 402 0184 06E0 b .L20
  474. 403 .L21:
  475. 61:user_src/qingxie_bms.c **** } else if (id == QINGXIE_BMS3_CAN_ID2) {
  476. 404 .loc 1 61 15
  477. 405 0186 FB68 ldr r3, [r7, #12]
  478. 406 0188 44F26D62 movw r2, #18029
  479. 407 018c 9342 cmp r3, r2
  480. 408 018e 01D1 bne .L20
  481. 62:user_src/qingxie_bms.c **** bms_id = 3;
  482. 409 .loc 1 62 14
  483. 410 0190 0323 movs r3, #3
  484. 411 0192 7B61 str r3, [r7, #20]
  485. 412 .L20:
  486. 63:user_src/qingxie_bms.c **** }
  487. 64:user_src/qingxie_bms.c **** _qx_bms[bms_id].gas_tank_pressure = data[1] + (data[0] << 8);
  488. 413 .loc 1 64 45
  489. 414 0194 BB68 ldr r3, [r7, #8]
  490. 415 0196 0133 adds r3, r3, #1
  491. 416 0198 1B78 ldrb r3, [r3] @ zero_extendqisi2
  492. 417 019a 9AB2 uxth r2, r3
  493. 418 .loc 1 64 56
  494. 419 019c BB68 ldr r3, [r7, #8]
  495. 420 019e 1B78 ldrb r3, [r3] @ zero_extendqisi2
  496. 421 01a0 9BB2 uxth r3, r3
  497. 422 .loc 1 64 60
  498. 423 01a2 1B02 lsls r3, r3, #8
  499. 424 01a4 9BB2 uxth r3, r3
  500. 425 .loc 1 64 49
  501. 426 01a6 1344 add r3, r3, r2
  502. 427 01a8 98B2 uxth r0, r3
  503. 428 .loc 1 64 39
  504. 429 01aa 394A ldr r2, .L27+8
  505. 430 01ac 7B69 ldr r3, [r7, #20]
  506. 431 01ae 1621 movs r1, #22
  507. 432 01b0 01FB03F3 mul r3, r1, r3
  508. 433 01b4 1344 add r3, r3, r2
  509. 434 01b6 0A33 adds r3, r3, #10
  510. 435 01b8 0246 mov r2, r0 @ movhi
  511. 436 01ba 1A80 strh r2, [r3] @ movhi
  512. 65:user_src/qingxie_bms.c **** _qx_bms[bms_id].pipe_pressure = data[3] + (data[2] << 8);
  513. 437 .loc 1 65 41
  514. 438 01bc BB68 ldr r3, [r7, #8]
  515. 439 01be 0333 adds r3, r3, #3
  516. 440 01c0 1B78 ldrb r3, [r3] @ zero_extendqisi2
  517. 441 01c2 9AB2 uxth r2, r3
  518. 442 .loc 1 65 52
  519. 443 01c4 BB68 ldr r3, [r7, #8]
  520. 444 01c6 0233 adds r3, r3, #2
  521. 445 01c8 1B78 ldrb r3, [r3] @ zero_extendqisi2
  522. 446 01ca 9BB2 uxth r3, r3
  523. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s page 10
  524. 447 .loc 1 65 56
  525. 448 01cc 1B02 lsls r3, r3, #8
  526. 449 01ce 9BB2 uxth r3, r3
  527. 450 .loc 1 65 45
  528. 451 01d0 1344 add r3, r3, r2
  529. 452 01d2 98B2 uxth r0, r3
  530. 453 .loc 1 65 35
  531. 454 01d4 2E4A ldr r2, .L27+8
  532. 455 01d6 7B69 ldr r3, [r7, #20]
  533. 456 01d8 1621 movs r1, #22
  534. 457 01da 01FB03F3 mul r3, r1, r3
  535. 458 01de 1344 add r3, r3, r2
  536. 459 01e0 0C33 adds r3, r3, #12
  537. 460 01e2 0246 mov r2, r0 @ movhi
  538. 461 01e4 1A80 strh r2, [r3] @ movhi
  539. 66:user_src/qingxie_bms.c **** _qx_bms[bms_id].pcb_temp = data[5] + (data[4] << 8);
  540. 462 .loc 1 66 36
  541. 463 01e6 BB68 ldr r3, [r7, #8]
  542. 464 01e8 0533 adds r3, r3, #5
  543. 465 01ea 1B78 ldrb r3, [r3] @ zero_extendqisi2
  544. 466 01ec 9AB2 uxth r2, r3
  545. 467 .loc 1 66 47
  546. 468 01ee BB68 ldr r3, [r7, #8]
  547. 469 01f0 0433 adds r3, r3, #4
  548. 470 01f2 1B78 ldrb r3, [r3] @ zero_extendqisi2
  549. 471 01f4 9BB2 uxth r3, r3
  550. 472 .loc 1 66 51
  551. 473 01f6 1B02 lsls r3, r3, #8
  552. 474 01f8 9BB2 uxth r3, r3
  553. 475 .loc 1 66 40
  554. 476 01fa 1344 add r3, r3, r2
  555. 477 01fc 9BB2 uxth r3, r3
  556. 478 01fe 18B2 sxth r0, r3
  557. 479 .loc 1 66 30
  558. 480 0200 234A ldr r2, .L27+8
  559. 481 0202 7B69 ldr r3, [r7, #20]
  560. 482 0204 1621 movs r1, #22
  561. 483 0206 01FB03F3 mul r3, r1, r3
  562. 484 020a 1344 add r3, r3, r2
  563. 485 020c 0E33 adds r3, r3, #14
  564. 486 020e 0246 mov r2, r0 @ movhi
  565. 487 0210 1A80 strh r2, [r3] @ movhi
  566. 67:user_src/qingxie_bms.c **** _qx_bms[bms_id].stack_temp = data[7] + (data[6] << 8);
  567. 488 .loc 1 67 38
  568. 489 0212 BB68 ldr r3, [r7, #8]
  569. 490 0214 0733 adds r3, r3, #7
  570. 491 0216 1B78 ldrb r3, [r3] @ zero_extendqisi2
  571. 492 0218 9AB2 uxth r2, r3
  572. 493 .loc 1 67 49
  573. 494 021a BB68 ldr r3, [r7, #8]
  574. 495 021c 0633 adds r3, r3, #6
  575. 496 021e 1B78 ldrb r3, [r3] @ zero_extendqisi2
  576. 497 0220 9BB2 uxth r3, r3
  577. 498 .loc 1 67 53
  578. 499 0222 1B02 lsls r3, r3, #8
  579. 500 0224 9BB2 uxth r3, r3
  580. 501 .loc 1 67 42
  581. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s page 11
  582. 502 0226 1344 add r3, r3, r2
  583. 503 0228 9BB2 uxth r3, r3
  584. 504 022a 18B2 sxth r0, r3
  585. 505 .loc 1 67 32
  586. 506 022c 184A ldr r2, .L27+8
  587. 507 022e 7B69 ldr r3, [r7, #20]
  588. 508 0230 1621 movs r1, #22
  589. 509 0232 01FB03F3 mul r3, r1, r3
  590. 510 0236 1344 add r3, r3, r2
  591. 511 0238 1033 adds r3, r3, #16
  592. 512 023a 0246 mov r2, r0 @ movhi
  593. 513 023c 1A80 strh r2, [r3] @ movhi
  594. 514 023e 72E0 b .L16
  595. 515 .L18:
  596. 68:user_src/qingxie_bms.c **** } else if (id == QINGXIE_BMS0_CAN_ID3 || id == QINGXIE_BMS1_CAN_ID3 ||
  597. 516 .loc 1 68 13
  598. 517 0240 FB68 ldr r3, [r7, #12]
  599. 518 0242 41F26E62 movw r2, #5742
  600. 519 0246 9342 cmp r3, r2
  601. 520 0248 0ED0 beq .L22
  602. 521 .loc 1 68 41 discriminator 1
  603. 522 024a FB68 ldr r3, [r7, #12]
  604. 523 024c 42F26E62 movw r2, #9838
  605. 524 0250 9342 cmp r3, r2
  606. 525 0252 09D0 beq .L22
  607. 526 .loc 1 68 71 discriminator 2
  608. 527 0254 FB68 ldr r3, [r7, #12]
  609. 528 0256 43F26E62 movw r2, #13934
  610. 529 025a 9342 cmp r3, r2
  611. 530 025c 04D0 beq .L22
  612. 69:user_src/qingxie_bms.c **** id == QINGXIE_BMS2_CAN_ID3 || id == QINGXIE_BMS3_CAN_ID3) {
  613. 531 .loc 1 69 42
  614. 532 025e FB68 ldr r3, [r7, #12]
  615. 533 0260 44F26E62 movw r2, #18030
  616. 534 0264 9342 cmp r3, r2
  617. 535 0266 5ED1 bne .L26
  618. 536 .L22:
  619. 70:user_src/qingxie_bms.c **** if (id == QINGXIE_BMS1_CAN_ID3) {
  620. 537 .loc 1 70 8
  621. 538 0268 FB68 ldr r3, [r7, #12]
  622. 539 026a 42F26E62 movw r2, #9838
  623. 540 026e 9342 cmp r3, r2
  624. 541 0270 02D1 bne .L23
  625. 71:user_src/qingxie_bms.c **** bms_id = 1;
  626. 542 .loc 1 71 14
  627. 543 0272 0123 movs r3, #1
  628. 544 0274 7B61 str r3, [r7, #20]
  629. 545 0276 14E0 b .L24
  630. 546 .L23:
  631. 72:user_src/qingxie_bms.c **** } else if (id == QINGXIE_BMS2_CAN_ID3) {
  632. 547 .loc 1 72 15
  633. 548 0278 FB68 ldr r3, [r7, #12]
  634. 549 027a 43F26E62 movw r2, #13934
  635. 550 027e 9342 cmp r3, r2
  636. 551 0280 08D1 bne .L25
  637. 73:user_src/qingxie_bms.c **** bms_id = 2;
  638. 552 .loc 1 73 14
  639. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s page 12
  640. 553 0282 0223 movs r3, #2
  641. 554 0284 7B61 str r3, [r7, #20]
  642. 555 0286 0CE0 b .L24
  643. 556 .L28:
  644. 557 .align 2
  645. 558 .L27:
  646. 559 0288 00000000 .word _Aqx_bms_link
  647. 560 028c 00000000 .word _qx_bms_link
  648. 561 0290 00000000 .word _qx_bms
  649. 562 .L25:
  650. 74:user_src/qingxie_bms.c **** } else if (id == QINGXIE_BMS3_CAN_ID3) {
  651. 563 .loc 1 74 15
  652. 564 0294 FB68 ldr r3, [r7, #12]
  653. 565 0296 44F26E62 movw r2, #18030
  654. 566 029a 9342 cmp r3, r2
  655. 567 029c 01D1 bne .L24
  656. 75:user_src/qingxie_bms.c **** bms_id = 3;
  657. 568 .loc 1 75 14
  658. 569 029e 0323 movs r3, #3
  659. 570 02a0 7B61 str r3, [r7, #20]
  660. 571 .L24:
  661. 76:user_src/qingxie_bms.c **** }
  662. 77:user_src/qingxie_bms.c **** _qx_bms[bms_id].work_status = data[0];
  663. 572 .loc 1 77 39
  664. 573 02a2 BB68 ldr r3, [r7, #8]
  665. 574 02a4 1878 ldrb r0, [r3] @ zero_extendqisi2
  666. 575 .loc 1 77 33
  667. 576 02a6 224A ldr r2, .L29
  668. 577 02a8 7B69 ldr r3, [r7, #20]
  669. 578 02aa 1621 movs r1, #22
  670. 579 02ac 01FB03F3 mul r3, r1, r3
  671. 580 02b0 1344 add r3, r3, r2
  672. 581 02b2 1233 adds r3, r3, #18
  673. 582 02b4 0246 mov r2, r0
  674. 583 02b6 1A70 strb r2, [r3]
  675. 78:user_src/qingxie_bms.c **** _qx_bms[bms_id].self_chek = data[1];
  676. 584 .loc 1 78 31
  677. 585 02b8 BB68 ldr r3, [r7, #8]
  678. 586 02ba 5878 ldrb r0, [r3, #1] @ zero_extendqisi2
  679. 587 02bc 1C4A ldr r2, .L29
  680. 588 02be 7B69 ldr r3, [r7, #20]
  681. 589 02c0 1621 movs r1, #22
  682. 590 02c2 01FB03F3 mul r3, r1, r3
  683. 591 02c6 1344 add r3, r3, r2
  684. 592 02c8 1533 adds r3, r3, #21
  685. 593 02ca 0246 mov r2, r0
  686. 594 02cc 1A70 strb r2, [r3]
  687. 79:user_src/qingxie_bms.c **** _qx_bms[bms_id].falt_status = data[3] + (data[2] << 8);
  688. 595 .loc 1 79 39
  689. 596 02ce BB68 ldr r3, [r7, #8]
  690. 597 02d0 0333 adds r3, r3, #3
  691. 598 02d2 1B78 ldrb r3, [r3] @ zero_extendqisi2
  692. 599 02d4 9AB2 uxth r2, r3
  693. 600 .loc 1 79 50
  694. 601 02d6 BB68 ldr r3, [r7, #8]
  695. 602 02d8 0233 adds r3, r3, #2
  696. 603 02da 1B78 ldrb r3, [r3] @ zero_extendqisi2
  697. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s page 13
  698. 604 02dc 9BB2 uxth r3, r3
  699. 605 .loc 1 79 54
  700. 606 02de 1B02 lsls r3, r3, #8
  701. 607 02e0 9BB2 uxth r3, r3
  702. 608 .loc 1 79 43
  703. 609 02e2 1344 add r3, r3, r2
  704. 610 02e4 98B2 uxth r0, r3
  705. 611 .loc 1 79 33
  706. 612 02e6 124A ldr r2, .L29
  707. 613 02e8 7B69 ldr r3, [r7, #20]
  708. 614 02ea 1621 movs r1, #22
  709. 615 02ec 01FB03F3 mul r3, r1, r3
  710. 616 02f0 1344 add r3, r3, r2
  711. 617 02f2 1033 adds r3, r3, #16
  712. 618 02f4 0246 mov r2, r0 @ movhi
  713. 619 02f6 A3F80320 strh r2, [r3, #3] @ unaligned
  714. 80:user_src/qingxie_bms.c **** _qx_bms[bms_id].bat_refuel_current = data[5] + (data[4] << 8);
  715. 620 .loc 1 80 46
  716. 621 02fa BB68 ldr r3, [r7, #8]
  717. 622 02fc 0533 adds r3, r3, #5
  718. 623 02fe 1B78 ldrb r3, [r3] @ zero_extendqisi2
  719. 624 0300 9AB2 uxth r2, r3
  720. 625 .loc 1 80 57
  721. 626 0302 BB68 ldr r3, [r7, #8]
  722. 627 0304 0433 adds r3, r3, #4
  723. 628 0306 1B78 ldrb r3, [r3] @ zero_extendqisi2
  724. 629 0308 9BB2 uxth r3, r3
  725. 630 .loc 1 80 61
  726. 631 030a 1B02 lsls r3, r3, #8
  727. 632 030c 9BB2 uxth r3, r3
  728. 633 .loc 1 80 50
  729. 634 030e 1344 add r3, r3, r2
  730. 635 0310 98B2 uxth r0, r3
  731. 636 .loc 1 80 40
  732. 637 0312 074A ldr r2, .L29
  733. 638 0314 7B69 ldr r3, [r7, #20]
  734. 639 0316 1621 movs r1, #22
  735. 640 0318 01FB03F3 mul r3, r1, r3
  736. 641 031c 1344 add r3, r3, r2
  737. 642 031e 0833 adds r3, r3, #8
  738. 643 0320 0246 mov r2, r0 @ movhi
  739. 644 0322 1A80 strh r2, [r3] @ movhi
  740. 81:user_src/qingxie_bms.c **** }
  741. 82:user_src/qingxie_bms.c **** }
  742. 645 .loc 1 82 1
  743. 646 0324 FFE7 b .L26
  744. 647 .L16:
  745. 648 .L26:
  746. 649 0326 00BF nop
  747. 650 0328 1837 adds r7, r7, #24
  748. 651 .LCFI8:
  749. 652 .cfi_def_cfa_offset 8
  750. 653 032a BD46 mov sp, r7
  751. 654 .LCFI9:
  752. 655 .cfi_def_cfa_register 13
  753. 656 @ sp needed
  754. 657 032c 80BD pop {r7, pc}
  755. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s page 14
  756. 658 .L30:
  757. 659 032e 00BF .align 2
  758. 660 .L29:
  759. 661 0330 00000000 .word _qx_bms
  760. 662 .cfi_endproc
  761. 663 .LFE134:
  762. 665 .text
  763. 666 .Letext0:
  764. 667 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  765. 668 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  766. 669 .file 4 "user_inc/common.h"
  767. 670 .file 5 "user_inc/qingxie_bms.h"
  768. 671 .file 6 "user_inc/soft_p_2_c.h"
  769. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s page 15
  770. DEFINED SYMBOLS
  771. *ABS*:00000000 qingxie_bms.c
  772. C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s:24 .bss._qx_bms:00000000 _qx_bms
  773. C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s:21 .bss._qx_bms:00000000 $d
  774. C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s:27 .text.send_info_to_Qx:00000000 $t
  775. C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s:33 .text.send_info_to_Qx:00000000 send_info_to_Qx
  776. C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s:135 .text.send_info_to_Qx:00000080 $d
  777. C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s:153 .bss._Aqx_bms_link:00000000 _Aqx_bms_link
  778. C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s:146 .bss._qx_bms_link:00000000 _qx_bms_link
  779. C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s:143 .bss._qx_bms_link:00000000 $d
  780. C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s:150 .bss._Aqx_bms_link:00000000 $d
  781. C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s:156 .text.QxBmsCanRecvHookFunction:00000000 $t
  782. C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s:162 .text.QxBmsCanRecvHookFunction:00000000 QxBmsCanRecvHookFunction
  783. C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s:559 .text.QxBmsCanRecvHookFunction:00000288 $d
  784. C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s:564 .text.QxBmsCanRecvHookFunction:00000294 $t
  785. C:\Users\zl835\AppData\Local\Temp\ccnoXfLM.s:661 .text.QxBmsCanRecvHookFunction:00000330 $d
  786. UNDEFINED SYMBOLS
  787. can_send_msg_normal
  788. planep
  789. HAL_GetTick