ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 5 .eabi_attribute 28, 1 6 .eabi_attribute 20, 1 7 .eabi_attribute 21, 1 8 .eabi_attribute 23, 3 9 .eabi_attribute 24, 1 10 .eabi_attribute 25, 1 11 .eabi_attribute 26, 1 12 .eabi_attribute 30, 6 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "soft_bms.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .global Device1 20 .section .bss.Device1,"aw",%nobits 21 .align 2 24 Device1: 25 0000 00000000 .space 333 25 00000000 25 00000000 25 00000000 25 00000000 26 .global Device2 27 .section .bss.Device2,"aw",%nobits 28 .align 2 31 Device2: 32 0000 00000000 .space 333 32 00000000 32 00000000 32 00000000 32 00000000 33 .global bms_data 34 .section .data.bms_data,"aw" 35 .align 2 38 bms_data: 39 0000 00000000 .space 98 39 00000000 39 00000000 39 00000000 39 00000000 40 0062 FFFF .short -1 41 0064 0000 .space 2 42 .global bms_data2 43 .section .data.bms_data2,"aw" 44 .align 2 47 bms_data2: 48 0000 00000000 .space 98 48 00000000 48 00000000 48 00000000 48 00000000 49 0062 FFFF .short -1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 2 50 0064 0000 .space 2 51 .section .rodata 52 .align 2 53 .LC0: 54 0000 6F6B6365 .ascii "okcell1\000" 54 6C6C3100 55 .align 2 56 .LC1: 57 0008 6F6B6365 .ascii "okcell2\000" 57 6C6C3200 58 .align 2 59 .LC2: 60 0010 74617474 .ascii "tattu1\000" 60 753100 61 0017 00 .align 2 62 .LC3: 63 0018 74617474 .ascii "tattu2\000" 63 753200 64 001f 00 .align 2 65 .LC4: 66 0020 68657265 .ascii "herewin\000" 66 77696E00 67 .section .text.update_bms_data,"ax",%progbits 68 .align 1 69 .global update_bms_data 70 .syntax unified 71 .thumb 72 .thumb_func 74 update_bms_data: 75 .LFB133: 76 .file 1 "user_src/soft_bms.c" 1:user_src/soft_bms.c **** #include "soft_bms.h" 2:user_src/soft_bms.c **** #include "main.h" 3:user_src/soft_bms.c **** #include "soft_engine.h" 4:user_src/soft_bms.c **** #include "soft_bms.h" 5:user_src/soft_bms.c **** #include "soft_okcell.h" 6:user_src/soft_bms.c **** #include "soft_tattu.h" 7:user_src/soft_bms.c **** #include "soft_poweramp.h" 8:user_src/soft_bms.c **** #include "string.h" 9:user_src/soft_bms.c **** #include "stdio.h" 10:user_src/soft_bms.c **** #include "stdlib.h" 11:user_src/soft_bms.c **** #include "soft_herewin.h" 12:user_src/soft_bms.c **** #include "soft_crc.h" 13:user_src/soft_bms.c **** #include "soft_p_2_c.h" 14:user_src/soft_bms.c **** #include "soft_seed_device.h" 15:user_src/soft_bms.c **** #include "soft_version.h" 16:user_src/soft_bms.c **** #include "qingxie_bms.h" 17:user_src/soft_bms.c **** 18:user_src/soft_bms.c **** 19:user_src/soft_bms.c **** Vkbms_Device Device1 = {.Vkbms_Link.connect_status = COMP_NOEXIST}; 20:user_src/soft_bms.c **** Vkbms_Device Device2 = {.Vkbms_Link.connect_status = COMP_NOEXIST}; 21:user_src/soft_bms.c **** 22:user_src/soft_bms.c **** 23:user_src/soft_bms.c **** struct BMS_DATA bms_data = {.bms_ss = 0xFFFF}, bms_data2 = {.bms_ss = 0xFFFF}; 24:user_src/soft_bms.c **** 25:user_src/soft_bms.c **** /** 26:user_src/soft_bms.c **** * @file update_bms_data ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 3 27:user_src/soft_bms.c **** * @brief 更新电池信息 28:user_src/soft_bms.c **** * @param none 29:user_src/soft_bms.c **** * @details 30:user_src/soft_bms.c **** * @author Zhang Sir 31:user_src/soft_bms.c **** **/ 32:user_src/soft_bms.c **** void update_bms_data( void ) 33:user_src/soft_bms.c **** { 77 .loc 1 33 1 78 .cfi_startproc 79 @ args = 0, pretend = 0, frame = 8 80 @ frame_needed = 1, uses_anonymous_args = 0 81 0000 80B5 push {r7, lr} 82 .LCFI0: 83 .cfi_def_cfa_offset 8 84 .cfi_offset 7, -8 85 .cfi_offset 14, -4 86 0002 8AB0 sub sp, sp, #40 87 .LCFI1: 88 .cfi_def_cfa_offset 48 89 0004 08AF add r7, sp, #32 90 .LCFI2: 91 .cfi_def_cfa 7, 16 34:user_src/soft_bms.c **** //正方电池 35:user_src/soft_bms.c **** Check_dev_link(&okcell_device1.Okcell_Link,5000,(char *)&okcell_device1.okcell_inf,sizeof(_CELL 92 .loc 1 35 5 93 0006 7A23 movs r3, #122 94 0008 AB4A ldr r2, .L41 95 000a 41F28831 movw r1, #5000 96 000e AB48 ldr r0, .L41+4 97 0010 FFF7FEFF bl Check_dev_link 36:user_src/soft_bms.c **** Check_dev_link(&okcell_device2.Okcell_Link,5000,(char *)&okcell_device2.okcell_inf,sizeof(_CELL 98 .loc 1 36 5 99 0014 7A23 movs r3, #122 100 0016 AA4A ldr r2, .L41+8 101 0018 41F28831 movw r1, #5000 102 001c A948 ldr r0, .L41+12 103 001e FFF7FEFF bl Check_dev_link 37:user_src/soft_bms.c **** //格式电池 38:user_src/soft_bms.c **** Check_dev_link(&tattu_device1.Tattu_Link,5000,(char *)&tattu_device1.ttu_inf,sizeof(_TATTU_INFO 104 .loc 1 38 5 105 0022 4623 movs r3, #70 106 0024 A84A ldr r2, .L41+16 107 0026 41F28831 movw r1, #5000 108 002a A848 ldr r0, .L41+20 109 002c FFF7FEFF bl Check_dev_link 39:user_src/soft_bms.c **** Check_dev_link(&tattu_device2.Tattu_Link,5000,(char *)&tattu_device2.ttu_inf,sizeof(_TATTU_INFO 110 .loc 1 39 5 111 0030 4623 movs r3, #70 112 0032 A74A ldr r2, .L41+24 113 0034 41F28831 movw r1, #5000 114 0038 A648 ldr r0, .L41+28 115 003a FFF7FEFF bl Check_dev_link 40:user_src/soft_bms.c **** //极目电池 41:user_src/soft_bms.c **** //check_poweramp_link(); 42:user_src/soft_bms.c **** //海盈电池 43:user_src/soft_bms.c **** Check_dev_link(&Herewin_Link,5000,(char *)&herewin_info,sizeof(herewin_bms)); 116 .loc 1 43 5 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 4 117 003e 3E23 movs r3, #62 118 0040 A54A ldr r2, .L41+32 119 0042 41F28831 movw r1, #5000 120 0046 A548 ldr r0, .L41+36 121 0048 FFF7FEFF bl Check_dev_link 44:user_src/soft_bms.c **** //VK电池 45:user_src/soft_bms.c **** Check_dev_link(&Device1.Vkbms_Link,5000,(char *)&Device1,sizeof(Vkbms_Device)); 122 .loc 1 45 5 123 004c 40F24D13 movw r3, #333 124 0050 A34A ldr r2, .L41+40 125 0052 41F28831 movw r1, #5000 126 0056 A248 ldr r0, .L41+40 127 0058 FFF7FEFF bl Check_dev_link 46:user_src/soft_bms.c **** Check_dev_link(&Device2.Vkbms_Link,5000,(char *)&Device2,sizeof(Vkbms_Device)); 128 .loc 1 46 5 129 005c 40F24D13 movw r3, #333 130 0060 A04A ldr r2, .L41+44 131 0062 41F28831 movw r1, #5000 132 0066 9F48 ldr r0, .L41+44 133 0068 FFF7FEFF bl Check_dev_link 47:user_src/soft_bms.c **** 48:user_src/soft_bms.c **** if ( okcell_device1.Okcell_Link.connect_status == COMP_NORMAL || okcell_device2.Okcell_Link.con 134 .loc 1 48 36 135 006c 9E4B ldr r3, .L41+48 136 006e 93F8D730 ldrb r3, [r3, #215] @ zero_extendqisi2 137 .loc 1 48 8 138 0072 012B cmp r3, #1 139 0074 05D0 beq .L2 140 .loc 1 48 96 discriminator 1 141 0076 9D4B ldr r3, .L41+52 142 0078 93F8D730 ldrb r3, [r3, #215] @ zero_extendqisi2 143 .loc 1 48 67 discriminator 1 144 007c 012B cmp r3, #1 145 007e 40F03983 bne .L3 146 .L2: 49:user_src/soft_bms.c **** { 50:user_src/soft_bms.c **** Dev.Bms_Link.connect_status = COMP_NORMAL; 147 .loc 1 50 37 148 0082 9B4B ldr r3, .L41+56 149 0084 0122 movs r2, #1 150 0086 83F8E021 strb r2, [r3, #480] 51:user_src/soft_bms.c **** 52:user_src/soft_bms.c **** //第一组电池 53:user_src/soft_bms.c **** if ( okcell_device1.Okcell_Link.connect_status == COMP_NORMAL ) 151 .loc 1 53 40 152 008a 974B ldr r3, .L41+48 153 008c 93F8D730 ldrb r3, [r3, #215] @ zero_extendqisi2 154 .loc 1 53 12 155 0090 012B cmp r3, #1 156 0092 40F09081 bne .L4 54:user_src/soft_bms.c **** { 55:user_src/soft_bms.c **** bms_data.bms_cycle = okcell_device1.okcell_inf.cell_D3.cell_d3[4]; 157 .loc 1 55 75 158 0096 944B ldr r3, .L41+48 159 0098 B3F84031 ldrh r3, [r3, #320] @ unaligned 160 009c 9AB2 uxth r2, r3 161 .loc 1 55 32 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 5 162 009e 954B ldr r3, .L41+60 163 00a0 A3F85920 strh r2, [r3, #89] @ unaligned 56:user_src/soft_bms.c **** if(okcell_device1.okcell_inf.cell_D0.cell_d0[6] >= 18) //正方超18S电池10mv发送 164 .loc 1 56 57 165 00a4 904B ldr r3, .L41+48 166 00a6 B3F8F830 ldrh r3, [r3, #248] @ unaligned 167 00aa 9BB2 uxth r3, r3 168 .loc 1 56 15 169 00ac 112B cmp r3, #17 170 00ae 07D9 bls .L5 57:user_src/soft_bms.c **** { 58:user_src/soft_bms.c **** bms_data.bms_volt = okcell_device1.okcell_inf.cell_D0.cell_d0[0]; 171 .loc 1 58 78 172 00b0 8D4B ldr r3, .L41+48 173 00b2 B3F8EC30 ldrh r3, [r3, #236] @ unaligned 174 00b6 9AB2 uxth r2, r3 175 .loc 1 58 35 176 00b8 8E4B ldr r3, .L41+60 177 00ba A3F85B20 strh r2, [r3, #91] @ unaligned 178 00be 0BE0 b .L6 179 .L5: 59:user_src/soft_bms.c **** } 60:user_src/soft_bms.c **** else 61:user_src/soft_bms.c **** { 62:user_src/soft_bms.c **** bms_data.bms_volt = okcell_device1.okcell_inf.cell_D0.cell_d0[0] / 10; 180 .loc 1 62 78 181 00c0 894B ldr r3, .L41+48 182 00c2 B3F8EC30 ldrh r3, [r3, #236] @ unaligned 183 00c6 9BB2 uxth r3, r3 184 .loc 1 62 35 185 00c8 8B4A ldr r2, .L41+64 186 00ca A2FB0323 umull r2, r3, r2, r3 187 00ce DB08 lsrs r3, r3, #3 188 00d0 9AB2 uxth r2, r3 189 00d2 884B ldr r3, .L41+60 190 00d4 A3F85B20 strh r2, [r3, #91] @ unaligned 191 .L6: 63:user_src/soft_bms.c **** } 64:user_src/soft_bms.c **** bms_data.bms_temp = okcell_device1.okcell_inf.cell_D0.cell_d0[2]; 192 .loc 1 64 74 193 00d8 834B ldr r3, .L41+48 194 00da B3F8F030 ldrh r3, [r3, #240] @ unaligned 195 00de 9BB2 uxth r3, r3 196 00e0 1AB2 sxth r2, r3 197 .loc 1 64 31 198 00e2 844B ldr r3, .L41+60 199 00e4 A3F85F20 strh r2, [r3, #95] @ unaligned 65:user_src/soft_bms.c **** bms_data.bms_vs = okcell_device1.okcell_inf.cell_D0.cell_d0[3]; 200 .loc 1 65 72 201 00e8 7F4B ldr r3, .L41+48 202 00ea B3F8F230 ldrh r3, [r3, #242] @ unaligned 203 00ee 9BB2 uxth r3, r3 204 .loc 1 65 29 205 00f0 DAB2 uxtb r2, r3 206 00f2 804B ldr r3, .L41+60 207 00f4 83F86120 strb r2, [r3, #97] 66:user_src/soft_bms.c **** //正方电池只关心飞控对接异常不让解锁,不关心异常5 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 6 67:user_src/soft_bms.c **** bms_data.bms_ss = ( ( okcell_device1.okcell_inf.cell_D0.cell_d0[5] >> 8 ) != 5 ) ? ( ok 208 .loc 1 67 76 209 00f8 7B4B ldr r3, .L41+48 210 00fa B3F8F630 ldrh r3, [r3, #246] @ unaligned 211 00fe 9BB2 uxth r3, r3 212 .loc 1 67 87 213 0100 1B0A lsrs r3, r3, #8 214 0102 9BB2 uxth r3, r3 215 .loc 1 67 29 216 0104 052B cmp r3, #5 217 0106 06D0 beq .L7 218 .loc 1 67 139 discriminator 1 219 0108 774B ldr r3, .L41+48 220 010a B3F8F630 ldrh r3, [r3, #246] @ unaligned 221 010e 9BB2 uxth r3, r3 222 .loc 1 67 29 discriminator 1 223 0110 1B0A lsrs r3, r3, #8 224 0112 9BB2 uxth r3, r3 225 0114 00E0 b .L8 226 .L7: 227 .loc 1 67 29 is_stmt 0 discriminator 2 228 0116 0023 movs r3, #0 229 .L8: 230 .loc 1 67 29 discriminator 4 231 0118 764A ldr r2, .L41+60 232 011a A2F86230 strh r3, [r2, #98] @ movhi 68:user_src/soft_bms.c **** bms_data.bms_num = okcell_device1.okcell_inf.cell_D0.cell_d0[6]; 233 .loc 1 68 73 is_stmt 1 discriminator 4 234 011e 724B ldr r3, .L41+48 235 0120 B3F8F830 ldrh r3, [r3, #248] @ unaligned 236 0124 9BB2 uxth r3, r3 237 .loc 1 68 30 discriminator 4 238 0126 DAB2 uxtb r2, r3 239 0128 724B ldr r3, .L41+60 240 012a 1A71 strb r2, [r3, #4] 69:user_src/soft_bms.c **** 70:user_src/soft_bms.c **** bms_data.bms_v1 = okcell_device1.okcell_inf.cell_D0.cell_d0[7]; 241 .loc 1 70 72 discriminator 4 242 012c 6E4B ldr r3, .L41+48 243 012e B3F8FA30 ldrh r3, [r3, #250] @ unaligned 244 0132 9AB2 uxth r2, r3 245 .loc 1 70 29 discriminator 4 246 0134 6F4B ldr r3, .L41+60 247 0136 A3F80520 strh r2, [r3, #5] @ unaligned 71:user_src/soft_bms.c **** bms_data.bms_v2 = okcell_device1.okcell_inf.cell_D0.cell_d0[8]; 248 .loc 1 71 72 discriminator 4 249 013a 6B4B ldr r3, .L41+48 250 013c B3F8FC30 ldrh r3, [r3, #252] @ unaligned 251 0140 9AB2 uxth r2, r3 252 .loc 1 71 29 discriminator 4 253 0142 6C4B ldr r3, .L41+60 254 0144 A3F80720 strh r2, [r3, #7] @ unaligned 72:user_src/soft_bms.c **** bms_data.bms_v3 = okcell_device1.okcell_inf.cell_D0.cell_d0[9]; 255 .loc 1 72 72 discriminator 4 256 0148 674B ldr r3, .L41+48 257 014a B3F8FE30 ldrh r3, [r3, #254] @ unaligned 258 014e 9AB2 uxth r2, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 7 259 .loc 1 72 29 discriminator 4 260 0150 684B ldr r3, .L41+60 261 0152 A3F80920 strh r2, [r3, #9] @ unaligned 73:user_src/soft_bms.c **** bms_data.bms_v4 = okcell_device1.okcell_inf.cell_D0.cell_d0[10]; 262 .loc 1 73 72 discriminator 4 263 0156 644B ldr r3, .L41+48 264 0158 B3F80031 ldrh r3, [r3, #256] @ unaligned 265 015c 9AB2 uxth r2, r3 266 .loc 1 73 29 discriminator 4 267 015e 654B ldr r3, .L41+60 268 0160 A3F80B20 strh r2, [r3, #11] @ unaligned 74:user_src/soft_bms.c **** bms_data.bms_v5 = okcell_device1.okcell_inf.cell_D0.cell_d0[11]; 269 .loc 1 74 72 discriminator 4 270 0164 604B ldr r3, .L41+48 271 0166 B3F80231 ldrh r3, [r3, #258] @ unaligned 272 016a 9AB2 uxth r2, r3 273 .loc 1 74 29 discriminator 4 274 016c 614B ldr r3, .L41+60 275 016e A3F80D20 strh r2, [r3, #13] @ unaligned 75:user_src/soft_bms.c **** bms_data.bms_v6 = okcell_device1.okcell_inf.cell_D0.cell_d0[12]; 276 .loc 1 75 72 discriminator 4 277 0172 5D4B ldr r3, .L41+48 278 0174 B3F80431 ldrh r3, [r3, #260] @ unaligned 279 0178 9AB2 uxth r2, r3 280 .loc 1 75 29 discriminator 4 281 017a 5E4B ldr r3, .L41+60 282 017c A3F80F20 strh r2, [r3, #15] @ unaligned 76:user_src/soft_bms.c **** bms_data.bms_v7 = okcell_device1.okcell_inf.cell_D0.cell_d0[13]; 283 .loc 1 76 72 discriminator 4 284 0180 594B ldr r3, .L41+48 285 0182 B3F80631 ldrh r3, [r3, #262] @ unaligned 286 0186 9AB2 uxth r2, r3 287 .loc 1 76 29 discriminator 4 288 0188 5A4B ldr r3, .L41+60 289 018a A3F81120 strh r2, [r3, #17] @ unaligned 77:user_src/soft_bms.c **** bms_data.bms_v8 = okcell_device1.okcell_inf.cell_D0.cell_d0[14]; 290 .loc 1 77 72 discriminator 4 291 018e 564B ldr r3, .L41+48 292 0190 B3F80831 ldrh r3, [r3, #264] @ unaligned 293 0194 9AB2 uxth r2, r3 294 .loc 1 77 29 discriminator 4 295 0196 574B ldr r3, .L41+60 296 0198 A3F81320 strh r2, [r3, #19] @ unaligned 78:user_src/soft_bms.c **** bms_data.bms_v9 = okcell_device1.okcell_inf.cell_D0.cell_d0[15]; 297 .loc 1 78 72 discriminator 4 298 019c 524B ldr r3, .L41+48 299 019e B3F80A31 ldrh r3, [r3, #266] @ unaligned 300 01a2 9AB2 uxth r2, r3 301 .loc 1 78 29 discriminator 4 302 01a4 534B ldr r3, .L41+60 303 01a6 A3F81520 strh r2, [r3, #21] @ unaligned 79:user_src/soft_bms.c **** bms_data.bms_v10 = okcell_device1.okcell_inf.cell_D0.cell_d0[16]; 304 .loc 1 79 73 discriminator 4 305 01aa 4F4B ldr r3, .L41+48 306 01ac B3F80C31 ldrh r3, [r3, #268] @ unaligned 307 01b0 9AB2 uxth r2, r3 308 .loc 1 79 30 discriminator 4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 8 309 01b2 504B ldr r3, .L41+60 310 01b4 A3F81720 strh r2, [r3, #23] @ unaligned 80:user_src/soft_bms.c **** bms_data.bms_v11 = okcell_device1.okcell_inf.cell_D0.cell_d0[17]; 311 .loc 1 80 73 discriminator 4 312 01b8 4B4B ldr r3, .L41+48 313 01ba B3F80E31 ldrh r3, [r3, #270] @ unaligned 314 01be 9AB2 uxth r2, r3 315 .loc 1 80 30 discriminator 4 316 01c0 4C4B ldr r3, .L41+60 317 01c2 A3F81920 strh r2, [r3, #25] @ unaligned 81:user_src/soft_bms.c **** bms_data.bms_v12 = okcell_device1.okcell_inf.cell_D0.cell_d0[18]; 318 .loc 1 81 73 discriminator 4 319 01c6 484B ldr r3, .L41+48 320 01c8 B3F81031 ldrh r3, [r3, #272] @ unaligned 321 01cc 9AB2 uxth r2, r3 322 .loc 1 81 30 discriminator 4 323 01ce 494B ldr r3, .L41+60 324 01d0 A3F81B20 strh r2, [r3, #27] @ unaligned 82:user_src/soft_bms.c **** bms_data.bms_v13 = okcell_device1.okcell_inf.cell_D0.cell_d0[19]; 325 .loc 1 82 73 discriminator 4 326 01d4 444B ldr r3, .L41+48 327 01d6 B3F81231 ldrh r3, [r3, #274] @ unaligned 328 01da 9AB2 uxth r2, r3 329 .loc 1 82 30 discriminator 4 330 01dc 454B ldr r3, .L41+60 331 01de A3F81D20 strh r2, [r3, #29] @ unaligned 83:user_src/soft_bms.c **** bms_data.bms_v14 = okcell_device1.okcell_inf.cell_D0.cell_d0[20]; 332 .loc 1 83 73 discriminator 4 333 01e2 414B ldr r3, .L41+48 334 01e4 B3F81431 ldrh r3, [r3, #276] @ unaligned 335 01e8 9AB2 uxth r2, r3 336 .loc 1 83 30 discriminator 4 337 01ea 424B ldr r3, .L41+60 338 01ec A3F81F20 strh r2, [r3, #31] @ unaligned 84:user_src/soft_bms.c **** bms_data.bms_v15 = okcell_device1.okcell_inf.cell_D0.cell_d0[21]; 339 .loc 1 84 73 discriminator 4 340 01f0 3D4B ldr r3, .L41+48 341 01f2 B3F81631 ldrh r3, [r3, #278] @ unaligned 342 01f6 9AB2 uxth r2, r3 343 .loc 1 84 30 discriminator 4 344 01f8 3E4B ldr r3, .L41+60 345 01fa A3F82120 strh r2, [r3, #33] @ unaligned 85:user_src/soft_bms.c **** bms_data.bms_v16 = okcell_device1.okcell_inf.cell_D0.cell_d0[22]; 346 .loc 1 85 73 discriminator 4 347 01fe 3A4B ldr r3, .L41+48 348 0200 B3F81831 ldrh r3, [r3, #280] @ unaligned 349 0204 9AB2 uxth r2, r3 350 .loc 1 85 30 discriminator 4 351 0206 3B4B ldr r3, .L41+60 352 0208 A3F82320 strh r2, [r3, #35] @ unaligned 86:user_src/soft_bms.c **** bms_data.bms_v17 = okcell_device1.okcell_inf.cell_D0.cell_d0[23]; 353 .loc 1 86 73 discriminator 4 354 020c 364B ldr r3, .L41+48 355 020e B3F81A31 ldrh r3, [r3, #282] @ unaligned 356 0212 9AB2 uxth r2, r3 357 .loc 1 86 30 discriminator 4 358 0214 374B ldr r3, .L41+60 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 9 359 0216 A3F82520 strh r2, [r3, #37] @ unaligned 87:user_src/soft_bms.c **** bms_data.bms_v18 = okcell_device1.okcell_inf.cell_D0.cell_d0[24]; 360 .loc 1 87 73 discriminator 4 361 021a 334B ldr r3, .L41+48 362 021c B3F81C31 ldrh r3, [r3, #284] @ unaligned 363 0220 9AB2 uxth r2, r3 364 .loc 1 87 30 discriminator 4 365 0222 344B ldr r3, .L41+60 366 0224 A3F82720 strh r2, [r3, #39] @ unaligned 88:user_src/soft_bms.c **** bms_data.bms_v19 = okcell_device1.okcell_inf.cell_D0.cell_d0[25]; 367 .loc 1 88 73 discriminator 4 368 0228 2F4B ldr r3, .L41+48 369 022a B3F81E31 ldrh r3, [r3, #286] @ unaligned 370 022e 9AB2 uxth r2, r3 371 .loc 1 88 30 discriminator 4 372 0230 304B ldr r3, .L41+60 373 0232 A3F82920 strh r2, [r3, #41] @ unaligned 89:user_src/soft_bms.c **** bms_data.bms_v20 = okcell_device1.okcell_inf.cell_D0.cell_d0[26]; 374 .loc 1 89 73 discriminator 4 375 0236 2C4B ldr r3, .L41+48 376 0238 B3F82031 ldrh r3, [r3, #288] @ unaligned 377 023c 9AB2 uxth r2, r3 378 .loc 1 89 30 discriminator 4 379 023e 2D4B ldr r3, .L41+60 380 0240 A3F82B20 strh r2, [r3, #43] @ unaligned 90:user_src/soft_bms.c **** bms_data.bms_v21 = okcell_device1.okcell_inf.cell_D0.cell_d0[27]; 381 .loc 1 90 73 discriminator 4 382 0244 284B ldr r3, .L41+48 383 0246 B3F82231 ldrh r3, [r3, #290] @ unaligned 384 024a 9AB2 uxth r2, r3 385 .loc 1 90 30 discriminator 4 386 024c 294B ldr r3, .L41+60 387 024e A3F82D20 strh r2, [r3, #45] @ unaligned 91:user_src/soft_bms.c **** bms_data.bms_v22 = okcell_device1.okcell_inf.cell_D0.cell_d0[28]; 388 .loc 1 91 73 discriminator 4 389 0252 254B ldr r3, .L41+48 390 0254 B3F82431 ldrh r3, [r3, #292] @ unaligned 391 0258 9AB2 uxth r2, r3 392 .loc 1 91 30 discriminator 4 393 025a 264B ldr r3, .L41+60 394 025c A3F82F20 strh r2, [r3, #47] @ unaligned 92:user_src/soft_bms.c **** bms_data.bms_v23 = okcell_device1.okcell_inf.cell_D0.cell_d0[29]; 395 .loc 1 92 73 discriminator 4 396 0260 214B ldr r3, .L41+48 397 0262 B3F82631 ldrh r3, [r3, #294] @ unaligned 398 0266 9AB2 uxth r2, r3 399 .loc 1 92 30 discriminator 4 400 0268 224B ldr r3, .L41+60 401 026a A3F83120 strh r2, [r3, #49] @ unaligned 93:user_src/soft_bms.c **** bms_data.bms_v24 = okcell_device1.okcell_inf.cell_D0.cell_d0[30]; 402 .loc 1 93 73 discriminator 4 403 026e 1E4B ldr r3, .L41+48 404 0270 B3F82831 ldrh r3, [r3, #296] @ unaligned 405 0274 9AB2 uxth r2, r3 406 .loc 1 93 30 discriminator 4 407 0276 1F4B ldr r3, .L41+60 408 0278 A3F83320 strh r2, [r3, #51] @ unaligned ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 10 94:user_src/soft_bms.c **** bms_data.bms_v25 = okcell_device1.okcell_inf.cell_D0.cell_d0[31]; 409 .loc 1 94 73 discriminator 4 410 027c 1A4B ldr r3, .L41+48 411 027e B3F82A31 ldrh r3, [r3, #298] @ unaligned 412 0282 9AB2 uxth r2, r3 413 .loc 1 94 30 discriminator 4 414 0284 1B4B ldr r3, .L41+60 415 0286 A3F83520 strh r2, [r3, #53] @ unaligned 95:user_src/soft_bms.c **** bms_data.bms_v26 = okcell_device1.okcell_inf.cell_D0.cell_d0[32]; 416 .loc 1 95 73 discriminator 4 417 028a 174B ldr r3, .L41+48 418 028c B3F82C31 ldrh r3, [r3, #300] @ unaligned 419 0290 9AB2 uxth r2, r3 420 .loc 1 95 30 discriminator 4 421 0292 184B ldr r3, .L41+60 422 0294 A3F83720 strh r2, [r3, #55] @ unaligned 96:user_src/soft_bms.c **** 97:user_src/soft_bms.c **** bms_data.bms_ids[0] = okcell_device1.okcell_inf.cell_P3.cell_p3[0]; 423 .loc 1 97 76 discriminator 4 424 0298 134B ldr r3, .L41+48 425 029a 93F85621 ldrb r2, [r3, #342] @ zero_extendqisi2 426 .loc 1 97 33 discriminator 4 427 029e 154B ldr r3, .L41+60 428 02a0 83F83920 strb r2, [r3, #57] 98:user_src/soft_bms.c **** bms_data.bms_ids[1] = okcell_device1.okcell_inf.cell_P3.cell_p3[1]; 429 .loc 1 98 76 discriminator 4 430 02a4 104B ldr r3, .L41+48 431 02a6 93F85721 ldrb r2, [r3, #343] @ zero_extendqisi2 432 .loc 1 98 33 discriminator 4 433 02aa 124B ldr r3, .L41+60 434 02ac 83F83A20 strb r2, [r3, #58] 435 .LBB2: 99:user_src/soft_bms.c **** for(int i = 1; i< 11; i++){ 436 .loc 1 99 21 discriminator 4 437 02b0 0123 movs r3, #1 438 02b2 7B60 str r3, [r7, #4] 439 .loc 1 99 13 discriminator 4 440 02b4 49E0 b .L9 441 .L42: 442 02b6 00BF .align 2 443 .L41: 444 02b8 E8000000 .word okcell_device1+232 445 02bc CF000000 .word okcell_device1+207 446 02c0 E8000000 .word okcell_device2+232 447 02c4 CF000000 .word okcell_device2+207 448 02c8 DC000000 .word tattu_device1+220 449 02cc CC000000 .word tattu_device1+204 450 02d0 DC000000 .word tattu_device2+220 451 02d4 CC000000 .word tattu_device2+204 452 02d8 00000000 .word herewin_info 453 02dc 00000000 .word Herewin_Link 454 02e0 00000000 .word Device1 455 02e4 00000000 .word Device2 456 02e8 00000000 .word okcell_device1 457 02ec 00000000 .word okcell_device2 458 02f0 00000000 .word Dev 459 02f4 00000000 .word bms_data ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 11 460 02f8 CDCCCCCC .word -858993459 461 .L10: 100:user_src/soft_bms.c **** // bms_data.bms_ids[2*i] = ((okcell_device1.okcell_inf.cell_P3.cell_p3[2 + i] >> 4) 101:user_src/soft_bms.c **** // bms_data.bms_ids[2*i+1] = (okcell_device1.okcell_inf.cell_P3.cell_p3[2 + i] & 0x 102:user_src/soft_bms.c **** bms_data.bms_ids[2*i] = ((okcell_device1.okcell_inf.cell_P3.cell_p3[1 + i] >> 4) & 462 .loc 1 102 87 discriminator 3 463 02fc 7B68 ldr r3, [r7, #4] 464 02fe 0133 adds r3, r3, #1 465 .loc 1 102 84 discriminator 3 466 0300 524A ldr r2, .L43 467 0302 1344 add r3, r3, r2 468 0304 93F85631 ldrb r3, [r3, #342] @ zero_extendqisi2 469 .loc 1 102 105 discriminator 3 470 0308 1B09 lsrs r3, r3, #4 471 030a DAB2 uxtb r2, r3 472 .loc 1 102 35 discriminator 3 473 030c 7B68 ldr r3, [r7, #4] 474 030e 5B00 lsls r3, r3, #1 475 .loc 1 102 105 discriminator 3 476 0310 3032 adds r2, r2, #48 477 0312 D1B2 uxtb r1, r2 478 .loc 1 102 39 discriminator 3 479 0314 4E4A ldr r2, .L43+4 480 0316 1344 add r3, r3, r2 481 0318 0A46 mov r2, r1 482 031a 83F83920 strb r2, [r3, #57] 103:user_src/soft_bms.c **** bms_data.bms_ids[2*i+1] = (okcell_device1.okcell_inf.cell_P3.cell_p3[1 + i] & 0xf ) 483 .loc 1 103 88 discriminator 3 484 031e 7B68 ldr r3, [r7, #4] 485 0320 0133 adds r3, r3, #1 486 .loc 1 103 85 discriminator 3 487 0322 4A4A ldr r2, .L43 488 0324 1344 add r3, r3, r2 489 0326 93F85631 ldrb r3, [r3, #342] @ zero_extendqisi2 490 .loc 1 103 93 discriminator 3 491 032a 03F00F03 and r3, r3, #15 492 032e DAB2 uxtb r2, r3 493 .loc 1 103 35 discriminator 3 494 0330 7B68 ldr r3, [r7, #4] 495 0332 5B00 lsls r3, r3, #1 496 .loc 1 103 37 discriminator 3 497 0334 0133 adds r3, r3, #1 498 .loc 1 103 100 discriminator 3 499 0336 3032 adds r2, r2, #48 500 0338 D1B2 uxtb r1, r2 501 .loc 1 103 41 discriminator 3 502 033a 454A ldr r2, .L43+4 503 033c 1344 add r3, r3, r2 504 033e 0A46 mov r2, r1 505 0340 83F83920 strb r2, [r3, #57] 99:user_src/soft_bms.c **** for(int i = 1; i< 11; i++){ 506 .loc 1 99 36 discriminator 3 507 0344 7B68 ldr r3, [r7, #4] 508 0346 0133 adds r3, r3, #1 509 0348 7B60 str r3, [r7, #4] 510 .L9: 99:user_src/soft_bms.c **** for(int i = 1; i< 11; i++){ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 12 511 .loc 1 99 13 discriminator 1 512 034a 7B68 ldr r3, [r7, #4] 513 034c 0A2B cmp r3, #10 514 034e D5DD ble .L10 515 .LBE2: 104:user_src/soft_bms.c **** } 105:user_src/soft_bms.c **** //memcpy( bms_data.bms_ids, "okcell", 6 ); 106:user_src/soft_bms.c **** bms_data.bms_ac = okcell_device1.okcell_inf.cell_D0.cell_d0[1]; 516 .loc 1 106 72 517 0350 3E4B ldr r3, .L43 518 0352 B3F8EE30 ldrh r3, [r3, #238] @ unaligned 519 0356 9BB2 uxth r3, r3 520 0358 1AB2 sxth r2, r3 521 .loc 1 106 29 522 035a 3D4B ldr r3, .L43+4 523 035c A3F85D20 strh r2, [r3, #93] @ unaligned 107:user_src/soft_bms.c **** bms_data.serial_num = FAC_OKCELL; 524 .loc 1 107 33 525 0360 3B4B ldr r3, .L43+4 526 0362 0F22 movs r2, #15 527 0364 A3F86420 strh r2, [r3, #100] @ movhi 108:user_src/soft_bms.c **** 109:user_src/soft_bms.c **** //注册 110:user_src/soft_bms.c **** if(StrArrayNull( &bms_data.bms_ids[0], sizeof( bms_data.bms_ids ) ) == false && dev_bms 528 .loc 1 110 16 529 0368 2021 movs r1, #32 530 036a 3A48 ldr r0, .L43+8 531 036c FFF7FEFF bl StrArrayNull 532 0370 0346 mov r3, r0 533 .loc 1 110 81 534 0372 83F00103 eor r3, r3, #1 535 0376 DBB2 uxtb r3, r3 536 .loc 1 110 15 537 0378 002B cmp r3, #0 538 037a 21D0 beq .L11 539 .loc 1 110 108 discriminator 1 540 037c 364B ldr r3, .L43+12 541 037e 93F85430 ldrb r3, [r3, #84] @ zero_extendqisi2 542 .loc 1 110 112 discriminator 1 543 0382 83F00103 eor r3, r3, #1 544 0386 DBB2 uxtb r3, r3 545 .loc 1 110 90 discriminator 1 546 0388 002B cmp r3, #0 547 038a 19D0 beq .L11 111:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,(char *)bms_data.bms_ids,32,NULL,0,NULL 548 .loc 1 111 17 549 038c 0823 movs r3, #8 550 038e 0693 str r3, [sp, #24] 551 0390 324B ldr r3, .L43+16 552 0392 0593 str r3, [sp, #20] 553 0394 0023 movs r3, #0 554 0396 0493 str r3, [sp, #16] 555 0398 0023 movs r3, #0 556 039a 0393 str r3, [sp, #12] 557 039c 0023 movs r3, #0 558 039e 0293 str r3, [sp, #8] 559 03a0 0023 movs r3, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 13 560 03a2 0193 str r3, [sp, #4] 561 03a4 2023 movs r3, #32 562 03a6 0093 str r3, [sp] 563 03a8 2A4B ldr r3, .L43+8 564 03aa 0022 movs r2, #0 565 03ac 0E21 movs r1, #14 566 03ae 2A48 ldr r0, .L43+12 567 03b0 FFF7FEFF bl regist_dev_info 568 03b4 04E0 b .L11 569 .L4: 112:user_src/soft_bms.c **** } 113:user_src/soft_bms.c **** else 114:user_src/soft_bms.c **** { 115:user_src/soft_bms.c **** memset( &bms_data, 0, sizeof( bms_data ) ); 570 .loc 1 115 13 571 03b6 6622 movs r2, #102 572 03b8 0021 movs r1, #0 573 03ba 2548 ldr r0, .L43+4 574 03bc FFF7FEFF bl memset 575 .L11: 116:user_src/soft_bms.c **** } 117:user_src/soft_bms.c **** 118:user_src/soft_bms.c **** //第二组电池 119:user_src/soft_bms.c **** if ( okcell_device2.Okcell_Link.connect_status == COMP_NORMAL ) 576 .loc 1 119 40 577 03c0 274B ldr r3, .L43+20 578 03c2 93F8D730 ldrb r3, [r3, #215] @ zero_extendqisi2 579 .loc 1 119 12 580 03c6 012B cmp r3, #1 581 03c8 40F08081 bne .L12 120:user_src/soft_bms.c **** { 121:user_src/soft_bms.c **** bms_data2.bms_cycle = okcell_device2.okcell_inf.cell_D3.cell_d3[4]; 582 .loc 1 121 76 583 03cc 244B ldr r3, .L43+20 584 03ce B3F84031 ldrh r3, [r3, #320] @ unaligned 585 03d2 9AB2 uxth r2, r3 586 .loc 1 121 33 587 03d4 234B ldr r3, .L43+24 588 03d6 A3F85920 strh r2, [r3, #89] @ unaligned 122:user_src/soft_bms.c **** if(okcell_device2.okcell_inf.cell_D0.cell_d0[6] >= 18) 589 .loc 1 122 57 590 03da 214B ldr r3, .L43+20 591 03dc B3F8F830 ldrh r3, [r3, #248] @ unaligned 592 03e0 9BB2 uxth r3, r3 593 .loc 1 122 15 594 03e2 112B cmp r3, #17 595 03e4 07D9 bls .L13 123:user_src/soft_bms.c **** { 124:user_src/soft_bms.c **** bms_data2.bms_volt = okcell_device2.okcell_inf.cell_D0.cell_d0[0]; 596 .loc 1 124 79 597 03e6 1E4B ldr r3, .L43+20 598 03e8 B3F8EC30 ldrh r3, [r3, #236] @ unaligned 599 03ec 9AB2 uxth r2, r3 600 .loc 1 124 36 601 03ee 1D4B ldr r3, .L43+24 602 03f0 A3F85B20 strh r2, [r3, #91] @ unaligned 603 03f4 0BE0 b .L14 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 14 604 .L13: 125:user_src/soft_bms.c **** } 126:user_src/soft_bms.c **** else 127:user_src/soft_bms.c **** { 128:user_src/soft_bms.c **** bms_data2.bms_volt = okcell_device2.okcell_inf.cell_D0.cell_d0[0] / 10; 605 .loc 1 128 79 606 03f6 1A4B ldr r3, .L43+20 607 03f8 B3F8EC30 ldrh r3, [r3, #236] @ unaligned 608 03fc 9BB2 uxth r3, r3 609 .loc 1 128 36 610 03fe 1A4A ldr r2, .L43+28 611 0400 A2FB0323 umull r2, r3, r2, r3 612 0404 DB08 lsrs r3, r3, #3 613 0406 9AB2 uxth r2, r3 614 0408 164B ldr r3, .L43+24 615 040a A3F85B20 strh r2, [r3, #91] @ unaligned 616 .L14: 129:user_src/soft_bms.c **** } 130:user_src/soft_bms.c **** bms_data2.bms_temp = okcell_device2.okcell_inf.cell_D0.cell_d0[2]; 617 .loc 1 130 75 618 040e 144B ldr r3, .L43+20 619 0410 B3F8F030 ldrh r3, [r3, #240] @ unaligned 620 0414 9BB2 uxth r3, r3 621 0416 1AB2 sxth r2, r3 622 .loc 1 130 32 623 0418 124B ldr r3, .L43+24 624 041a A3F85F20 strh r2, [r3, #95] @ unaligned 131:user_src/soft_bms.c **** bms_data2.bms_vs = okcell_device2.okcell_inf.cell_D0.cell_d0[3]; 625 .loc 1 131 73 626 041e 104B ldr r3, .L43+20 627 0420 B3F8F230 ldrh r3, [r3, #242] @ unaligned 628 0424 9BB2 uxth r3, r3 629 .loc 1 131 30 630 0426 DAB2 uxtb r2, r3 631 0428 0E4B ldr r3, .L43+24 632 042a 83F86120 strb r2, [r3, #97] 132:user_src/soft_bms.c **** //正方电池只关心飞控对接异常不让解锁,不关心异常5 133:user_src/soft_bms.c **** bms_data2.bms_ss = ( ( okcell_device2.okcell_inf.cell_D0.cell_d0[5] >> 8 ) != 5 ) ? ( o 633 .loc 1 133 77 634 042e 0C4B ldr r3, .L43+20 635 0430 B3F8F630 ldrh r3, [r3, #246] @ unaligned 636 0434 9BB2 uxth r3, r3 637 .loc 1 133 88 638 0436 1B0A lsrs r3, r3, #8 639 0438 9BB2 uxth r3, r3 640 .loc 1 133 30 641 043a 052B cmp r3, #5 642 043c 16D0 beq .L15 643 .loc 1 133 140 discriminator 1 644 043e 084B ldr r3, .L43+20 645 0440 B3F8F630 ldrh r3, [r3, #246] @ unaligned 646 0444 9BB2 uxth r3, r3 647 .loc 1 133 30 discriminator 1 648 0446 1B0A lsrs r3, r3, #8 649 0448 9BB2 uxth r3, r3 650 044a 10E0 b .L16 651 .L44: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 15 652 .align 2 653 .L43: 654 044c 00000000 .word okcell_device1 655 0450 00000000 .word bms_data 656 0454 39000000 .word bms_data+57 657 0458 00000000 .word dev_bms1 658 045c 00000000 .word .LC0 659 0460 00000000 .word okcell_device2 660 0464 00000000 .word bms_data2 661 0468 CDCCCCCC .word -858993459 662 .L15: 663 .loc 1 133 30 is_stmt 0 discriminator 2 664 046c 0023 movs r3, #0 665 .L16: 666 .loc 1 133 30 discriminator 4 667 046e 9B4A ldr r2, .L45 668 0470 A2F86230 strh r3, [r2, #98] @ movhi 134:user_src/soft_bms.c **** bms_data2.bms_num = okcell_device2.okcell_inf.cell_D0.cell_d0[6]; 669 .loc 1 134 74 is_stmt 1 discriminator 4 670 0474 9A4B ldr r3, .L45+4 671 0476 B3F8F830 ldrh r3, [r3, #248] @ unaligned 672 047a 9BB2 uxth r3, r3 673 .loc 1 134 31 discriminator 4 674 047c DAB2 uxtb r2, r3 675 047e 974B ldr r3, .L45 676 0480 1A71 strb r2, [r3, #4] 135:user_src/soft_bms.c **** 136:user_src/soft_bms.c **** bms_data2.bms_v1 = okcell_device2.okcell_inf.cell_D0.cell_d0[7]; 677 .loc 1 136 73 discriminator 4 678 0482 974B ldr r3, .L45+4 679 0484 B3F8FA30 ldrh r3, [r3, #250] @ unaligned 680 0488 9AB2 uxth r2, r3 681 .loc 1 136 30 discriminator 4 682 048a 944B ldr r3, .L45 683 048c A3F80520 strh r2, [r3, #5] @ unaligned 137:user_src/soft_bms.c **** bms_data2.bms_v2 = okcell_device2.okcell_inf.cell_D0.cell_d0[8]; 684 .loc 1 137 73 discriminator 4 685 0490 934B ldr r3, .L45+4 686 0492 B3F8FC30 ldrh r3, [r3, #252] @ unaligned 687 0496 9AB2 uxth r2, r3 688 .loc 1 137 30 discriminator 4 689 0498 904B ldr r3, .L45 690 049a A3F80720 strh r2, [r3, #7] @ unaligned 138:user_src/soft_bms.c **** bms_data2.bms_v3 = okcell_device2.okcell_inf.cell_D0.cell_d0[9]; 691 .loc 1 138 73 discriminator 4 692 049e 904B ldr r3, .L45+4 693 04a0 B3F8FE30 ldrh r3, [r3, #254] @ unaligned 694 04a4 9AB2 uxth r2, r3 695 .loc 1 138 30 discriminator 4 696 04a6 8D4B ldr r3, .L45 697 04a8 A3F80920 strh r2, [r3, #9] @ unaligned 139:user_src/soft_bms.c **** bms_data2.bms_v4 = okcell_device2.okcell_inf.cell_D0.cell_d0[10]; 698 .loc 1 139 73 discriminator 4 699 04ac 8C4B ldr r3, .L45+4 700 04ae B3F80031 ldrh r3, [r3, #256] @ unaligned 701 04b2 9AB2 uxth r2, r3 702 .loc 1 139 30 discriminator 4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 16 703 04b4 894B ldr r3, .L45 704 04b6 A3F80B20 strh r2, [r3, #11] @ unaligned 140:user_src/soft_bms.c **** bms_data2.bms_v5 = okcell_device2.okcell_inf.cell_D0.cell_d0[11]; 705 .loc 1 140 73 discriminator 4 706 04ba 894B ldr r3, .L45+4 707 04bc B3F80231 ldrh r3, [r3, #258] @ unaligned 708 04c0 9AB2 uxth r2, r3 709 .loc 1 140 30 discriminator 4 710 04c2 864B ldr r3, .L45 711 04c4 A3F80D20 strh r2, [r3, #13] @ unaligned 141:user_src/soft_bms.c **** bms_data2.bms_v6 = okcell_device2.okcell_inf.cell_D0.cell_d0[12]; 712 .loc 1 141 73 discriminator 4 713 04c8 854B ldr r3, .L45+4 714 04ca B3F80431 ldrh r3, [r3, #260] @ unaligned 715 04ce 9AB2 uxth r2, r3 716 .loc 1 141 30 discriminator 4 717 04d0 824B ldr r3, .L45 718 04d2 A3F80F20 strh r2, [r3, #15] @ unaligned 142:user_src/soft_bms.c **** bms_data2.bms_v7 = okcell_device2.okcell_inf.cell_D0.cell_d0[13]; 719 .loc 1 142 73 discriminator 4 720 04d6 824B ldr r3, .L45+4 721 04d8 B3F80631 ldrh r3, [r3, #262] @ unaligned 722 04dc 9AB2 uxth r2, r3 723 .loc 1 142 30 discriminator 4 724 04de 7F4B ldr r3, .L45 725 04e0 A3F81120 strh r2, [r3, #17] @ unaligned 143:user_src/soft_bms.c **** bms_data2.bms_v8 = okcell_device2.okcell_inf.cell_D0.cell_d0[14]; 726 .loc 1 143 73 discriminator 4 727 04e4 7E4B ldr r3, .L45+4 728 04e6 B3F80831 ldrh r3, [r3, #264] @ unaligned 729 04ea 9AB2 uxth r2, r3 730 .loc 1 143 30 discriminator 4 731 04ec 7B4B ldr r3, .L45 732 04ee A3F81320 strh r2, [r3, #19] @ unaligned 144:user_src/soft_bms.c **** bms_data2.bms_v9 = okcell_device2.okcell_inf.cell_D0.cell_d0[15]; 733 .loc 1 144 73 discriminator 4 734 04f2 7B4B ldr r3, .L45+4 735 04f4 B3F80A31 ldrh r3, [r3, #266] @ unaligned 736 04f8 9AB2 uxth r2, r3 737 .loc 1 144 30 discriminator 4 738 04fa 784B ldr r3, .L45 739 04fc A3F81520 strh r2, [r3, #21] @ unaligned 145:user_src/soft_bms.c **** bms_data2.bms_v10 = okcell_device2.okcell_inf.cell_D0.cell_d0[16]; 740 .loc 1 145 74 discriminator 4 741 0500 774B ldr r3, .L45+4 742 0502 B3F80C31 ldrh r3, [r3, #268] @ unaligned 743 0506 9AB2 uxth r2, r3 744 .loc 1 145 31 discriminator 4 745 0508 744B ldr r3, .L45 746 050a A3F81720 strh r2, [r3, #23] @ unaligned 146:user_src/soft_bms.c **** bms_data2.bms_v11 = okcell_device2.okcell_inf.cell_D0.cell_d0[17]; 747 .loc 1 146 74 discriminator 4 748 050e 744B ldr r3, .L45+4 749 0510 B3F80E31 ldrh r3, [r3, #270] @ unaligned 750 0514 9AB2 uxth r2, r3 751 .loc 1 146 31 discriminator 4 752 0516 714B ldr r3, .L45 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 17 753 0518 A3F81920 strh r2, [r3, #25] @ unaligned 147:user_src/soft_bms.c **** bms_data2.bms_v12 = okcell_device2.okcell_inf.cell_D0.cell_d0[18]; 754 .loc 1 147 74 discriminator 4 755 051c 704B ldr r3, .L45+4 756 051e B3F81031 ldrh r3, [r3, #272] @ unaligned 757 0522 9AB2 uxth r2, r3 758 .loc 1 147 31 discriminator 4 759 0524 6D4B ldr r3, .L45 760 0526 A3F81B20 strh r2, [r3, #27] @ unaligned 148:user_src/soft_bms.c **** bms_data2.bms_v13 = okcell_device2.okcell_inf.cell_D0.cell_d0[19]; 761 .loc 1 148 74 discriminator 4 762 052a 6D4B ldr r3, .L45+4 763 052c B3F81231 ldrh r3, [r3, #274] @ unaligned 764 0530 9AB2 uxth r2, r3 765 .loc 1 148 31 discriminator 4 766 0532 6A4B ldr r3, .L45 767 0534 A3F81D20 strh r2, [r3, #29] @ unaligned 149:user_src/soft_bms.c **** bms_data2.bms_v14 = okcell_device2.okcell_inf.cell_D0.cell_d0[20]; 768 .loc 1 149 74 discriminator 4 769 0538 694B ldr r3, .L45+4 770 053a B3F81431 ldrh r3, [r3, #276] @ unaligned 771 053e 9AB2 uxth r2, r3 772 .loc 1 149 31 discriminator 4 773 0540 664B ldr r3, .L45 774 0542 A3F81F20 strh r2, [r3, #31] @ unaligned 150:user_src/soft_bms.c **** bms_data2.bms_v15 = okcell_device2.okcell_inf.cell_D0.cell_d0[21]; 775 .loc 1 150 74 discriminator 4 776 0546 664B ldr r3, .L45+4 777 0548 B3F81631 ldrh r3, [r3, #278] @ unaligned 778 054c 9AB2 uxth r2, r3 779 .loc 1 150 31 discriminator 4 780 054e 634B ldr r3, .L45 781 0550 A3F82120 strh r2, [r3, #33] @ unaligned 151:user_src/soft_bms.c **** bms_data2.bms_v16 = okcell_device2.okcell_inf.cell_D0.cell_d0[22]; 782 .loc 1 151 74 discriminator 4 783 0554 624B ldr r3, .L45+4 784 0556 B3F81831 ldrh r3, [r3, #280] @ unaligned 785 055a 9AB2 uxth r2, r3 786 .loc 1 151 31 discriminator 4 787 055c 5F4B ldr r3, .L45 788 055e A3F82320 strh r2, [r3, #35] @ unaligned 152:user_src/soft_bms.c **** bms_data2.bms_v17 = okcell_device2.okcell_inf.cell_D0.cell_d0[23]; 789 .loc 1 152 74 discriminator 4 790 0562 5F4B ldr r3, .L45+4 791 0564 B3F81A31 ldrh r3, [r3, #282] @ unaligned 792 0568 9AB2 uxth r2, r3 793 .loc 1 152 31 discriminator 4 794 056a 5C4B ldr r3, .L45 795 056c A3F82520 strh r2, [r3, #37] @ unaligned 153:user_src/soft_bms.c **** bms_data2.bms_v18 = okcell_device2.okcell_inf.cell_D0.cell_d0[24]; 796 .loc 1 153 74 discriminator 4 797 0570 5B4B ldr r3, .L45+4 798 0572 B3F81C31 ldrh r3, [r3, #284] @ unaligned 799 0576 9AB2 uxth r2, r3 800 .loc 1 153 31 discriminator 4 801 0578 584B ldr r3, .L45 802 057a A3F82720 strh r2, [r3, #39] @ unaligned ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 18 154:user_src/soft_bms.c **** bms_data2.bms_v19 = okcell_device2.okcell_inf.cell_D0.cell_d0[25]; 803 .loc 1 154 74 discriminator 4 804 057e 584B ldr r3, .L45+4 805 0580 B3F81E31 ldrh r3, [r3, #286] @ unaligned 806 0584 9AB2 uxth r2, r3 807 .loc 1 154 31 discriminator 4 808 0586 554B ldr r3, .L45 809 0588 A3F82920 strh r2, [r3, #41] @ unaligned 155:user_src/soft_bms.c **** bms_data2.bms_v20 = okcell_device2.okcell_inf.cell_D0.cell_d0[26]; 810 .loc 1 155 74 discriminator 4 811 058c 544B ldr r3, .L45+4 812 058e B3F82031 ldrh r3, [r3, #288] @ unaligned 813 0592 9AB2 uxth r2, r3 814 .loc 1 155 31 discriminator 4 815 0594 514B ldr r3, .L45 816 0596 A3F82B20 strh r2, [r3, #43] @ unaligned 156:user_src/soft_bms.c **** bms_data2.bms_v21 = okcell_device2.okcell_inf.cell_D0.cell_d0[27]; 817 .loc 1 156 74 discriminator 4 818 059a 514B ldr r3, .L45+4 819 059c B3F82231 ldrh r3, [r3, #290] @ unaligned 820 05a0 9AB2 uxth r2, r3 821 .loc 1 156 31 discriminator 4 822 05a2 4E4B ldr r3, .L45 823 05a4 A3F82D20 strh r2, [r3, #45] @ unaligned 157:user_src/soft_bms.c **** bms_data2.bms_v22 = okcell_device2.okcell_inf.cell_D0.cell_d0[28]; 824 .loc 1 157 74 discriminator 4 825 05a8 4D4B ldr r3, .L45+4 826 05aa B3F82431 ldrh r3, [r3, #292] @ unaligned 827 05ae 9AB2 uxth r2, r3 828 .loc 1 157 31 discriminator 4 829 05b0 4A4B ldr r3, .L45 830 05b2 A3F82F20 strh r2, [r3, #47] @ unaligned 158:user_src/soft_bms.c **** bms_data2.bms_v23 = okcell_device2.okcell_inf.cell_D0.cell_d0[29]; 831 .loc 1 158 74 discriminator 4 832 05b6 4A4B ldr r3, .L45+4 833 05b8 B3F82631 ldrh r3, [r3, #294] @ unaligned 834 05bc 9AB2 uxth r2, r3 835 .loc 1 158 31 discriminator 4 836 05be 474B ldr r3, .L45 837 05c0 A3F83120 strh r2, [r3, #49] @ unaligned 159:user_src/soft_bms.c **** bms_data2.bms_v24 = okcell_device2.okcell_inf.cell_D0.cell_d0[30]; 838 .loc 1 159 74 discriminator 4 839 05c4 464B ldr r3, .L45+4 840 05c6 B3F82831 ldrh r3, [r3, #296] @ unaligned 841 05ca 9AB2 uxth r2, r3 842 .loc 1 159 31 discriminator 4 843 05cc 434B ldr r3, .L45 844 05ce A3F83320 strh r2, [r3, #51] @ unaligned 160:user_src/soft_bms.c **** bms_data2.bms_v25 = okcell_device2.okcell_inf.cell_D0.cell_d0[31]; 845 .loc 1 160 74 discriminator 4 846 05d2 434B ldr r3, .L45+4 847 05d4 B3F82A31 ldrh r3, [r3, #298] @ unaligned 848 05d8 9AB2 uxth r2, r3 849 .loc 1 160 31 discriminator 4 850 05da 404B ldr r3, .L45 851 05dc A3F83520 strh r2, [r3, #53] @ unaligned 161:user_src/soft_bms.c **** bms_data2.bms_v26 = okcell_device2.okcell_inf.cell_D0.cell_d0[32]; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 19 852 .loc 1 161 74 discriminator 4 853 05e0 3F4B ldr r3, .L45+4 854 05e2 B3F82C31 ldrh r3, [r3, #300] @ unaligned 855 05e6 9AB2 uxth r2, r3 856 .loc 1 161 31 discriminator 4 857 05e8 3C4B ldr r3, .L45 858 05ea A3F83720 strh r2, [r3, #55] @ unaligned 162:user_src/soft_bms.c **** 163:user_src/soft_bms.c **** bms_data2.bms_ids[0] = okcell_device1.okcell_inf.cell_P3.cell_p3[0]; 859 .loc 1 163 77 discriminator 4 860 05ee 3D4B ldr r3, .L45+8 861 05f0 93F85621 ldrb r2, [r3, #342] @ zero_extendqisi2 862 .loc 1 163 34 discriminator 4 863 05f4 394B ldr r3, .L45 864 05f6 83F83920 strb r2, [r3, #57] 164:user_src/soft_bms.c **** bms_data2.bms_ids[1] = okcell_device1.okcell_inf.cell_P3.cell_p3[1]; 865 .loc 1 164 77 discriminator 4 866 05fa 3A4B ldr r3, .L45+8 867 05fc 93F85721 ldrb r2, [r3, #343] @ zero_extendqisi2 868 .loc 1 164 34 discriminator 4 869 0600 364B ldr r3, .L45 870 0602 83F83A20 strb r2, [r3, #58] 871 .LBB3: 165:user_src/soft_bms.c **** for(int i = 1; i< 11; i++){ 872 .loc 1 165 21 discriminator 4 873 0606 0123 movs r3, #1 874 0608 3B60 str r3, [r7] 875 .loc 1 165 13 discriminator 4 876 060a 26E0 b .L17 877 .L18: 166:user_src/soft_bms.c **** bms_data2.bms_ids[2*i] = ((okcell_device2.okcell_inf.cell_P3.cell_p3[1 + i] >> 4) & 878 .loc 1 166 88 discriminator 3 879 060c 3B68 ldr r3, [r7] 880 060e 0133 adds r3, r3, #1 881 .loc 1 166 85 discriminator 3 882 0610 334A ldr r2, .L45+4 883 0612 1344 add r3, r3, r2 884 0614 93F85631 ldrb r3, [r3, #342] @ zero_extendqisi2 885 .loc 1 166 106 discriminator 3 886 0618 1B09 lsrs r3, r3, #4 887 061a DAB2 uxtb r2, r3 888 .loc 1 166 36 discriminator 3 889 061c 3B68 ldr r3, [r7] 890 061e 5B00 lsls r3, r3, #1 891 .loc 1 166 106 discriminator 3 892 0620 3032 adds r2, r2, #48 893 0622 D1B2 uxtb r1, r2 894 .loc 1 166 40 discriminator 3 895 0624 2D4A ldr r2, .L45 896 0626 1344 add r3, r3, r2 897 0628 0A46 mov r2, r1 898 062a 83F83920 strb r2, [r3, #57] 167:user_src/soft_bms.c **** bms_data2.bms_ids[2*i+1] = (okcell_device2.okcell_inf.cell_P3.cell_p3[1 + i] & 0xf 899 .loc 1 167 89 discriminator 3 900 062e 3B68 ldr r3, [r7] 901 0630 0133 adds r3, r3, #1 902 .loc 1 167 86 discriminator 3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 20 903 0632 2B4A ldr r2, .L45+4 904 0634 1344 add r3, r3, r2 905 0636 93F85631 ldrb r3, [r3, #342] @ zero_extendqisi2 906 .loc 1 167 94 discriminator 3 907 063a 03F00F03 and r3, r3, #15 908 063e DAB2 uxtb r2, r3 909 .loc 1 167 36 discriminator 3 910 0640 3B68 ldr r3, [r7] 911 0642 5B00 lsls r3, r3, #1 912 .loc 1 167 38 discriminator 3 913 0644 0133 adds r3, r3, #1 914 .loc 1 167 101 discriminator 3 915 0646 3032 adds r2, r2, #48 916 0648 D1B2 uxtb r1, r2 917 .loc 1 167 42 discriminator 3 918 064a 244A ldr r2, .L45 919 064c 1344 add r3, r3, r2 920 064e 0A46 mov r2, r1 921 0650 83F83920 strb r2, [r3, #57] 165:user_src/soft_bms.c **** for(int i = 1; i< 11; i++){ 922 .loc 1 165 36 discriminator 3 923 0654 3B68 ldr r3, [r7] 924 0656 0133 adds r3, r3, #1 925 0658 3B60 str r3, [r7] 926 .L17: 165:user_src/soft_bms.c **** for(int i = 1; i< 11; i++){ 927 .loc 1 165 13 discriminator 1 928 065a 3B68 ldr r3, [r7] 929 065c 0A2B cmp r3, #10 930 065e D5DD ble .L18 931 .LBE3: 168:user_src/soft_bms.c **** } 169:user_src/soft_bms.c **** //memcpy( bms_data2.bms_ids, "okcell2", 7 ); 170:user_src/soft_bms.c **** bms_data2.bms_ac = okcell_device2.okcell_inf.cell_D0.cell_d0[1]; 932 .loc 1 170 73 933 0660 1F4B ldr r3, .L45+4 934 0662 B3F8EE30 ldrh r3, [r3, #238] @ unaligned 935 0666 9BB2 uxth r3, r3 936 0668 1AB2 sxth r2, r3 937 .loc 1 170 30 938 066a 1C4B ldr r3, .L45 939 066c A3F85D20 strh r2, [r3, #93] @ unaligned 171:user_src/soft_bms.c **** bms_data2.serial_num = FAC_OKCELL; 940 .loc 1 171 34 941 0670 1A4B ldr r3, .L45 942 0672 0F22 movs r2, #15 943 0674 A3F86420 strh r2, [r3, #100] @ movhi 172:user_src/soft_bms.c **** 173:user_src/soft_bms.c **** if(StrArrayNull( &bms_data2.bms_ids[0], sizeof( bms_data2.bms_ids ) ) == false && dev_b 944 .loc 1 173 16 945 0678 2021 movs r1, #32 946 067a 1B48 ldr r0, .L45+12 947 067c FFF7FEFF bl StrArrayNull 948 0680 0346 mov r3, r0 949 .loc 1 173 83 950 0682 83F00103 eor r3, r3, #1 951 0686 DBB2 uxtb r3, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 21 952 .loc 1 173 15 953 0688 002B cmp r3, #0 954 068a 00F06A84 beq .L37 955 .loc 1 173 110 discriminator 1 956 068e 174B ldr r3, .L45+16 957 0690 93F85430 ldrb r3, [r3, #84] @ zero_extendqisi2 958 .loc 1 173 114 discriminator 1 959 0694 83F00103 eor r3, r3, #1 960 0698 DBB2 uxtb r3, r3 961 .loc 1 173 92 discriminator 1 962 069a 002B cmp r3, #0 963 069c 00F06184 beq .L37 174:user_src/soft_bms.c **** regist_dev_info(&dev_bms2,DEVICE_BMS2,false,(char *)bms_data2.bms_ids,32,NULL,0,NUL 964 .loc 1 174 17 965 06a0 0823 movs r3, #8 966 06a2 0693 str r3, [sp, #24] 967 06a4 124B ldr r3, .L45+20 968 06a6 0593 str r3, [sp, #20] 969 06a8 0023 movs r3, #0 970 06aa 0493 str r3, [sp, #16] 971 06ac 0023 movs r3, #0 972 06ae 0393 str r3, [sp, #12] 973 06b0 0023 movs r3, #0 974 06b2 0293 str r3, [sp, #8] 975 06b4 0023 movs r3, #0 976 06b6 0193 str r3, [sp, #4] 977 06b8 2023 movs r3, #32 978 06ba 0093 str r3, [sp] 979 06bc 0A4B ldr r3, .L45+12 980 06be 0022 movs r2, #0 981 06c0 0F21 movs r1, #15 982 06c2 0A48 ldr r0, .L45+16 983 06c4 FFF7FEFF bl regist_dev_info 119:user_src/soft_bms.c **** { 984 .loc 1 119 12 985 06c8 00F04BBC b .L37 986 .L12: 175:user_src/soft_bms.c **** } 176:user_src/soft_bms.c **** else 177:user_src/soft_bms.c **** { 178:user_src/soft_bms.c **** memset( &bms_data2, 0, sizeof( bms_data2 ) ); 987 .loc 1 178 13 988 06cc 6622 movs r2, #102 989 06ce 0021 movs r1, #0 990 06d0 0248 ldr r0, .L45 991 06d2 FFF7FEFF bl memset 119:user_src/soft_bms.c **** { 992 .loc 1 119 12 993 06d6 00F044BC b .L37 994 .L46: 995 06da 00BF .align 2 996 .L45: 997 06dc 00000000 .word bms_data2 998 06e0 00000000 .word okcell_device2 999 06e4 00000000 .word okcell_device1 1000 06e8 39000000 .word bms_data2+57 1001 06ec 00000000 .word dev_bms2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 22 1002 06f0 08000000 .word .LC1 1003 .L3: 179:user_src/soft_bms.c **** } 180:user_src/soft_bms.c **** } 181:user_src/soft_bms.c **** else if(tattu_device1.Tattu_Link.connect_status == COMP_NORMAL || tattu_device2.Tattu_Link.conn 1004 .loc 1 181 37 1005 06f4 714B ldr r3, .L47 1006 06f6 93F8D430 ldrb r3, [r3, #212] @ zero_extendqisi2 1007 .loc 1 181 12 1008 06fa 012B cmp r3, #1 1009 06fc 05D0 beq .L21 1010 .loc 1 181 95 discriminator 1 1011 06fe 704B ldr r3, .L47+4 1012 0700 93F8D430 ldrb r3, [r3, #212] @ zero_extendqisi2 1013 .loc 1 181 68 discriminator 1 1014 0704 012B cmp r3, #1 1015 0706 40F0E181 bne .L22 1016 .L21: 182:user_src/soft_bms.c **** { 183:user_src/soft_bms.c **** Dev.Bms_Link.connect_status = COMP_NORMAL; 1017 .loc 1 183 37 1018 070a 6E4B ldr r3, .L47+8 1019 070c 0122 movs r2, #1 1020 070e 83F8E021 strb r2, [r3, #480] 184:user_src/soft_bms.c **** 185:user_src/soft_bms.c **** if(tattu_device1.Tattu_Link.connect_status == COMP_NORMAL) 1021 .loc 1 185 36 1022 0712 6A4B ldr r3, .L47 1023 0714 93F8D430 ldrb r3, [r3, #212] @ zero_extendqisi2 1024 .loc 1 185 11 1025 0718 012B cmp r3, #1 1026 071a 40F0E380 bne .L23 186:user_src/soft_bms.c **** { 187:user_src/soft_bms.c **** group_num = 1; 1027 .loc 1 187 23 1028 071e 6A4B ldr r3, .L47+12 1029 0720 0122 movs r2, #1 1030 0722 1A70 strb r2, [r3] 188:user_src/soft_bms.c **** bms_data.bms_cycle = tattu_device1.ttu_inf.tattu_cycle; 1031 .loc 1 188 55 1032 0724 654B ldr r3, .L47 1033 0726 B3F8E830 ldrh r3, [r3, #232] @ unaligned 1034 072a 9AB2 uxth r2, r3 1035 .loc 1 188 32 1036 072c 674B ldr r3, .L47+16 1037 072e A3F85920 strh r2, [r3, #89] @ unaligned 189:user_src/soft_bms.c **** bms_data.bms_volt = tattu_device1.ttu_inf.tattu_volt /10; 1038 .loc 1 189 54 1039 0732 624B ldr r3, .L47 1040 0734 B3F8E030 ldrh r3, [r3, #224] @ unaligned 1041 0738 9BB2 uxth r3, r3 1042 .loc 1 189 31 1043 073a 654A ldr r2, .L47+20 1044 073c A2FB0323 umull r2, r3, r2, r3 1045 0740 DB08 lsrs r3, r3, #3 1046 0742 9AB2 uxth r2, r3 1047 0744 614B ldr r3, .L47+16 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 23 1048 0746 A3F85B20 strh r2, [r3, #91] @ unaligned 190:user_src/soft_bms.c **** bms_data.bms_temp = tattu_device1.ttu_inf.tattu_temp * 10; 1049 .loc 1 190 54 1050 074a 5C4B ldr r3, .L47 1051 074c B3F8E430 ldrh r3, [r3, #228] @ unaligned 1052 0750 9BB2 uxth r3, r3 1053 .loc 1 190 31 1054 0752 1A46 mov r2, r3 @ movhi 1055 0754 9200 lsls r2, r2, #2 1056 0756 1344 add r3, r3, r2 1057 0758 5B00 lsls r3, r3, #1 1058 075a 9BB2 uxth r3, r3 1059 075c 1AB2 sxth r2, r3 1060 075e 5B4B ldr r3, .L47+16 1061 0760 A3F85F20 strh r2, [r3, #95] @ unaligned 191:user_src/soft_bms.c **** bms_data.bms_vs = tattu_device1.ttu_inf.tattu_perc; 1062 .loc 1 191 52 1063 0764 554B ldr r3, .L47 1064 0766 B3F8E630 ldrh r3, [r3, #230] @ unaligned 1065 076a 9BB2 uxth r3, r3 1066 .loc 1 191 29 1067 076c DAB2 uxtb r2, r3 1068 076e 574B ldr r3, .L47+16 1069 0770 83F86120 strb r2, [r3, #97] 192:user_src/soft_bms.c **** bms_data.bms_ss = 0;//ttu_inf.def_info[24] & 0xc00;//格式电池只关心部分报警 1070 .loc 1 192 29 1071 0774 554B ldr r3, .L47+16 1072 0776 0022 movs r2, #0 1073 0778 A3F86220 strh r2, [r3, #98] @ movhi 193:user_src/soft_bms.c **** bms_data.bms_num = tattu_device1.ttu_inf.tattu_cnum; 1074 .loc 1 193 53 1075 077c 4F4B ldr r3, .L47 1076 077e B3F82031 ldrh r3, [r3, #288] @ unaligned 1077 0782 9BB2 uxth r3, r3 1078 .loc 1 193 30 1079 0784 DAB2 uxtb r2, r3 1080 0786 514B ldr r3, .L47+16 1081 0788 1A71 strb r2, [r3, #4] 194:user_src/soft_bms.c **** bms_data.bms_v1 = tattu_device1.ttu_inf.tattu_v1; 1082 .loc 1 194 52 1083 078a 4C4B ldr r3, .L47 1084 078c B3F8EC30 ldrh r3, [r3, #236] @ unaligned 1085 0790 9AB2 uxth r2, r3 1086 .loc 1 194 29 1087 0792 4E4B ldr r3, .L47+16 1088 0794 A3F80520 strh r2, [r3, #5] @ unaligned 195:user_src/soft_bms.c **** bms_data.bms_v2 = tattu_device1.ttu_inf.tattu_v2; 1089 .loc 1 195 52 1090 0798 484B ldr r3, .L47 1091 079a B3F8EE30 ldrh r3, [r3, #238] @ unaligned 1092 079e 9AB2 uxth r2, r3 1093 .loc 1 195 29 1094 07a0 4A4B ldr r3, .L47+16 1095 07a2 A3F80720 strh r2, [r3, #7] @ unaligned 196:user_src/soft_bms.c **** bms_data.bms_v3 = tattu_device1.ttu_inf.tattu_v3; 1096 .loc 1 196 52 1097 07a6 454B ldr r3, .L47 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 24 1098 07a8 B3F8F030 ldrh r3, [r3, #240] @ unaligned 1099 07ac 9AB2 uxth r2, r3 1100 .loc 1 196 29 1101 07ae 474B ldr r3, .L47+16 1102 07b0 A3F80920 strh r2, [r3, #9] @ unaligned 197:user_src/soft_bms.c **** bms_data.bms_v4 = tattu_device1.ttu_inf.tattu_v4; 1103 .loc 1 197 52 1104 07b4 414B ldr r3, .L47 1105 07b6 B3F8F230 ldrh r3, [r3, #242] @ unaligned 1106 07ba 9AB2 uxth r2, r3 1107 .loc 1 197 29 1108 07bc 434B ldr r3, .L47+16 1109 07be A3F80B20 strh r2, [r3, #11] @ unaligned 198:user_src/soft_bms.c **** bms_data.bms_v5 = tattu_device1.ttu_inf.tattu_v5; 1110 .loc 1 198 52 1111 07c2 3E4B ldr r3, .L47 1112 07c4 B3F8F430 ldrh r3, [r3, #244] @ unaligned 1113 07c8 9AB2 uxth r2, r3 1114 .loc 1 198 29 1115 07ca 404B ldr r3, .L47+16 1116 07cc A3F80D20 strh r2, [r3, #13] @ unaligned 199:user_src/soft_bms.c **** bms_data.bms_v6 = tattu_device1.ttu_inf.tattu_v6; 1117 .loc 1 199 52 1118 07d0 3A4B ldr r3, .L47 1119 07d2 B3F8F630 ldrh r3, [r3, #246] @ unaligned 1120 07d6 9AB2 uxth r2, r3 1121 .loc 1 199 29 1122 07d8 3C4B ldr r3, .L47+16 1123 07da A3F80F20 strh r2, [r3, #15] @ unaligned 200:user_src/soft_bms.c **** bms_data.bms_v7 = tattu_device1.ttu_inf.tattu_v7; 1124 .loc 1 200 52 1125 07de 374B ldr r3, .L47 1126 07e0 B3F8F830 ldrh r3, [r3, #248] @ unaligned 1127 07e4 9AB2 uxth r2, r3 1128 .loc 1 200 29 1129 07e6 394B ldr r3, .L47+16 1130 07e8 A3F81120 strh r2, [r3, #17] @ unaligned 201:user_src/soft_bms.c **** bms_data.bms_v8 = tattu_device1.ttu_inf.tattu_v8; 1131 .loc 1 201 52 1132 07ec 334B ldr r3, .L47 1133 07ee B3F8FA30 ldrh r3, [r3, #250] @ unaligned 1134 07f2 9AB2 uxth r2, r3 1135 .loc 1 201 29 1136 07f4 354B ldr r3, .L47+16 1137 07f6 A3F81320 strh r2, [r3, #19] @ unaligned 202:user_src/soft_bms.c **** bms_data.bms_v9 = tattu_device1.ttu_inf.tattu_v9; 1138 .loc 1 202 52 1139 07fa 304B ldr r3, .L47 1140 07fc B3F8FC30 ldrh r3, [r3, #252] @ unaligned 1141 0800 9AB2 uxth r2, r3 1142 .loc 1 202 29 1143 0802 324B ldr r3, .L47+16 1144 0804 A3F81520 strh r2, [r3, #21] @ unaligned 203:user_src/soft_bms.c **** bms_data.bms_v10 = tattu_device1.ttu_inf.tattu_v10; 1145 .loc 1 203 53 1146 0808 2C4B ldr r3, .L47 1147 080a B3F8FE30 ldrh r3, [r3, #254] @ unaligned ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 25 1148 080e 9AB2 uxth r2, r3 1149 .loc 1 203 30 1150 0810 2E4B ldr r3, .L47+16 1151 0812 A3F81720 strh r2, [r3, #23] @ unaligned 204:user_src/soft_bms.c **** bms_data.bms_v11 = tattu_device1.ttu_inf.tattu_v11; 1152 .loc 1 204 53 1153 0816 294B ldr r3, .L47 1154 0818 B3F80031 ldrh r3, [r3, #256] @ unaligned 1155 081c 9AB2 uxth r2, r3 1156 .loc 1 204 30 1157 081e 2B4B ldr r3, .L47+16 1158 0820 A3F81920 strh r2, [r3, #25] @ unaligned 205:user_src/soft_bms.c **** bms_data.bms_v12 = tattu_device1.ttu_inf.tattu_v12; 1159 .loc 1 205 53 1160 0824 254B ldr r3, .L47 1161 0826 B3F80231 ldrh r3, [r3, #258] @ unaligned 1162 082a 9AB2 uxth r2, r3 1163 .loc 1 205 30 1164 082c 274B ldr r3, .L47+16 1165 082e A3F81B20 strh r2, [r3, #27] @ unaligned 206:user_src/soft_bms.c **** bms_data.bms_v13 = tattu_device1.ttu_inf.tattu_v13; 1166 .loc 1 206 53 1167 0832 224B ldr r3, .L47 1168 0834 B3F80431 ldrh r3, [r3, #260] @ unaligned 1169 0838 9AB2 uxth r2, r3 1170 .loc 1 206 30 1171 083a 244B ldr r3, .L47+16 1172 083c A3F81D20 strh r2, [r3, #29] @ unaligned 207:user_src/soft_bms.c **** bms_data.bms_v14 = tattu_device1.ttu_inf.tattu_v14; 1173 .loc 1 207 53 1174 0840 1E4B ldr r3, .L47 1175 0842 B3F80631 ldrh r3, [r3, #262] @ unaligned 1176 0846 9AB2 uxth r2, r3 1177 .loc 1 207 30 1178 0848 204B ldr r3, .L47+16 1179 084a A3F81F20 strh r2, [r3, #31] @ unaligned 208:user_src/soft_bms.c **** memcpy(bms_data.bms_ids,&tattu_device1.ttu_inf.tuattu_id[0],16); 1180 .loc 1 208 13 1181 084e 1022 movs r2, #16 1182 0850 2049 ldr r1, .L47+24 1183 0852 2148 ldr r0, .L47+28 1184 0854 FFF7FEFF bl memcpy 209:user_src/soft_bms.c **** //memcpy(bms_data.bms_ids, "Tattu1", 6); 210:user_src/soft_bms.c **** bms_data.bms_ac = tattu_device1.ttu_inf.tattu_cur; 1185 .loc 1 210 52 1186 0858 184B ldr r3, .L47 1187 085a B3F9E230 ldrsh r3, [r3, #226] @ unaligned 1188 085e 1AB2 sxth r2, r3 1189 .loc 1 210 29 1190 0860 1A4B ldr r3, .L47+16 1191 0862 A3F85D20 strh r2, [r3, #93] @ unaligned 211:user_src/soft_bms.c **** bms_data.serial_num = FAC_TATTU; 1192 .loc 1 211 33 1193 0866 194B ldr r3, .L47+16 1194 0868 0B22 movs r2, #11 1195 086a A3F86420 strh r2, [r3, #100] @ movhi 212:user_src/soft_bms.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 26 213:user_src/soft_bms.c **** if(StrArrayNull( &bms_data.bms_ids[0], sizeof( bms_data.bms_ids ) ) == false && dev_bms 1196 .loc 1 213 16 1197 086e 2021 movs r1, #32 1198 0870 1948 ldr r0, .L47+28 1199 0872 FFF7FEFF bl StrArrayNull 1200 0876 0346 mov r3, r0 1201 .loc 1 213 81 1202 0878 83F00103 eor r3, r3, #1 1203 087c DBB2 uxtb r3, r3 1204 .loc 1 213 15 1205 087e 002B cmp r3, #0 1206 0880 35D0 beq .L24 1207 .loc 1 213 108 discriminator 1 1208 0882 164B ldr r3, .L47+32 1209 0884 93F85430 ldrb r3, [r3, #84] @ zero_extendqisi2 1210 .loc 1 213 112 discriminator 1 1211 0888 83F00103 eor r3, r3, #1 1212 088c DBB2 uxtb r3, r3 1213 .loc 1 213 90 discriminator 1 1214 088e 002B cmp r3, #0 1215 0890 2DD0 beq .L24 214:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,(char *)bms_data.bms_ids,16,NULL,0,NULL 1216 .loc 1 214 17 1217 0892 0723 movs r3, #7 1218 0894 0693 str r3, [sp, #24] 1219 0896 124B ldr r3, .L47+36 1220 0898 0593 str r3, [sp, #20] 1221 089a 0023 movs r3, #0 1222 089c 0493 str r3, [sp, #16] 1223 089e 0023 movs r3, #0 1224 08a0 0393 str r3, [sp, #12] 1225 08a2 0023 movs r3, #0 1226 08a4 0293 str r3, [sp, #8] 1227 08a6 0023 movs r3, #0 1228 08a8 0193 str r3, [sp, #4] 1229 08aa 1023 movs r3, #16 1230 08ac 0093 str r3, [sp] 1231 08ae 0A4B ldr r3, .L47+28 1232 08b0 0022 movs r2, #0 1233 08b2 0E21 movs r1, #14 1234 08b4 0948 ldr r0, .L47+32 1235 08b6 FFF7FEFF bl regist_dev_info 1236 08ba 18E0 b .L24 1237 .L48: 1238 .align 2 1239 .L47: 1240 08bc 00000000 .word tattu_device1 1241 08c0 00000000 .word tattu_device2 1242 08c4 00000000 .word Dev 1243 08c8 00000000 .word group_num 1244 08cc 00000000 .word bms_data 1245 08d0 CDCCCCCC .word -858993459 1246 08d4 10010000 .word tattu_device1+272 1247 08d8 39000000 .word bms_data+57 1248 08dc 00000000 .word dev_bms1 1249 08e0 10000000 .word .LC2 1250 .L23: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 27 215:user_src/soft_bms.c **** } 216:user_src/soft_bms.c **** else 217:user_src/soft_bms.c **** { 218:user_src/soft_bms.c **** memset( &bms_data, 0, sizeof(bms_data)); 1251 .loc 1 218 13 1252 08e4 6622 movs r2, #102 1253 08e6 0021 movs r1, #0 1254 08e8 6F48 ldr r0, .L49 1255 08ea FFF7FEFF bl memset 1256 .L24: 219:user_src/soft_bms.c **** } 220:user_src/soft_bms.c **** 221:user_src/soft_bms.c **** if(tattu_device2.Tattu_Link.connect_status == COMP_NORMAL) 1257 .loc 1 221 36 1258 08ee 6F4B ldr r3, .L49+4 1259 08f0 93F8D430 ldrb r3, [r3, #212] @ zero_extendqisi2 1260 .loc 1 221 11 1261 08f4 012B cmp r3, #1 1262 08f6 40F0D180 bne .L25 222:user_src/soft_bms.c **** { 223:user_src/soft_bms.c **** group_num = 2; 1263 .loc 1 223 23 1264 08fa 6D4B ldr r3, .L49+8 1265 08fc 0222 movs r2, #2 1266 08fe 1A70 strb r2, [r3] 224:user_src/soft_bms.c **** bms_data2.bms_cycle = tattu_device2.ttu_inf.tattu_cycle; 1267 .loc 1 224 56 1268 0900 6A4B ldr r3, .L49+4 1269 0902 B3F8E830 ldrh r3, [r3, #232] @ unaligned 1270 0906 9AB2 uxth r2, r3 1271 .loc 1 224 33 1272 0908 6A4B ldr r3, .L49+12 1273 090a A3F85920 strh r2, [r3, #89] @ unaligned 225:user_src/soft_bms.c **** bms_data2.bms_volt = tattu_device2.ttu_inf.tattu_volt / 10; 1274 .loc 1 225 55 1275 090e 674B ldr r3, .L49+4 1276 0910 B3F8E030 ldrh r3, [r3, #224] @ unaligned 1277 0914 9BB2 uxth r3, r3 1278 .loc 1 225 32 1279 0916 684A ldr r2, .L49+16 1280 0918 A2FB0323 umull r2, r3, r2, r3 1281 091c DB08 lsrs r3, r3, #3 1282 091e 9AB2 uxth r2, r3 1283 0920 644B ldr r3, .L49+12 1284 0922 A3F85B20 strh r2, [r3, #91] @ unaligned 226:user_src/soft_bms.c **** bms_data2.bms_temp = tattu_device2.ttu_inf.tattu_temp * 10; 1285 .loc 1 226 55 1286 0926 614B ldr r3, .L49+4 1287 0928 B3F8E430 ldrh r3, [r3, #228] @ unaligned 1288 092c 9BB2 uxth r3, r3 1289 .loc 1 226 32 1290 092e 1A46 mov r2, r3 @ movhi 1291 0930 9200 lsls r2, r2, #2 1292 0932 1344 add r3, r3, r2 1293 0934 5B00 lsls r3, r3, #1 1294 0936 9BB2 uxth r3, r3 1295 0938 1AB2 sxth r2, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 28 1296 093a 5E4B ldr r3, .L49+12 1297 093c A3F85F20 strh r2, [r3, #95] @ unaligned 227:user_src/soft_bms.c **** bms_data2.bms_vs = tattu_device2.ttu_inf.tattu_perc; 1298 .loc 1 227 53 1299 0940 5A4B ldr r3, .L49+4 1300 0942 B3F8E630 ldrh r3, [r3, #230] @ unaligned 1301 0946 9BB2 uxth r3, r3 1302 .loc 1 227 30 1303 0948 DAB2 uxtb r2, r3 1304 094a 5A4B ldr r3, .L49+12 1305 094c 83F86120 strb r2, [r3, #97] 228:user_src/soft_bms.c **** bms_data2.bms_ss = 0;//ttu_inf.def_info[24] & 0xc00;//格式电池只关心部分报警 1306 .loc 1 228 30 1307 0950 584B ldr r3, .L49+12 1308 0952 0022 movs r2, #0 1309 0954 A3F86220 strh r2, [r3, #98] @ movhi 229:user_src/soft_bms.c **** bms_data2.bms_num = tattu_device2.ttu_inf.tattu_cnum; 1310 .loc 1 229 54 1311 0958 544B ldr r3, .L49+4 1312 095a B3F82031 ldrh r3, [r3, #288] @ unaligned 1313 095e 9BB2 uxth r3, r3 1314 .loc 1 229 31 1315 0960 DAB2 uxtb r2, r3 1316 0962 544B ldr r3, .L49+12 1317 0964 1A71 strb r2, [r3, #4] 230:user_src/soft_bms.c **** bms_data2.bms_v1 = tattu_device2.ttu_inf.tattu_v1; 1318 .loc 1 230 53 1319 0966 514B ldr r3, .L49+4 1320 0968 B3F8EC30 ldrh r3, [r3, #236] @ unaligned 1321 096c 9AB2 uxth r2, r3 1322 .loc 1 230 30 1323 096e 514B ldr r3, .L49+12 1324 0970 A3F80520 strh r2, [r3, #5] @ unaligned 231:user_src/soft_bms.c **** bms_data2.bms_v2 = tattu_device2.ttu_inf.tattu_v2; 1325 .loc 1 231 53 1326 0974 4D4B ldr r3, .L49+4 1327 0976 B3F8EE30 ldrh r3, [r3, #238] @ unaligned 1328 097a 9AB2 uxth r2, r3 1329 .loc 1 231 30 1330 097c 4D4B ldr r3, .L49+12 1331 097e A3F80720 strh r2, [r3, #7] @ unaligned 232:user_src/soft_bms.c **** bms_data2.bms_v3 = tattu_device2.ttu_inf.tattu_v3; 1332 .loc 1 232 53 1333 0982 4A4B ldr r3, .L49+4 1334 0984 B3F8F030 ldrh r3, [r3, #240] @ unaligned 1335 0988 9AB2 uxth r2, r3 1336 .loc 1 232 30 1337 098a 4A4B ldr r3, .L49+12 1338 098c A3F80920 strh r2, [r3, #9] @ unaligned 233:user_src/soft_bms.c **** bms_data2.bms_v4 = tattu_device2.ttu_inf.tattu_v4; 1339 .loc 1 233 53 1340 0990 464B ldr r3, .L49+4 1341 0992 B3F8F230 ldrh r3, [r3, #242] @ unaligned 1342 0996 9AB2 uxth r2, r3 1343 .loc 1 233 30 1344 0998 464B ldr r3, .L49+12 1345 099a A3F80B20 strh r2, [r3, #11] @ unaligned ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 29 234:user_src/soft_bms.c **** bms_data2.bms_v5 = tattu_device2.ttu_inf.tattu_v5; 1346 .loc 1 234 53 1347 099e 434B ldr r3, .L49+4 1348 09a0 B3F8F430 ldrh r3, [r3, #244] @ unaligned 1349 09a4 9AB2 uxth r2, r3 1350 .loc 1 234 30 1351 09a6 434B ldr r3, .L49+12 1352 09a8 A3F80D20 strh r2, [r3, #13] @ unaligned 235:user_src/soft_bms.c **** bms_data2.bms_v6 = tattu_device2.ttu_inf.tattu_v6; 1353 .loc 1 235 53 1354 09ac 3F4B ldr r3, .L49+4 1355 09ae B3F8F630 ldrh r3, [r3, #246] @ unaligned 1356 09b2 9AB2 uxth r2, r3 1357 .loc 1 235 30 1358 09b4 3F4B ldr r3, .L49+12 1359 09b6 A3F80F20 strh r2, [r3, #15] @ unaligned 236:user_src/soft_bms.c **** bms_data2.bms_v7 = tattu_device2.ttu_inf.tattu_v7; 1360 .loc 1 236 53 1361 09ba 3C4B ldr r3, .L49+4 1362 09bc B3F8F830 ldrh r3, [r3, #248] @ unaligned 1363 09c0 9AB2 uxth r2, r3 1364 .loc 1 236 30 1365 09c2 3C4B ldr r3, .L49+12 1366 09c4 A3F81120 strh r2, [r3, #17] @ unaligned 237:user_src/soft_bms.c **** bms_data2.bms_v8 = tattu_device2.ttu_inf.tattu_v8; 1367 .loc 1 237 53 1368 09c8 384B ldr r3, .L49+4 1369 09ca B3F8FA30 ldrh r3, [r3, #250] @ unaligned 1370 09ce 9AB2 uxth r2, r3 1371 .loc 1 237 30 1372 09d0 384B ldr r3, .L49+12 1373 09d2 A3F81320 strh r2, [r3, #19] @ unaligned 238:user_src/soft_bms.c **** bms_data2.bms_v9 = tattu_device2.ttu_inf.tattu_v9; 1374 .loc 1 238 53 1375 09d6 354B ldr r3, .L49+4 1376 09d8 B3F8FC30 ldrh r3, [r3, #252] @ unaligned 1377 09dc 9AB2 uxth r2, r3 1378 .loc 1 238 30 1379 09de 354B ldr r3, .L49+12 1380 09e0 A3F81520 strh r2, [r3, #21] @ unaligned 239:user_src/soft_bms.c **** bms_data2.bms_v10 = tattu_device2.ttu_inf.tattu_v10; 1381 .loc 1 239 54 1382 09e4 314B ldr r3, .L49+4 1383 09e6 B3F8FE30 ldrh r3, [r3, #254] @ unaligned 1384 09ea 9AB2 uxth r2, r3 1385 .loc 1 239 31 1386 09ec 314B ldr r3, .L49+12 1387 09ee A3F81720 strh r2, [r3, #23] @ unaligned 240:user_src/soft_bms.c **** bms_data2.bms_v11 = tattu_device2.ttu_inf.tattu_v11; 1388 .loc 1 240 54 1389 09f2 2E4B ldr r3, .L49+4 1390 09f4 B3F80031 ldrh r3, [r3, #256] @ unaligned 1391 09f8 9AB2 uxth r2, r3 1392 .loc 1 240 31 1393 09fa 2E4B ldr r3, .L49+12 1394 09fc A3F81920 strh r2, [r3, #25] @ unaligned 241:user_src/soft_bms.c **** bms_data2.bms_v12 = tattu_device2.ttu_inf.tattu_v12; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 30 1395 .loc 1 241 54 1396 0a00 2A4B ldr r3, .L49+4 1397 0a02 B3F80231 ldrh r3, [r3, #258] @ unaligned 1398 0a06 9AB2 uxth r2, r3 1399 .loc 1 241 31 1400 0a08 2A4B ldr r3, .L49+12 1401 0a0a A3F81B20 strh r2, [r3, #27] @ unaligned 242:user_src/soft_bms.c **** bms_data2.bms_v13 = tattu_device2.ttu_inf.tattu_v13; 1402 .loc 1 242 54 1403 0a0e 274B ldr r3, .L49+4 1404 0a10 B3F80431 ldrh r3, [r3, #260] @ unaligned 1405 0a14 9AB2 uxth r2, r3 1406 .loc 1 242 31 1407 0a16 274B ldr r3, .L49+12 1408 0a18 A3F81D20 strh r2, [r3, #29] @ unaligned 243:user_src/soft_bms.c **** bms_data2.bms_v14 = tattu_device2.ttu_inf.tattu_v14; 1409 .loc 1 243 54 1410 0a1c 234B ldr r3, .L49+4 1411 0a1e B3F80631 ldrh r3, [r3, #262] @ unaligned 1412 0a22 9AB2 uxth r2, r3 1413 .loc 1 243 31 1414 0a24 234B ldr r3, .L49+12 1415 0a26 A3F81F20 strh r2, [r3, #31] @ unaligned 244:user_src/soft_bms.c **** memcpy(bms_data2.bms_ids,&tattu_device2.ttu_inf.tuattu_id[0],16); 1416 .loc 1 244 13 1417 0a2a 1022 movs r2, #16 1418 0a2c 2349 ldr r1, .L49+20 1419 0a2e 2448 ldr r0, .L49+24 1420 0a30 FFF7FEFF bl memcpy 245:user_src/soft_bms.c **** //memcpy(bms_data2.bms_ids, "Tattu2", 6); 246:user_src/soft_bms.c **** bms_data2.bms_ac = tattu_device2.ttu_inf.tattu_cur; 1421 .loc 1 246 53 1422 0a34 1D4B ldr r3, .L49+4 1423 0a36 B3F9E230 ldrsh r3, [r3, #226] @ unaligned 1424 0a3a 1AB2 sxth r2, r3 1425 .loc 1 246 30 1426 0a3c 1D4B ldr r3, .L49+12 1427 0a3e A3F85D20 strh r2, [r3, #93] @ unaligned 247:user_src/soft_bms.c **** bms_data2.serial_num = FAC_TATTU; 1428 .loc 1 247 34 1429 0a42 1C4B ldr r3, .L49+12 1430 0a44 0B22 movs r2, #11 1431 0a46 A3F86420 strh r2, [r3, #100] @ movhi 248:user_src/soft_bms.c **** 249:user_src/soft_bms.c **** if(StrArrayNull( &bms_data2.bms_ids[0], sizeof( bms_data2.bms_ids ) ) == false && dev_b 1432 .loc 1 249 16 1433 0a4a 2021 movs r1, #32 1434 0a4c 1C48 ldr r0, .L49+24 1435 0a4e FFF7FEFF bl StrArrayNull 1436 0a52 0346 mov r3, r0 1437 .loc 1 249 83 1438 0a54 83F00103 eor r3, r3, #1 1439 0a58 DBB2 uxtb r3, r3 1440 .loc 1 249 15 1441 0a5a 002B cmp r3, #0 1442 0a5c 00F08382 beq .L38 1443 .loc 1 249 110 discriminator 1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 31 1444 0a60 184B ldr r3, .L49+28 1445 0a62 93F85430 ldrb r3, [r3, #84] @ zero_extendqisi2 1446 .loc 1 249 114 discriminator 1 1447 0a66 83F00103 eor r3, r3, #1 1448 0a6a DBB2 uxtb r3, r3 1449 .loc 1 249 92 discriminator 1 1450 0a6c 002B cmp r3, #0 1451 0a6e 00F07A82 beq .L38 250:user_src/soft_bms.c **** regist_dev_info(&dev_bms2,DEVICE_BMS2,false,(char *)bms_data2.bms_ids,16,NULL,0,NUL 1452 .loc 1 250 17 1453 0a72 0723 movs r3, #7 1454 0a74 0693 str r3, [sp, #24] 1455 0a76 144B ldr r3, .L49+32 1456 0a78 0593 str r3, [sp, #20] 1457 0a7a 0023 movs r3, #0 1458 0a7c 0493 str r3, [sp, #16] 1459 0a7e 0023 movs r3, #0 1460 0a80 0393 str r3, [sp, #12] 1461 0a82 0023 movs r3, #0 1462 0a84 0293 str r3, [sp, #8] 1463 0a86 0023 movs r3, #0 1464 0a88 0193 str r3, [sp, #4] 1465 0a8a 1023 movs r3, #16 1466 0a8c 0093 str r3, [sp] 1467 0a8e 0C4B ldr r3, .L49+24 1468 0a90 0022 movs r2, #0 1469 0a92 0F21 movs r1, #15 1470 0a94 0B48 ldr r0, .L49+28 1471 0a96 FFF7FEFF bl regist_dev_info 221:user_src/soft_bms.c **** { 1472 .loc 1 221 11 1473 0a9a 64E2 b .L38 1474 .L25: 251:user_src/soft_bms.c **** } 252:user_src/soft_bms.c **** else 253:user_src/soft_bms.c **** { 254:user_src/soft_bms.c **** memset( &bms_data2, 0, sizeof( bms_data2 ) ); 1475 .loc 1 254 13 1476 0a9c 6622 movs r2, #102 1477 0a9e 0021 movs r1, #0 1478 0aa0 0448 ldr r0, .L49+12 1479 0aa2 FFF7FEFF bl memset 221:user_src/soft_bms.c **** { 1480 .loc 1 221 11 1481 0aa6 5EE2 b .L38 1482 .L50: 1483 .align 2 1484 .L49: 1485 0aa8 00000000 .word bms_data 1486 0aac 00000000 .word tattu_device2 1487 0ab0 00000000 .word group_num 1488 0ab4 00000000 .word bms_data2 1489 0ab8 CDCCCCCC .word -858993459 1490 0abc 10010000 .word tattu_device2+272 1491 0ac0 39000000 .word bms_data2+57 1492 0ac4 00000000 .word dev_bms2 1493 0ac8 18000000 .word .LC3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 32 1494 .L22: 255:user_src/soft_bms.c **** } 256:user_src/soft_bms.c **** } 257:user_src/soft_bms.c **** // else if ( Poweramp_Link.connect_status == COMP_NORMAL ) 258:user_src/soft_bms.c **** // { 259:user_src/soft_bms.c **** // Dev.Bms_Link.connect_status = COMP_NORMAL; 260:user_src/soft_bms.c **** // group_num = 1; 261:user_src/soft_bms.c **** 262:user_src/soft_bms.c **** // //ID不足12位的从buf[0]开始存放 263:user_src/soft_bms.c **** // bms_data.bms_cycle = poweramp_sys.amp_cycle; 264:user_src/soft_bms.c **** // bms_data.bms_volt = ((uint16_t)poweramp_inf.amp_data[0]) / 10; 265:user_src/soft_bms.c **** // bms_data.bms_temp = poweramp_inf.amp_data[3]; 266:user_src/soft_bms.c **** // bms_data.bms_vs = poweramp_inf.amp_data[5] / 10; 267:user_src/soft_bms.c **** // bms_data.bms_ss = poweramp_inf.amp_data[22]; 268:user_src/soft_bms.c **** // bms_data.bms_num = 13; 269:user_src/soft_bms.c **** // bms_data.bms_v1 = poweramp_inf.amp_data[9]; 270:user_src/soft_bms.c **** // bms_data.bms_v2 = poweramp_inf.amp_data[10]; 271:user_src/soft_bms.c **** // bms_data.bms_v3 = poweramp_inf.amp_data[11]; 272:user_src/soft_bms.c **** // bms_data.bms_v4 = poweramp_inf.amp_data[12]; 273:user_src/soft_bms.c **** // bms_data.bms_v5 = poweramp_inf.amp_data[13]; 274:user_src/soft_bms.c **** // bms_data.bms_v6 = poweramp_inf.amp_data[14]; 275:user_src/soft_bms.c **** // bms_data.bms_v7 = poweramp_inf.amp_data[15]; 276:user_src/soft_bms.c **** // bms_data.bms_v8 = poweramp_inf.amp_data[16]; 277:user_src/soft_bms.c **** // bms_data.bms_v9 = poweramp_inf.amp_data[17]; 278:user_src/soft_bms.c **** // bms_data.bms_v10 = poweramp_inf.amp_data[18]; 279:user_src/soft_bms.c **** // bms_data.bms_v11 = poweramp_inf.amp_data[19]; 280:user_src/soft_bms.c **** // bms_data.bms_v12 = poweramp_inf.amp_data[20]; 281:user_src/soft_bms.c **** // bms_data.bms_v13 = poweramp_inf.amp_data[21]; 282:user_src/soft_bms.c **** // memcpy( bms_data.bms_ids, "poweramp", 8 ); 283:user_src/soft_bms.c **** // bms_data.bms_ac = poweramp_inf.amp_data[1]; 284:user_src/soft_bms.c **** // bms_data.serial_num = FAC_POWERAMP; 285:user_src/soft_bms.c **** 286:user_src/soft_bms.c **** // if(dev_bms1.regist.dev == false) 287:user_src/soft_bms.c **** // regist_dev_info(&dev_bms1,DEVICE_BMS1,false,NULL,0,NULL,0,NULL,0,"poweramp",9); 288:user_src/soft_bms.c **** // } 289:user_src/soft_bms.c **** else if ( Herewin_Link.connect_status == COMP_NORMAL ) 1495 .loc 1 289 27 1496 0acc 6D4B ldr r3, .L51 1497 0ace 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 1498 .loc 1 289 13 1499 0ad0 012B cmp r3, #1 1500 0ad2 40F0E980 bne .L27 290:user_src/soft_bms.c **** { 291:user_src/soft_bms.c **** Dev.Bms_Link.connect_status = COMP_NORMAL; 1501 .loc 1 291 37 1502 0ad6 6C4B ldr r3, .L51+4 1503 0ad8 0122 movs r2, #1 1504 0ada 83F8E021 strb r2, [r3, #480] 292:user_src/soft_bms.c **** group_num = 1; 1505 .loc 1 292 19 1506 0ade 6B4B ldr r3, .L51+8 1507 0ae0 0122 movs r2, #1 1508 0ae2 1A70 strb r2, [r3] 293:user_src/soft_bms.c **** 294:user_src/soft_bms.c **** bms_data.bms_cycle = herewin_info.circulation_num;//海盈电池循环次数 1509 .loc 1 294 42 1510 0ae4 6A4B ldr r3, .L51+12 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 33 1511 0ae6 B3F83330 ldrh r3, [r3, #51] @ unaligned 1512 0aea 9AB2 uxth r2, r3 1513 .loc 1 294 28 1514 0aec 694B ldr r3, .L51+16 1515 0aee A3F85920 strh r2, [r3, #89] @ unaligned 295:user_src/soft_bms.c **** bms_data.bms_volt = herewin_info.total_vol; 1516 .loc 1 295 41 1517 0af2 674B ldr r3, .L51+12 1518 0af4 B3F82330 ldrh r3, [r3, #35] @ unaligned 1519 0af8 9AB2 uxth r2, r3 1520 .loc 1 295 27 1521 0afa 664B ldr r3, .L51+16 1522 0afc A3F85B20 strh r2, [r3, #91] @ unaligned 296:user_src/soft_bms.c **** 297:user_src/soft_bms.c **** if(herewin_info.get_temp_flag == true) 1523 .loc 1 297 24 1524 0b00 634B ldr r3, .L51+12 1525 0b02 93F83D30 ldrb r3, [r3, #61] @ zero_extendqisi2 1526 .loc 1 297 11 1527 0b06 002B cmp r3, #0 1528 0b08 18D0 beq .L28 298:user_src/soft_bms.c **** bms_data.bms_temp = ( ( herewin_info.battery_temp[0] + herewin_info.battery_temp[1] + h 1529 .loc 1 298 62 1530 0b0a 614B ldr r3, .L51+12 1531 0b0c 1B78 ldrb r3, [r3] @ zero_extendqisi2 1532 0b0e 1A46 mov r2, r3 1533 .loc 1 298 93 1534 0b10 5F4B ldr r3, .L51+12 1535 0b12 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2 1536 .loc 1 298 66 1537 0b14 1344 add r3, r3, r2 1538 .loc 1 298 124 1539 0b16 5E4A ldr r2, .L51+12 1540 0b18 9278 ldrb r2, [r2, #2] @ zero_extendqisi2 1541 .loc 1 298 97 1542 0b1a 1344 add r3, r3, r2 1543 .loc 1 298 130 1544 0b1c 5E4A ldr r2, .L51+20 1545 0b1e 82FB0312 smull r1, r2, r2, r3 1546 0b22 DB17 asrs r3, r3, #31 1547 0b24 D31A subs r3, r2, r3 1548 .loc 1 298 134 1549 0b26 283B subs r3, r3, #40 1550 .loc 1 298 31 1551 0b28 9BB2 uxth r3, r3 1552 0b2a 1A46 mov r2, r3 @ movhi 1553 0b2c 9200 lsls r2, r2, #2 1554 0b2e 1344 add r3, r3, r2 1555 0b30 5B00 lsls r3, r3, #1 1556 0b32 9BB2 uxth r3, r3 1557 0b34 1AB2 sxth r2, r3 1558 0b36 574B ldr r3, .L51+16 1559 0b38 A3F85F20 strh r2, [r3, #95] @ unaligned 1560 .L28: 299:user_src/soft_bms.c **** 300:user_src/soft_bms.c **** bms_data.bms_vs = herewin_info.SOC_info; 1561 .loc 1 300 39 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 34 1562 0b3c 544B ldr r3, .L51+12 1563 0b3e 93F82720 ldrb r2, [r3, #39] @ zero_extendqisi2 1564 .loc 1 300 25 1565 0b42 544B ldr r3, .L51+16 1566 0b44 83F86120 strb r2, [r3, #97] 301:user_src/soft_bms.c **** 302:user_src/soft_bms.c **** bms_data.bms_ss = herewin_info.warn_info; 1567 .loc 1 302 39 1568 0b48 514B ldr r3, .L51+12 1569 0b4a B3F82130 ldrh r3, [r3, #33] @ unaligned 1570 0b4e 9AB2 uxth r2, r3 1571 .loc 1 302 25 1572 0b50 504B ldr r3, .L51+16 1573 0b52 A3F86220 strh r2, [r3, #98] @ movhi 303:user_src/soft_bms.c **** bms_data.bms_num = herewin_info.battery_num; 1574 .loc 1 303 40 1575 0b56 4E4B ldr r3, .L51+12 1576 0b58 93F83220 ldrb r2, [r3, #50] @ zero_extendqisi2 1577 .loc 1 303 26 1578 0b5c 4D4B ldr r3, .L51+16 1579 0b5e 1A71 strb r2, [r3, #4] 304:user_src/soft_bms.c **** 305:user_src/soft_bms.c **** bms_data.bms_v1 = herewin_info.battery_vol[0]; 1580 .loc 1 305 51 1581 0b60 4B4B ldr r3, .L51+12 1582 0b62 B3F80330 ldrh r3, [r3, #3] @ unaligned 1583 0b66 9AB2 uxth r2, r3 1584 .loc 1 305 25 1585 0b68 4A4B ldr r3, .L51+16 1586 0b6a A3F80520 strh r2, [r3, #5] @ unaligned 306:user_src/soft_bms.c **** bms_data.bms_v2 = herewin_info.battery_vol[1]; 1587 .loc 1 306 51 1588 0b6e 484B ldr r3, .L51+12 1589 0b70 B3F80530 ldrh r3, [r3, #5] @ unaligned 1590 0b74 9AB2 uxth r2, r3 1591 .loc 1 306 25 1592 0b76 474B ldr r3, .L51+16 1593 0b78 A3F80720 strh r2, [r3, #7] @ unaligned 307:user_src/soft_bms.c **** bms_data.bms_v3 = herewin_info.battery_vol[2]; 1594 .loc 1 307 51 1595 0b7c 444B ldr r3, .L51+12 1596 0b7e B3F80730 ldrh r3, [r3, #7] @ unaligned 1597 0b82 9AB2 uxth r2, r3 1598 .loc 1 307 25 1599 0b84 434B ldr r3, .L51+16 1600 0b86 A3F80920 strh r2, [r3, #9] @ unaligned 308:user_src/soft_bms.c **** bms_data.bms_v4 = herewin_info.battery_vol[3]; 1601 .loc 1 308 51 1602 0b8a 414B ldr r3, .L51+12 1603 0b8c B3F80930 ldrh r3, [r3, #9] @ unaligned 1604 0b90 9AB2 uxth r2, r3 1605 .loc 1 308 25 1606 0b92 404B ldr r3, .L51+16 1607 0b94 A3F80B20 strh r2, [r3, #11] @ unaligned 309:user_src/soft_bms.c **** bms_data.bms_v5 = herewin_info.battery_vol[4]; 1608 .loc 1 309 51 1609 0b98 3D4B ldr r3, .L51+12 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 35 1610 0b9a B3F80B30 ldrh r3, [r3, #11] @ unaligned 1611 0b9e 9AB2 uxth r2, r3 1612 .loc 1 309 25 1613 0ba0 3C4B ldr r3, .L51+16 1614 0ba2 A3F80D20 strh r2, [r3, #13] @ unaligned 310:user_src/soft_bms.c **** bms_data.bms_v6 = herewin_info.battery_vol[5]; 1615 .loc 1 310 51 1616 0ba6 3A4B ldr r3, .L51+12 1617 0ba8 B3F80D30 ldrh r3, [r3, #13] @ unaligned 1618 0bac 9AB2 uxth r2, r3 1619 .loc 1 310 25 1620 0bae 394B ldr r3, .L51+16 1621 0bb0 A3F80F20 strh r2, [r3, #15] @ unaligned 311:user_src/soft_bms.c **** bms_data.bms_v7 = herewin_info.battery_vol[6]; 1622 .loc 1 311 51 1623 0bb4 364B ldr r3, .L51+12 1624 0bb6 B3F80F30 ldrh r3, [r3, #15] @ unaligned 1625 0bba 9AB2 uxth r2, r3 1626 .loc 1 311 25 1627 0bbc 354B ldr r3, .L51+16 1628 0bbe A3F81120 strh r2, [r3, #17] @ unaligned 312:user_src/soft_bms.c **** bms_data.bms_v8 = herewin_info.battery_vol[7]; 1629 .loc 1 312 51 1630 0bc2 334B ldr r3, .L51+12 1631 0bc4 B3F81130 ldrh r3, [r3, #17] @ unaligned 1632 0bc8 9AB2 uxth r2, r3 1633 .loc 1 312 25 1634 0bca 324B ldr r3, .L51+16 1635 0bcc A3F81320 strh r2, [r3, #19] @ unaligned 313:user_src/soft_bms.c **** bms_data.bms_v9 = herewin_info.battery_vol[8]; 1636 .loc 1 313 51 1637 0bd0 2F4B ldr r3, .L51+12 1638 0bd2 B3F81330 ldrh r3, [r3, #19] @ unaligned 1639 0bd6 9AB2 uxth r2, r3 1640 .loc 1 313 25 1641 0bd8 2E4B ldr r3, .L51+16 1642 0bda A3F81520 strh r2, [r3, #21] @ unaligned 314:user_src/soft_bms.c **** bms_data.bms_v10 = herewin_info.battery_vol[9]; 1643 .loc 1 314 52 1644 0bde 2C4B ldr r3, .L51+12 1645 0be0 B3F81530 ldrh r3, [r3, #21] @ unaligned 1646 0be4 9AB2 uxth r2, r3 1647 .loc 1 314 26 1648 0be6 2B4B ldr r3, .L51+16 1649 0be8 A3F81720 strh r2, [r3, #23] @ unaligned 315:user_src/soft_bms.c **** bms_data.bms_v11 = herewin_info.battery_vol[10]; 1650 .loc 1 315 52 1651 0bec 284B ldr r3, .L51+12 1652 0bee B3F81730 ldrh r3, [r3, #23] @ unaligned 1653 0bf2 9AB2 uxth r2, r3 1654 .loc 1 315 26 1655 0bf4 274B ldr r3, .L51+16 1656 0bf6 A3F81920 strh r2, [r3, #25] @ unaligned 316:user_src/soft_bms.c **** bms_data.bms_v12 = herewin_info.battery_vol[11]; 1657 .loc 1 316 52 1658 0bfa 254B ldr r3, .L51+12 1659 0bfc B3F81930 ldrh r3, [r3, #25] @ unaligned ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 36 1660 0c00 9AB2 uxth r2, r3 1661 .loc 1 316 26 1662 0c02 244B ldr r3, .L51+16 1663 0c04 A3F81B20 strh r2, [r3, #27] @ unaligned 317:user_src/soft_bms.c **** bms_data.bms_v13 = herewin_info.battery_vol[12]; 1664 .loc 1 317 52 1665 0c08 214B ldr r3, .L51+12 1666 0c0a B3F81B30 ldrh r3, [r3, #27] @ unaligned 1667 0c0e 9AB2 uxth r2, r3 1668 .loc 1 317 26 1669 0c10 204B ldr r3, .L51+16 1670 0c12 A3F81D20 strh r2, [r3, #29] @ unaligned 318:user_src/soft_bms.c **** bms_data.bms_v14 = herewin_info.battery_vol[13]; 1671 .loc 1 318 52 1672 0c16 1E4B ldr r3, .L51+12 1673 0c18 B3F81D30 ldrh r3, [r3, #29] @ unaligned 1674 0c1c 9AB2 uxth r2, r3 1675 .loc 1 318 26 1676 0c1e 1D4B ldr r3, .L51+16 1677 0c20 A3F81F20 strh r2, [r3, #31] @ unaligned 319:user_src/soft_bms.c **** memcpy( bms_data.bms_ids, "herewin", 7 ); 1678 .loc 1 319 9 1679 0c24 0722 movs r2, #7 1680 0c26 1D49 ldr r1, .L51+24 1681 0c28 1D48 ldr r0, .L51+28 1682 0c2a FFF7FEFF bl memcpy 320:user_src/soft_bms.c **** bms_data.bms_ac = herewin_info.tolal_ele; 1683 .loc 1 320 39 1684 0c2e 184B ldr r3, .L51+12 1685 0c30 B3F82530 ldrh r3, [r3, #37] @ unaligned 1686 0c34 9BB2 uxth r3, r3 1687 0c36 1AB2 sxth r2, r3 1688 .loc 1 320 25 1689 0c38 164B ldr r3, .L51+16 1690 0c3a A3F85D20 strh r2, [r3, #93] @ unaligned 321:user_src/soft_bms.c **** bms_data.serial_num = FAC_HEREWIN; 1691 .loc 1 321 29 1692 0c3e 154B ldr r3, .L51+16 1693 0c40 0E22 movs r2, #14 1694 0c42 A3F86420 strh r2, [r3, #100] @ movhi 322:user_src/soft_bms.c **** 323:user_src/soft_bms.c **** if(dev_bms1.regist.dev == false) 1695 .loc 1 323 27 1696 0c46 174B ldr r3, .L51+32 1697 0c48 93F85330 ldrb r3, [r3, #83] @ zero_extendqisi2 1698 .loc 1 323 32 1699 0c4c 83F00103 eor r3, r3, #1 1700 0c50 DBB2 uxtb r3, r3 1701 .loc 1 323 11 1702 0c52 002B cmp r3, #0 1703 0c54 00F08A81 beq .L39 324:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,NULL,0,NULL,0,NULL,0,"herewin",8); 1704 .loc 1 324 13 1705 0c58 0823 movs r3, #8 1706 0c5a 0693 str r3, [sp, #24] 1707 0c5c 0F4B ldr r3, .L51+24 1708 0c5e 0593 str r3, [sp, #20] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 37 1709 0c60 0023 movs r3, #0 1710 0c62 0493 str r3, [sp, #16] 1711 0c64 0023 movs r3, #0 1712 0c66 0393 str r3, [sp, #12] 1713 0c68 0023 movs r3, #0 1714 0c6a 0293 str r3, [sp, #8] 1715 0c6c 0023 movs r3, #0 1716 0c6e 0193 str r3, [sp, #4] 1717 0c70 0023 movs r3, #0 1718 0c72 0093 str r3, [sp] 1719 0c74 0023 movs r3, #0 1720 0c76 0022 movs r2, #0 1721 0c78 0E21 movs r1, #14 1722 0c7a 0A48 ldr r0, .L51+32 1723 0c7c FFF7FEFF bl regist_dev_info 325:user_src/soft_bms.c **** } 326:user_src/soft_bms.c **** else if(Device1.Vkbms_Link.connect_status == COMP_NORMAL || Device2.Vkbms_Link.connect_status = 327:user_src/soft_bms.c **** { 328:user_src/soft_bms.c **** Dev.Bms_Link.connect_status = COMP_NORMAL; 329:user_src/soft_bms.c **** 330:user_src/soft_bms.c **** //第一组电池 331:user_src/soft_bms.c **** if ( Device1.Vkbms_Link.connect_status == COMP_NORMAL ) 332:user_src/soft_bms.c **** { 333:user_src/soft_bms.c **** group_num = 1; 334:user_src/soft_bms.c **** bms_data.bms_cycle = Device1.vk_bms5.circulation_time; 335:user_src/soft_bms.c **** bms_data.bms_volt = Device1.vk_bms2.voltage; 336:user_src/soft_bms.c **** bms_data.bms_temp = Device1.vk_bms2.tempture; 337:user_src/soft_bms.c **** bms_data.bms_vs = Device1.vk_bms2.persent / 10; 338:user_src/soft_bms.c **** bms_data.bms_ss = Device1.vk_bms2.warn_flag; 339:user_src/soft_bms.c **** bms_data.bms_num = Device1.vk_bms2.bms_num; 340:user_src/soft_bms.c **** memcpy(&bms_data.bms_v1,&Device1.vk_bms2.bms_v1,26 * 2); 341:user_src/soft_bms.c **** 342:user_src/soft_bms.c **** memcpy(&bms_data.bms_ids[0],&Device1.vk_bms3.bms_id[0],20); 343:user_src/soft_bms.c **** // bms_data.bms_ids[0] = Device1.vk_bms3.bms_id[0]; 344:user_src/soft_bms.c **** // bms_data.bms_ids[1] = Device1.vk_bms3.bms_id[1]; 345:user_src/soft_bms.c **** // for(int i = 1; i< 11; i++){ 346:user_src/soft_bms.c **** // bms_data.bms_ids[2*i] = ((Device1.vk_bms3.bms_id[1 + i] >> 4) & 0xf) + '0'; 347:user_src/soft_bms.c **** // bms_data.bms_ids[2*i+1] = (Device1.vk_bms3.bms_id[1 + i] & 0xf )+ '0'; 348:user_src/soft_bms.c **** // } 349:user_src/soft_bms.c **** bms_data.bms_ac = (short)(Device1.vk_bms2.current / 10); 350:user_src/soft_bms.c **** bms_data.serial_num = FAC_VK_BMS; 351:user_src/soft_bms.c **** // if( Device1.vk_bms3.bms_type_info[0] == 'S' && Device1.vk_bms3.bms_type_info[0] == ' 352:user_src/soft_bms.c **** // && Device1.vk_bms3.bms_type_info[0] == 'A' && Device1.vk_bms3.bms_type_info[0] == '1 353:user_src/soft_bms.c **** // { 354:user_src/soft_bms.c **** // bms_data.serial_num = 11; //??? 355:user_src/soft_bms.c **** // } 356:user_src/soft_bms.c **** 357:user_src/soft_bms.c **** //厂家还没加 358:user_src/soft_bms.c **** if(StrArrayNull( &bms_data.bms_ids[0], sizeof( bms_data.bms_ids ) ) == false && dev_bms 359:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,(char *)bms_data.bms_ids,32,NULL,0,NULL 360:user_src/soft_bms.c **** if(StrArrayNull( (uint8_t *)&Device1.vk_bms3.bms_company_info[0], sizeof( Device1.vk_bm 361:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,NULL,0,NULL,0,NULL,0,&Device1.vk_bms3.b 362:user_src/soft_bms.c **** 363:user_src/soft_bms.c **** } 364:user_src/soft_bms.c **** else 365:user_src/soft_bms.c **** { 366:user_src/soft_bms.c **** memset( &Device1, 0, sizeof( Device1 ) ); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 38 367:user_src/soft_bms.c **** } 368:user_src/soft_bms.c **** 369:user_src/soft_bms.c **** //第二组电池 370:user_src/soft_bms.c **** if ( Device2.Vkbms_Link.connect_status == COMP_NORMAL ) 371:user_src/soft_bms.c **** { 372:user_src/soft_bms.c **** group_num = 2; 373:user_src/soft_bms.c **** bms_data2.bms_cycle = Device2.vk_bms5.circulation_time; 374:user_src/soft_bms.c **** bms_data2.bms_volt = Device2.vk_bms2.voltage; 375:user_src/soft_bms.c **** bms_data2.bms_temp = Device2.vk_bms2.tempture; 376:user_src/soft_bms.c **** bms_data2.bms_vs = Device2.vk_bms2.persent / 10; 377:user_src/soft_bms.c **** bms_data2.bms_ss = Device2.vk_bms2.warn_flag; 378:user_src/soft_bms.c **** bms_data2.bms_num = Device2.vk_bms2.bms_num; 379:user_src/soft_bms.c **** 380:user_src/soft_bms.c **** memcpy(&bms_data2.bms_v1,&Device2.vk_bms2.bms_v1,26 * 2); 381:user_src/soft_bms.c **** 382:user_src/soft_bms.c **** memcpy(&bms_data2.bms_ids[0],&Device2.vk_bms3.bms_id[0],20); 383:user_src/soft_bms.c **** 384:user_src/soft_bms.c **** bms_data2.bms_ac = (short)(Device2.vk_bms2.current / 10); 385:user_src/soft_bms.c **** bms_data2.serial_num = FAC_VK_BMS; 386:user_src/soft_bms.c **** // if( Device2.vk_bms3.bms_type_info[0] == 'S' && Device2.vk_bms3.bms_type_info[0] == ' 387:user_src/soft_bms.c **** // && Device2.vk_bms3.bms_type_info[0] == 'A' && Device2.vk_bms3.bms_type_info[0] == '1 388:user_src/soft_bms.c **** // { 389:user_src/soft_bms.c **** // bms_data2.serial_num = 11; //??? 390:user_src/soft_bms.c **** // } 391:user_src/soft_bms.c **** if(StrArrayNull( &bms_data2.bms_ids[0], sizeof( bms_data2.bms_ids ) ) == false && dev_b 392:user_src/soft_bms.c **** regist_dev_info(&dev_bms2,DEVICE_BMS2,false,(char *)bms_data2.bms_ids,32,NULL,0,NUL 393:user_src/soft_bms.c **** if(StrArrayNull( (uint8_t *)&Device2.vk_bms3.bms_company_info[0], sizeof( Device2.vk_bm 394:user_src/soft_bms.c **** regist_dev_info(&dev_bms2,DEVICE_BMS2,false,NULL,0,NULL,0,NULL,0,&Device2.vk_bms3.b 395:user_src/soft_bms.c **** 396:user_src/soft_bms.c **** } 397:user_src/soft_bms.c **** else 398:user_src/soft_bms.c **** { 399:user_src/soft_bms.c **** memset( &bms_data2, 0, sizeof( bms_data2 ) ); 400:user_src/soft_bms.c **** } 401:user_src/soft_bms.c **** } 402:user_src/soft_bms.c **** else 403:user_src/soft_bms.c **** { 404:user_src/soft_bms.c **** if ( Dev.Bms_Link.connect_status == COMP_NORMAL ) 405:user_src/soft_bms.c **** { 406:user_src/soft_bms.c **** Dev.Bms_Link.connect_status = COMP_LOST; 407:user_src/soft_bms.c **** //memset(&bms_data, 0, sizeof(bms_data)); 408:user_src/soft_bms.c **** //状态未置异常 409:user_src/soft_bms.c **** bms_data.bms_ss = 0; 410:user_src/soft_bms.c **** } 411:user_src/soft_bms.c **** } 412:user_src/soft_bms.c **** } 1724 .loc 1 412 1 1725 0c80 74E1 b .L39 1726 .L52: 1727 0c82 00BF .align 2 1728 .L51: 1729 0c84 00000000 .word Herewin_Link 1730 0c88 00000000 .word Dev 1731 0c8c 00000000 .word group_num 1732 0c90 00000000 .word herewin_info 1733 0c94 00000000 .word bms_data 1734 0c98 56555555 .word 1431655766 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 39 1735 0c9c 20000000 .word .LC4 1736 0ca0 39000000 .word bms_data+57 1737 0ca4 00000000 .word dev_bms1 1738 .L27: 326:user_src/soft_bms.c **** { 1739 .loc 1 326 31 1740 0ca8 B24B ldr r3, .L53 1741 0caa 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 326:user_src/soft_bms.c **** { 1742 .loc 1 326 12 1743 0cac 012B cmp r3, #1 1744 0cae 04D0 beq .L29 326:user_src/soft_bms.c **** { 1745 .loc 1 326 83 discriminator 1 1746 0cb0 B14B ldr r3, .L53+4 1747 0cb2 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 326:user_src/soft_bms.c **** { 1748 .loc 1 326 62 discriminator 1 1749 0cb4 012B cmp r3, #1 1750 0cb6 40F04681 bne .L30 1751 .L29: 328:user_src/soft_bms.c **** 1752 .loc 1 328 37 1753 0cba B04B ldr r3, .L53+8 1754 0cbc 0122 movs r2, #1 1755 0cbe 83F8E021 strb r2, [r3, #480] 331:user_src/soft_bms.c **** { 1756 .loc 1 331 32 1757 0cc2 AC4B ldr r3, .L53 1758 0cc4 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 331:user_src/soft_bms.c **** { 1759 .loc 1 331 12 1760 0cc6 012B cmp r3, #1 1761 0cc8 40F09680 bne .L31 333:user_src/soft_bms.c **** bms_data.bms_cycle = Device1.vk_bms5.circulation_time; 1762 .loc 1 333 23 1763 0ccc AC4B ldr r3, .L53+12 1764 0cce 0122 movs r2, #1 1765 0cd0 1A70 strb r2, [r3] 334:user_src/soft_bms.c **** bms_data.bms_volt = Device1.vk_bms2.voltage; 1766 .loc 1 334 49 1767 0cd2 A84B ldr r3, .L53 1768 0cd4 B3F83621 ldrh r2, [r3, #310] 334:user_src/soft_bms.c **** bms_data.bms_volt = Device1.vk_bms2.voltage; 1769 .loc 1 334 32 1770 0cd8 AA4B ldr r3, .L53+16 1771 0cda A3F85920 strh r2, [r3, #89] @ unaligned 335:user_src/soft_bms.c **** bms_data.bms_temp = Device1.vk_bms2.tempture; 1772 .loc 1 335 48 1773 0cde A54B ldr r3, .L53 1774 0ce0 B3F89620 ldrh r2, [r3, #150] 335:user_src/soft_bms.c **** bms_data.bms_temp = Device1.vk_bms2.tempture; 1775 .loc 1 335 31 1776 0ce4 A74B ldr r3, .L53+16 1777 0ce6 A3F85B20 strh r2, [r3, #91] @ unaligned 336:user_src/soft_bms.c **** bms_data.bms_vs = Device1.vk_bms2.persent / 10; 1778 .loc 1 336 48 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 40 1779 0cea A24B ldr r3, .L53 1780 0cec B3F99C20 ldrsh r2, [r3, #156] 336:user_src/soft_bms.c **** bms_data.bms_vs = Device1.vk_bms2.persent / 10; 1781 .loc 1 336 31 1782 0cf0 A44B ldr r3, .L53+16 1783 0cf2 A3F85F20 strh r2, [r3, #95] @ unaligned 337:user_src/soft_bms.c **** bms_data.bms_ss = Device1.vk_bms2.warn_flag; 1784 .loc 1 337 46 1785 0cf6 9F4B ldr r3, .L53 1786 0cf8 B3F8A030 ldrh r3, [r3, #160] 337:user_src/soft_bms.c **** bms_data.bms_ss = Device1.vk_bms2.warn_flag; 1787 .loc 1 337 29 1788 0cfc A24A ldr r2, .L53+20 1789 0cfe A2FB0323 umull r2, r3, r2, r3 1790 0d02 DB08 lsrs r3, r3, #3 1791 0d04 9BB2 uxth r3, r3 1792 0d06 DAB2 uxtb r2, r3 1793 0d08 9E4B ldr r3, .L53+16 1794 0d0a 83F86120 strb r2, [r3, #97] 338:user_src/soft_bms.c **** bms_data.bms_num = Device1.vk_bms2.bms_num; 1795 .loc 1 338 46 1796 0d0e 994B ldr r3, .L53 1797 0d10 D3F8A230 ldr r3, [r3, #162] @ unaligned 338:user_src/soft_bms.c **** bms_data.bms_num = Device1.vk_bms2.bms_num; 1798 .loc 1 338 29 1799 0d14 9AB2 uxth r2, r3 1800 0d16 9B4B ldr r3, .L53+16 1801 0d18 A3F86220 strh r2, [r3, #98] @ movhi 339:user_src/soft_bms.c **** memcpy(&bms_data.bms_v1,&Device1.vk_bms2.bms_v1,26 * 2); 1802 .loc 1 339 47 1803 0d1c 954B ldr r3, .L53 1804 0d1e B3F8A630 ldrh r3, [r3, #166] 339:user_src/soft_bms.c **** memcpy(&bms_data.bms_v1,&Device1.vk_bms2.bms_v1,26 * 2); 1805 .loc 1 339 30 1806 0d22 DAB2 uxtb r2, r3 1807 0d24 974B ldr r3, .L53+16 1808 0d26 1A71 strb r2, [r3, #4] 340:user_src/soft_bms.c **** 1809 .loc 1 340 13 1810 0d28 3422 movs r2, #52 1811 0d2a 9849 ldr r1, .L53+24 1812 0d2c 9848 ldr r0, .L53+28 1813 0d2e FFF7FEFF bl memcpy 342:user_src/soft_bms.c **** // bms_data.bms_ids[0] = Device1.vk_bms3.bms_id[0]; 1814 .loc 1 342 13 1815 0d32 1422 movs r2, #20 1816 0d34 9749 ldr r1, .L53+32 1817 0d36 9848 ldr r0, .L53+36 1818 0d38 FFF7FEFF bl memcpy 349:user_src/soft_bms.c **** bms_data.serial_num = FAC_VK_BMS; 1819 .loc 1 349 54 1820 0d3c 8D4B ldr r3, .L53 1821 0d3e D3F89830 ldr r3, [r3, #152] 349:user_src/soft_bms.c **** bms_data.serial_num = FAC_VK_BMS; 1822 .loc 1 349 63 1823 0d42 964A ldr r2, .L53+40 1824 0d44 82FB0312 smull r1, r2, r2, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 41 1825 0d48 9210 asrs r2, r2, #2 1826 0d4a DB17 asrs r3, r3, #31 1827 0d4c D31A subs r3, r2, r3 349:user_src/soft_bms.c **** bms_data.serial_num = FAC_VK_BMS; 1828 .loc 1 349 31 1829 0d4e 1AB2 sxth r2, r3 349:user_src/soft_bms.c **** bms_data.serial_num = FAC_VK_BMS; 1830 .loc 1 349 29 1831 0d50 8C4B ldr r3, .L53+16 1832 0d52 A3F85D20 strh r2, [r3, #93] @ unaligned 350:user_src/soft_bms.c **** // if( Device1.vk_bms3.bms_type_info[0] == 'S' && Device1.vk_bms3.bms_type_info[0] == ' 1833 .loc 1 350 33 1834 0d56 8B4B ldr r3, .L53+16 1835 0d58 0A22 movs r2, #10 1836 0d5a A3F86420 strh r2, [r3, #100] @ movhi 358:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,(char *)bms_data.bms_ids,32,NULL,0,NULL 1837 .loc 1 358 16 1838 0d5e 2021 movs r1, #32 1839 0d60 8D48 ldr r0, .L53+36 1840 0d62 FFF7FEFF bl StrArrayNull 1841 0d66 0346 mov r3, r0 358:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,(char *)bms_data.bms_ids,32,NULL,0,NULL 1842 .loc 1 358 81 1843 0d68 83F00103 eor r3, r3, #1 1844 0d6c DBB2 uxtb r3, r3 358:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,(char *)bms_data.bms_ids,32,NULL,0,NULL 1845 .loc 1 358 15 1846 0d6e 002B cmp r3, #0 1847 0d70 1BD0 beq .L32 358:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,(char *)bms_data.bms_ids,32,NULL,0,NULL 1848 .loc 1 358 108 discriminator 1 1849 0d72 8B4B ldr r3, .L53+44 1850 0d74 93F85430 ldrb r3, [r3, #84] @ zero_extendqisi2 358:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,(char *)bms_data.bms_ids,32,NULL,0,NULL 1851 .loc 1 358 112 discriminator 1 1852 0d78 83F00103 eor r3, r3, #1 1853 0d7c DBB2 uxtb r3, r3 358:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,(char *)bms_data.bms_ids,32,NULL,0,NULL 1854 .loc 1 358 90 discriminator 1 1855 0d7e 002B cmp r3, #0 1856 0d80 13D0 beq .L32 359:user_src/soft_bms.c **** if(StrArrayNull( (uint8_t *)&Device1.vk_bms3.bms_company_info[0], sizeof( Device1.vk_bm 1857 .loc 1 359 17 1858 0d82 0023 movs r3, #0 1859 0d84 0693 str r3, [sp, #24] 1860 0d86 0023 movs r3, #0 1861 0d88 0593 str r3, [sp, #20] 1862 0d8a 0023 movs r3, #0 1863 0d8c 0493 str r3, [sp, #16] 1864 0d8e 0023 movs r3, #0 1865 0d90 0393 str r3, [sp, #12] 1866 0d92 0023 movs r3, #0 1867 0d94 0293 str r3, [sp, #8] 1868 0d96 0023 movs r3, #0 1869 0d98 0193 str r3, [sp, #4] 1870 0d9a 2023 movs r3, #32 1871 0d9c 0093 str r3, [sp] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 42 1872 0d9e 7E4B ldr r3, .L53+36 1873 0da0 0022 movs r2, #0 1874 0da2 0E21 movs r1, #14 1875 0da4 7E48 ldr r0, .L53+44 1876 0da6 FFF7FEFF bl regist_dev_info 1877 .L32: 360:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,NULL,0,NULL,0,NULL,0,&Device1.vk_bms3.b 1878 .loc 1 360 16 1879 0daa 1421 movs r1, #20 1880 0dac 7D48 ldr r0, .L53+48 1881 0dae FFF7FEFF bl StrArrayNull 1882 0db2 0346 mov r3, r0 360:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,NULL,0,NULL,0,NULL,0,&Device1.vk_bms3.b 1883 .loc 1 360 124 1884 0db4 83F00103 eor r3, r3, #1 1885 0db8 DBB2 uxtb r3, r3 360:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,NULL,0,NULL,0,NULL,0,&Device1.vk_bms3.b 1886 .loc 1 360 15 1887 0dba 002B cmp r3, #0 1888 0dbc 22D0 beq .L33 360:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,NULL,0,NULL,0,NULL,0,&Device1.vk_bms3.b 1889 .loc 1 360 151 discriminator 1 1890 0dbe 784B ldr r3, .L53+44 1891 0dc0 93F85730 ldrb r3, [r3, #87] @ zero_extendqisi2 360:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,NULL,0,NULL,0,NULL,0,&Device1.vk_bms3.b 1892 .loc 1 360 157 discriminator 1 1893 0dc4 83F00103 eor r3, r3, #1 1894 0dc8 DBB2 uxtb r3, r3 360:user_src/soft_bms.c **** regist_dev_info(&dev_bms1,DEVICE_BMS1,false,NULL,0,NULL,0,NULL,0,&Device1.vk_bms3.b 1895 .loc 1 360 133 discriminator 1 1896 0dca 002B cmp r3, #0 1897 0dcc 1AD0 beq .L33 361:user_src/soft_bms.c **** 1898 .loc 1 361 17 1899 0dce 1023 movs r3, #16 1900 0dd0 0693 str r3, [sp, #24] 1901 0dd2 744B ldr r3, .L53+48 1902 0dd4 0593 str r3, [sp, #20] 1903 0dd6 0023 movs r3, #0 1904 0dd8 0493 str r3, [sp, #16] 1905 0dda 0023 movs r3, #0 1906 0ddc 0393 str r3, [sp, #12] 1907 0dde 0023 movs r3, #0 1908 0de0 0293 str r3, [sp, #8] 1909 0de2 0023 movs r3, #0 1910 0de4 0193 str r3, [sp, #4] 1911 0de6 0023 movs r3, #0 1912 0de8 0093 str r3, [sp] 1913 0dea 0023 movs r3, #0 1914 0dec 0022 movs r2, #0 1915 0dee 0E21 movs r1, #14 1916 0df0 6B48 ldr r0, .L53+44 1917 0df2 FFF7FEFF bl regist_dev_info 1918 0df6 05E0 b .L33 1919 .L31: 366:user_src/soft_bms.c **** } 1920 .loc 1 366 13 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 43 1921 0df8 40F24D12 movw r2, #333 1922 0dfc 0021 movs r1, #0 1923 0dfe 5D48 ldr r0, .L53 1924 0e00 FFF7FEFF bl memset 1925 .L33: 370:user_src/soft_bms.c **** { 1926 .loc 1 370 32 1927 0e04 5C4B ldr r3, .L53+4 1928 0e06 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 370:user_src/soft_bms.c **** { 1929 .loc 1 370 12 1930 0e08 012B cmp r3, #1 1931 0e0a 40F09680 bne .L34 372:user_src/soft_bms.c **** bms_data2.bms_cycle = Device2.vk_bms5.circulation_time; 1932 .loc 1 372 23 1933 0e0e 5C4B ldr r3, .L53+12 1934 0e10 0222 movs r2, #2 1935 0e12 1A70 strb r2, [r3] 373:user_src/soft_bms.c **** bms_data2.bms_volt = Device2.vk_bms2.voltage; 1936 .loc 1 373 50 1937 0e14 584B ldr r3, .L53+4 1938 0e16 B3F83621 ldrh r2, [r3, #310] 373:user_src/soft_bms.c **** bms_data2.bms_volt = Device2.vk_bms2.voltage; 1939 .loc 1 373 33 1940 0e1a 634B ldr r3, .L53+52 1941 0e1c A3F85920 strh r2, [r3, #89] @ unaligned 374:user_src/soft_bms.c **** bms_data2.bms_temp = Device2.vk_bms2.tempture; 1942 .loc 1 374 49 1943 0e20 554B ldr r3, .L53+4 1944 0e22 B3F89620 ldrh r2, [r3, #150] 374:user_src/soft_bms.c **** bms_data2.bms_temp = Device2.vk_bms2.tempture; 1945 .loc 1 374 32 1946 0e26 604B ldr r3, .L53+52 1947 0e28 A3F85B20 strh r2, [r3, #91] @ unaligned 375:user_src/soft_bms.c **** bms_data2.bms_vs = Device2.vk_bms2.persent / 10; 1948 .loc 1 375 49 1949 0e2c 524B ldr r3, .L53+4 1950 0e2e B3F99C20 ldrsh r2, [r3, #156] 375:user_src/soft_bms.c **** bms_data2.bms_vs = Device2.vk_bms2.persent / 10; 1951 .loc 1 375 32 1952 0e32 5D4B ldr r3, .L53+52 1953 0e34 A3F85F20 strh r2, [r3, #95] @ unaligned 376:user_src/soft_bms.c **** bms_data2.bms_ss = Device2.vk_bms2.warn_flag; 1954 .loc 1 376 47 1955 0e38 4F4B ldr r3, .L53+4 1956 0e3a B3F8A030 ldrh r3, [r3, #160] 376:user_src/soft_bms.c **** bms_data2.bms_ss = Device2.vk_bms2.warn_flag; 1957 .loc 1 376 30 1958 0e3e 524A ldr r2, .L53+20 1959 0e40 A2FB0323 umull r2, r3, r2, r3 1960 0e44 DB08 lsrs r3, r3, #3 1961 0e46 9BB2 uxth r3, r3 1962 0e48 DAB2 uxtb r2, r3 1963 0e4a 574B ldr r3, .L53+52 1964 0e4c 83F86120 strb r2, [r3, #97] 377:user_src/soft_bms.c **** bms_data2.bms_num = Device2.vk_bms2.bms_num; 1965 .loc 1 377 47 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 44 1966 0e50 494B ldr r3, .L53+4 1967 0e52 D3F8A230 ldr r3, [r3, #162] @ unaligned 377:user_src/soft_bms.c **** bms_data2.bms_num = Device2.vk_bms2.bms_num; 1968 .loc 1 377 30 1969 0e56 9AB2 uxth r2, r3 1970 0e58 534B ldr r3, .L53+52 1971 0e5a A3F86220 strh r2, [r3, #98] @ movhi 378:user_src/soft_bms.c **** 1972 .loc 1 378 48 1973 0e5e 464B ldr r3, .L53+4 1974 0e60 B3F8A630 ldrh r3, [r3, #166] 378:user_src/soft_bms.c **** 1975 .loc 1 378 31 1976 0e64 DAB2 uxtb r2, r3 1977 0e66 504B ldr r3, .L53+52 1978 0e68 1A71 strb r2, [r3, #4] 380:user_src/soft_bms.c **** 1979 .loc 1 380 13 1980 0e6a 3422 movs r2, #52 1981 0e6c 4F49 ldr r1, .L53+56 1982 0e6e 5048 ldr r0, .L53+60 1983 0e70 FFF7FEFF bl memcpy 382:user_src/soft_bms.c **** 1984 .loc 1 382 13 1985 0e74 1422 movs r2, #20 1986 0e76 4F49 ldr r1, .L53+64 1987 0e78 4F48 ldr r0, .L53+68 1988 0e7a FFF7FEFF bl memcpy 384:user_src/soft_bms.c **** bms_data2.serial_num = FAC_VK_BMS; 1989 .loc 1 384 55 1990 0e7e 3E4B ldr r3, .L53+4 1991 0e80 D3F89830 ldr r3, [r3, #152] 384:user_src/soft_bms.c **** bms_data2.serial_num = FAC_VK_BMS; 1992 .loc 1 384 64 1993 0e84 454A ldr r2, .L53+40 1994 0e86 82FB0312 smull r1, r2, r2, r3 1995 0e8a 9210 asrs r2, r2, #2 1996 0e8c DB17 asrs r3, r3, #31 1997 0e8e D31A subs r3, r2, r3 384:user_src/soft_bms.c **** bms_data2.serial_num = FAC_VK_BMS; 1998 .loc 1 384 32 1999 0e90 1AB2 sxth r2, r3 384:user_src/soft_bms.c **** bms_data2.serial_num = FAC_VK_BMS; 2000 .loc 1 384 30 2001 0e92 454B ldr r3, .L53+52 2002 0e94 A3F85D20 strh r2, [r3, #93] @ unaligned 385:user_src/soft_bms.c **** // if( Device2.vk_bms3.bms_type_info[0] == 'S' && Device2.vk_bms3.bms_type_info[0] == ' 2003 .loc 1 385 34 2004 0e98 434B ldr r3, .L53+52 2005 0e9a 0A22 movs r2, #10 2006 0e9c A3F86420 strh r2, [r3, #100] @ movhi 391:user_src/soft_bms.c **** regist_dev_info(&dev_bms2,DEVICE_BMS2,false,(char *)bms_data2.bms_ids,32,NULL,0,NUL 2007 .loc 1 391 16 2008 0ea0 2021 movs r1, #32 2009 0ea2 4548 ldr r0, .L53+68 2010 0ea4 FFF7FEFF bl StrArrayNull 2011 0ea8 0346 mov r3, r0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 45 391:user_src/soft_bms.c **** regist_dev_info(&dev_bms2,DEVICE_BMS2,false,(char *)bms_data2.bms_ids,32,NULL,0,NUL 2012 .loc 1 391 83 2013 0eaa 83F00103 eor r3, r3, #1 2014 0eae DBB2 uxtb r3, r3 391:user_src/soft_bms.c **** regist_dev_info(&dev_bms2,DEVICE_BMS2,false,(char *)bms_data2.bms_ids,32,NULL,0,NUL 2015 .loc 1 391 15 2016 0eb0 002B cmp r3, #0 2017 0eb2 1BD0 beq .L35 391:user_src/soft_bms.c **** regist_dev_info(&dev_bms2,DEVICE_BMS2,false,(char *)bms_data2.bms_ids,32,NULL,0,NUL 2018 .loc 1 391 110 discriminator 1 2019 0eb4 414B ldr r3, .L53+72 2020 0eb6 93F85430 ldrb r3, [r3, #84] @ zero_extendqisi2 391:user_src/soft_bms.c **** regist_dev_info(&dev_bms2,DEVICE_BMS2,false,(char *)bms_data2.bms_ids,32,NULL,0,NUL 2021 .loc 1 391 114 discriminator 1 2022 0eba 83F00103 eor r3, r3, #1 2023 0ebe DBB2 uxtb r3, r3 391:user_src/soft_bms.c **** regist_dev_info(&dev_bms2,DEVICE_BMS2,false,(char *)bms_data2.bms_ids,32,NULL,0,NUL 2024 .loc 1 391 92 discriminator 1 2025 0ec0 002B cmp r3, #0 2026 0ec2 13D0 beq .L35 392:user_src/soft_bms.c **** if(StrArrayNull( (uint8_t *)&Device2.vk_bms3.bms_company_info[0], sizeof( Device2.vk_bm 2027 .loc 1 392 17 2028 0ec4 0023 movs r3, #0 2029 0ec6 0693 str r3, [sp, #24] 2030 0ec8 0023 movs r3, #0 2031 0eca 0593 str r3, [sp, #20] 2032 0ecc 0023 movs r3, #0 2033 0ece 0493 str r3, [sp, #16] 2034 0ed0 0023 movs r3, #0 2035 0ed2 0393 str r3, [sp, #12] 2036 0ed4 0023 movs r3, #0 2037 0ed6 0293 str r3, [sp, #8] 2038 0ed8 0023 movs r3, #0 2039 0eda 0193 str r3, [sp, #4] 2040 0edc 2023 movs r3, #32 2041 0ede 0093 str r3, [sp] 2042 0ee0 354B ldr r3, .L53+68 2043 0ee2 0022 movs r2, #0 2044 0ee4 0F21 movs r1, #15 2045 0ee6 3548 ldr r0, .L53+72 2046 0ee8 FFF7FEFF bl regist_dev_info 2047 .L35: 393:user_src/soft_bms.c **** regist_dev_info(&dev_bms2,DEVICE_BMS2,false,NULL,0,NULL,0,NULL,0,&Device2.vk_bms3.b 2048 .loc 1 393 16 2049 0eec 1421 movs r1, #20 2050 0eee 3448 ldr r0, .L53+76 2051 0ef0 FFF7FEFF bl StrArrayNull 2052 0ef4 0346 mov r3, r0 393:user_src/soft_bms.c **** regist_dev_info(&dev_bms2,DEVICE_BMS2,false,NULL,0,NULL,0,NULL,0,&Device2.vk_bms3.b 2053 .loc 1 393 124 2054 0ef6 83F00103 eor r3, r3, #1 2055 0efa DBB2 uxtb r3, r3 393:user_src/soft_bms.c **** regist_dev_info(&dev_bms2,DEVICE_BMS2,false,NULL,0,NULL,0,NULL,0,&Device2.vk_bms3.b 2056 .loc 1 393 15 2057 0efc 002B cmp r3, #0 2058 0efe 34D0 beq .L40 393:user_src/soft_bms.c **** regist_dev_info(&dev_bms2,DEVICE_BMS2,false,NULL,0,NULL,0,NULL,0,&Device2.vk_bms3.b ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 46 2059 .loc 1 393 151 discriminator 1 2060 0f00 2E4B ldr r3, .L53+72 2061 0f02 93F85730 ldrb r3, [r3, #87] @ zero_extendqisi2 393:user_src/soft_bms.c **** regist_dev_info(&dev_bms2,DEVICE_BMS2,false,NULL,0,NULL,0,NULL,0,&Device2.vk_bms3.b 2062 .loc 1 393 157 discriminator 1 2063 0f06 83F00103 eor r3, r3, #1 2064 0f0a DBB2 uxtb r3, r3 393:user_src/soft_bms.c **** regist_dev_info(&dev_bms2,DEVICE_BMS2,false,NULL,0,NULL,0,NULL,0,&Device2.vk_bms3.b 2065 .loc 1 393 133 discriminator 1 2066 0f0c 002B cmp r3, #0 2067 0f0e 2CD0 beq .L40 394:user_src/soft_bms.c **** 2068 .loc 1 394 17 2069 0f10 1023 movs r3, #16 2070 0f12 0693 str r3, [sp, #24] 2071 0f14 2A4B ldr r3, .L53+76 2072 0f16 0593 str r3, [sp, #20] 2073 0f18 0023 movs r3, #0 2074 0f1a 0493 str r3, [sp, #16] 2075 0f1c 0023 movs r3, #0 2076 0f1e 0393 str r3, [sp, #12] 2077 0f20 0023 movs r3, #0 2078 0f22 0293 str r3, [sp, #8] 2079 0f24 0023 movs r3, #0 2080 0f26 0193 str r3, [sp, #4] 2081 0f28 0023 movs r3, #0 2082 0f2a 0093 str r3, [sp] 2083 0f2c 0023 movs r3, #0 2084 0f2e 0022 movs r2, #0 2085 0f30 0F21 movs r1, #15 2086 0f32 2248 ldr r0, .L53+72 2087 0f34 FFF7FEFF bl regist_dev_info 370:user_src/soft_bms.c **** { 2088 .loc 1 370 12 2089 0f38 17E0 b .L40 2090 .L34: 399:user_src/soft_bms.c **** } 2091 .loc 1 399 13 2092 0f3a 6622 movs r2, #102 2093 0f3c 0021 movs r1, #0 2094 0f3e 1A48 ldr r0, .L53+52 2095 0f40 FFF7FEFF bl memset 370:user_src/soft_bms.c **** { 2096 .loc 1 370 12 2097 0f44 11E0 b .L40 2098 .L30: 404:user_src/soft_bms.c **** { 2099 .loc 1 404 26 2100 0f46 0D4B ldr r3, .L53+8 2101 0f48 93F8E031 ldrb r3, [r3, #480] @ zero_extendqisi2 404:user_src/soft_bms.c **** { 2102 .loc 1 404 12 2103 0f4c 012B cmp r3, #1 2104 0f4e 0DD1 bne .L39 406:user_src/soft_bms.c **** //memset(&bms_data, 0, sizeof(bms_data)); 2105 .loc 1 406 41 2106 0f50 0A4B ldr r3, .L53+8 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 47 2107 0f52 0222 movs r2, #2 2108 0f54 83F8E021 strb r2, [r3, #480] 409:user_src/soft_bms.c **** } 2109 .loc 1 409 29 2110 0f58 0A4B ldr r3, .L53+16 2111 0f5a 0022 movs r2, #0 2112 0f5c A3F86220 strh r2, [r3, #98] @ movhi 2113 .loc 1 412 1 2114 0f60 04E0 b .L39 2115 .L37: 119:user_src/soft_bms.c **** { 2116 .loc 1 119 12 2117 0f62 00BF nop 2118 0f64 02E0 b .L39 2119 .L38: 221:user_src/soft_bms.c **** { 2120 .loc 1 221 11 2121 0f66 00BF nop 2122 0f68 00E0 b .L39 2123 .L40: 370:user_src/soft_bms.c **** { 2124 .loc 1 370 12 2125 0f6a 00BF nop 2126 .L39: 2127 .loc 1 412 1 2128 0f6c 00BF nop 2129 0f6e 0837 adds r7, r7, #8 2130 .LCFI3: 2131 .cfi_def_cfa_offset 8 2132 0f70 BD46 mov sp, r7 2133 .LCFI4: 2134 .cfi_def_cfa_register 13 2135 @ sp needed 2136 0f72 80BD pop {r7, pc} 2137 .L54: 2138 .align 2 2139 .L53: 2140 0f74 00000000 .word Device1 2141 0f78 00000000 .word Device2 2142 0f7c 00000000 .word Dev 2143 0f80 00000000 .word group_num 2144 0f84 00000000 .word bms_data 2145 0f88 CDCCCCCC .word -858993459 2146 0f8c A8000000 .word Device1+168 2147 0f90 05000000 .word bms_data+5 2148 0f94 04010000 .word Device1+260 2149 0f98 39000000 .word bms_data+57 2150 0f9c 67666666 .word 1717986919 2151 0fa0 00000000 .word dev_bms1 2152 0fa4 DC000000 .word Device1+220 2153 0fa8 00000000 .word bms_data2 2154 0fac A8000000 .word Device2+168 2155 0fb0 05000000 .word bms_data2+5 2156 0fb4 04010000 .word Device2+260 2157 0fb8 39000000 .word bms_data2+57 2158 0fbc 00000000 .word dev_bms2 2159 0fc0 DC000000 .word Device2+220 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 48 2160 .cfi_endproc 2161 .LFE133: 2163 .global utc_send_time 2164 .section .data.utc_send_time,"aw" 2167 utc_send_time: 2168 0000 0A .byte 10 2169 .section .text.send_msg_to_VKbms,"ax",%progbits 2170 .align 1 2171 .global send_msg_to_VKbms 2172 .syntax unified 2173 .thumb 2174 .thumb_func 2176 send_msg_to_VKbms: 2177 .LFB134: 413:user_src/soft_bms.c **** 414:user_src/soft_bms.c **** 415:user_src/soft_bms.c **** /** 416:user_src/soft_bms.c **** * @file Send_VKbms_info 417:user_src/soft_bms.c **** * @brief VK智能电池协议飞控端发送 418:user_src/soft_bms.c **** * @param none 419:user_src/soft_bms.c **** * @details 420:user_src/soft_bms.c **** * @author Zhang Sir 421:user_src/soft_bms.c **** **/ 422:user_src/soft_bms.c **** uint8_t utc_send_time = 10; 423:user_src/soft_bms.c **** void send_msg_to_VKbms(void) 424:user_src/soft_bms.c **** { 2178 .loc 1 424 1 2179 .cfi_startproc 2180 @ args = 0, pretend = 0, frame = 24 2181 @ frame_needed = 1, uses_anonymous_args = 0 2182 0000 80B5 push {r7, lr} 2183 .LCFI5: 2184 .cfi_def_cfa_offset 8 2185 .cfi_offset 7, -8 2186 .cfi_offset 14, -4 2187 0002 86B0 sub sp, sp, #24 2188 .LCFI6: 2189 .cfi_def_cfa_offset 32 2190 0004 00AF add r7, sp, #0 2191 .LCFI7: 2192 .cfi_def_cfa_register 7 425:user_src/soft_bms.c **** static uint8_t change_dev = 1; 426:user_src/soft_bms.c **** Vkbms_Device *ptr = NULL; 2193 .loc 1 426 19 2194 0006 0023 movs r3, #0 2195 0008 7B61 str r3, [r7, #20] 427:user_src/soft_bms.c **** 428:user_src/soft_bms.c **** static uint32_t bms_heart_time = 0;; 429:user_src/soft_bms.c **** unsigned int can_id = 0; 2196 .loc 1 429 18 2197 000a 0023 movs r3, #0 2198 000c 3B61 str r3, [r7, #16] 430:user_src/soft_bms.c **** uint8_t len = 0, msg_id = 0,i = 0; 2199 .loc 1 430 13 2200 000e 0023 movs r3, #0 2201 0010 FB73 strb r3, [r7, #15] 2202 .loc 1 430 22 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 49 2203 0012 0023 movs r3, #0 2204 0014 BB73 strb r3, [r7, #14] 2205 .loc 1 430 33 2206 0016 0023 movs r3, #0 2207 0018 7B73 strb r3, [r7, #13] 431:user_src/soft_bms.c **** uint8_t bms_can_buf[8] = {0}; 2208 .loc 1 431 13 2209 001a 0023 movs r3, #0 2210 001c 7B60 str r3, [r7, #4] 2211 001e 0023 movs r3, #0 2212 0020 BB60 str r3, [r7, #8] 432:user_src/soft_bms.c **** uint16_t crc = 0; 2213 .loc 1 432 14 2214 0022 0023 movs r3, #0 2215 0024 7B80 strh r3, [r7, #2] @ movhi 433:user_src/soft_bms.c **** 434:user_src/soft_bms.c **** if(change_dev == 1) 2216 .loc 1 434 19 2217 0026 A74B ldr r3, .L69 2218 0028 1B78 ldrb r3, [r3] @ zero_extendqisi2 2219 .loc 1 434 7 2220 002a 012B cmp r3, #1 2221 002c 05D1 bne .L56 435:user_src/soft_bms.c **** { 436:user_src/soft_bms.c **** change_dev = 2; 2222 .loc 1 436 20 2223 002e A54B ldr r3, .L69 2224 0030 0222 movs r2, #2 2225 0032 1A70 strb r2, [r3] 437:user_src/soft_bms.c **** ptr = &Device1; 2226 .loc 1 437 13 2227 0034 A44B ldr r3, .L69+4 2228 0036 7B61 str r3, [r7, #20] 2229 0038 08E0 b .L57 2230 .L56: 438:user_src/soft_bms.c **** } 439:user_src/soft_bms.c **** else if(change_dev == 2) 2231 .loc 1 439 24 2232 003a A24B ldr r3, .L69 2233 003c 1B78 ldrb r3, [r3] @ zero_extendqisi2 2234 .loc 1 439 12 2235 003e 022B cmp r3, #2 2236 0040 04D1 bne .L57 440:user_src/soft_bms.c **** { 441:user_src/soft_bms.c **** change_dev = 1; 2237 .loc 1 441 20 2238 0042 A04B ldr r3, .L69 2239 0044 0122 movs r2, #1 2240 0046 1A70 strb r2, [r3] 442:user_src/soft_bms.c **** ptr = &Device2; 2241 .loc 1 442 13 2242 0048 A04B ldr r3, .L69+8 2243 004a 7B61 str r3, [r7, #20] 2244 .L57: 443:user_src/soft_bms.c **** } 444:user_src/soft_bms.c **** 445:user_src/soft_bms.c **** if(ptr->Vkbms_Link.connect_status != COMP_NORMAL) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 50 2245 .loc 1 445 23 2246 004c 7B69 ldr r3, [r7, #20] 2247 004e 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 2248 .loc 1 445 7 2249 0050 012B cmp r3, #1 2250 0052 40F03281 bne .L68 446:user_src/soft_bms.c **** return; 447:user_src/soft_bms.c **** 448:user_src/soft_bms.c **** //握手应答 449:user_src/soft_bms.c **** if(ptr->ack_to_bms == true) 2251 .loc 1 449 11 2252 0056 7B69 ldr r3, [r7, #20] 2253 0058 1B7C ldrb r3, [r3, #16] @ zero_extendqisi2 2254 .loc 1 449 7 2255 005a 002B cmp r3, #0 2256 005c 1BD0 beq .L60 450:user_src/soft_bms.c **** { 451:user_src/soft_bms.c **** msg_id = 0x01; 2257 .loc 1 451 16 2258 005e 0123 movs r3, #1 2259 0060 BB73 strb r3, [r7, #14] 452:user_src/soft_bms.c **** can_id = msg_id << 20 | 0x7 << 17 | ptr->source_id << 11 | 0x1 << 5 | 0x1 << 4 | 0x1 << 3 | 2260 .loc 1 452 25 2261 0062 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2 2262 0064 1B05 lsls r3, r3, #20 2263 .loc 1 452 31 2264 0066 43F46022 orr r2, r3, #917504 2265 .loc 1 452 48 2266 006a 7B69 ldr r3, [r7, #20] 2267 006c 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 2268 .loc 1 452 60 2269 006e DB02 lsls r3, r3, #11 2270 .loc 1 452 43 2271 0070 1343 orrs r3, r3, r2 2272 .loc 1 452 99 2273 0072 43F03903 orr r3, r3, #57 2274 .loc 1 452 16 2275 0076 3B61 str r3, [r7, #16] 453:user_src/soft_bms.c **** len = 2; 2276 .loc 1 453 13 2277 0078 0223 movs r3, #2 2278 007a FB73 strb r3, [r7, #15] 454:user_src/soft_bms.c **** bms_can_buf[0] = 0x56; 2279 .loc 1 454 24 2280 007c 5623 movs r3, #86 2281 007e 3B71 strb r3, [r7, #4] 455:user_src/soft_bms.c **** bms_can_buf[1] = 0x31; 2282 .loc 1 455 24 2283 0080 3123 movs r3, #49 2284 0082 7B71 strb r3, [r7, #5] 456:user_src/soft_bms.c **** can_send_msg_normal(&bms_can_buf[0], len, can_id); 2285 .loc 1 456 9 2286 0084 F97B ldrb r1, [r7, #15] @ zero_extendqisi2 2287 0086 3B1D adds r3, r7, #4 2288 0088 3A69 ldr r2, [r7, #16] 2289 008a 1846 mov r0, r3 2290 008c FFF7FEFF bl can_send_msg_normal ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 51 457:user_src/soft_bms.c **** 458:user_src/soft_bms.c **** ptr->ack_to_bms = false; 2291 .loc 1 458 25 2292 0090 7B69 ldr r3, [r7, #20] 2293 0092 0022 movs r2, #0 2294 0094 1A74 strb r2, [r3, #16] 2295 .L60: 459:user_src/soft_bms.c **** } 460:user_src/soft_bms.c **** 461:user_src/soft_bms.c **** if(ptr->get_bms3_ack == false) 2296 .loc 1 461 11 2297 0096 7B69 ldr r3, [r7, #20] 2298 0098 93F84A31 ldrb r3, [r3, #330] @ zero_extendqisi2 2299 .loc 1 461 26 2300 009c 83F00103 eor r3, r3, #1 2301 00a0 DBB2 uxtb r3, r3 2302 .loc 1 461 7 2303 00a2 002B cmp r3, #0 2304 00a4 15D0 beq .L61 462:user_src/soft_bms.c **** { 463:user_src/soft_bms.c **** len = 0; 2305 .loc 1 463 13 2306 00a6 0023 movs r3, #0 2307 00a8 FB73 strb r3, [r7, #15] 464:user_src/soft_bms.c **** msg_id = 0x03;//canid 4083768 3E5039 2308 .loc 1 464 16 2309 00aa 0323 movs r3, #3 2310 00ac BB73 strb r3, [r7, #14] 465:user_src/soft_bms.c **** can_id = msg_id << 20 | 0x7 << 17 | ptr->source_id << 11 | 0x1 << 5 | 0x1 << 4 | 0x1 << 3 | 2311 .loc 1 465 25 2312 00ae BB7B ldrb r3, [r7, #14] @ zero_extendqisi2 2313 00b0 1B05 lsls r3, r3, #20 2314 .loc 1 465 31 2315 00b2 43F46022 orr r2, r3, #917504 2316 .loc 1 465 48 2317 00b6 7B69 ldr r3, [r7, #20] 2318 00b8 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 2319 .loc 1 465 60 2320 00ba DB02 lsls r3, r3, #11 2321 .loc 1 465 43 2322 00bc 1343 orrs r3, r3, r2 2323 .loc 1 465 99 2324 00be 43F03903 orr r3, r3, #57 2325 .loc 1 465 16 2326 00c2 3B61 str r3, [r7, #16] 466:user_src/soft_bms.c **** can_send_msg_normal(&bms_can_buf[0], len, can_id); 2327 .loc 1 466 9 2328 00c4 F97B ldrb r1, [r7, #15] @ zero_extendqisi2 2329 00c6 3B1D adds r3, r7, #4 2330 00c8 3A69 ldr r2, [r7, #16] 2331 00ca 1846 mov r0, r3 2332 00cc FFF7FEFF bl can_send_msg_normal 2333 00d0 3AE0 b .L62 2334 .L61: 467:user_src/soft_bms.c **** } 468:user_src/soft_bms.c **** else if(ptr->get_bms4_ack == false) 2335 .loc 1 468 16 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 52 2336 00d2 7B69 ldr r3, [r7, #20] 2337 00d4 93F84B31 ldrb r3, [r3, #331] @ zero_extendqisi2 2338 .loc 1 468 31 2339 00d8 83F00103 eor r3, r3, #1 2340 00dc DBB2 uxtb r3, r3 2341 .loc 1 468 12 2342 00de 002B cmp r3, #0 2343 00e0 15D0 beq .L63 469:user_src/soft_bms.c **** { 470:user_src/soft_bms.c **** len = 0; 2344 .loc 1 470 13 2345 00e2 0023 movs r3, #0 2346 00e4 FB73 strb r3, [r7, #15] 471:user_src/soft_bms.c **** msg_id = 0x04; //canid 5132344 4E5039 2347 .loc 1 471 16 2348 00e6 0423 movs r3, #4 2349 00e8 BB73 strb r3, [r7, #14] 472:user_src/soft_bms.c **** can_id = msg_id << 20 | 0x7 << 17 | ptr->source_id << 11 | 0x1 << 5 | 0x1 << 4 | 0x1 << 3 | 2350 .loc 1 472 25 2351 00ea BB7B ldrb r3, [r7, #14] @ zero_extendqisi2 2352 00ec 1B05 lsls r3, r3, #20 2353 .loc 1 472 31 2354 00ee 43F46022 orr r2, r3, #917504 2355 .loc 1 472 48 2356 00f2 7B69 ldr r3, [r7, #20] 2357 00f4 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 2358 .loc 1 472 60 2359 00f6 DB02 lsls r3, r3, #11 2360 .loc 1 472 43 2361 00f8 1343 orrs r3, r3, r2 2362 .loc 1 472 99 2363 00fa 43F03903 orr r3, r3, #57 2364 .loc 1 472 16 2365 00fe 3B61 str r3, [r7, #16] 473:user_src/soft_bms.c **** can_send_msg_normal(&bms_can_buf[0], len, can_id); 2366 .loc 1 473 9 2367 0100 F97B ldrb r1, [r7, #15] @ zero_extendqisi2 2368 0102 3B1D adds r3, r7, #4 2369 0104 3A69 ldr r2, [r7, #16] 2370 0106 1846 mov r0, r3 2371 0108 FFF7FEFF bl can_send_msg_normal 2372 010c 1CE0 b .L62 2373 .L63: 474:user_src/soft_bms.c **** } 475:user_src/soft_bms.c **** else if(ptr->get_bms5_ack == false) 2374 .loc 1 475 16 2375 010e 7B69 ldr r3, [r7, #20] 2376 0110 93F84C31 ldrb r3, [r3, #332] @ zero_extendqisi2 2377 .loc 1 475 31 2378 0114 83F00103 eor r3, r3, #1 2379 0118 DBB2 uxtb r3, r3 2380 .loc 1 475 12 2381 011a 002B cmp r3, #0 2382 011c 14D0 beq .L62 476:user_src/soft_bms.c **** { 477:user_src/soft_bms.c **** len = 0; 2383 .loc 1 477 13 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 53 2384 011e 0023 movs r3, #0 2385 0120 FB73 strb r3, [r7, #15] 478:user_src/soft_bms.c **** msg_id = 0x05;//canid 6180920 5E5039 2386 .loc 1 478 16 2387 0122 0523 movs r3, #5 2388 0124 BB73 strb r3, [r7, #14] 479:user_src/soft_bms.c **** can_id = msg_id << 20 | 0x7 << 17 | ptr->source_id << 11 | 0x1 << 5 | 0x1 << 4 | 0x1 << 3 | 2389 .loc 1 479 25 2390 0126 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2 2391 0128 1B05 lsls r3, r3, #20 2392 .loc 1 479 31 2393 012a 43F46022 orr r2, r3, #917504 2394 .loc 1 479 48 2395 012e 7B69 ldr r3, [r7, #20] 2396 0130 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 2397 .loc 1 479 60 2398 0132 DB02 lsls r3, r3, #11 2399 .loc 1 479 43 2400 0134 1343 orrs r3, r3, r2 2401 .loc 1 479 99 2402 0136 43F03903 orr r3, r3, #57 2403 .loc 1 479 16 2404 013a 3B61 str r3, [r7, #16] 480:user_src/soft_bms.c **** can_send_msg_normal(&bms_can_buf[0], len, can_id); 2405 .loc 1 480 9 2406 013c F97B ldrb r1, [r7, #15] @ zero_extendqisi2 2407 013e 3B1D adds r3, r7, #4 2408 0140 3A69 ldr r2, [r7, #16] 2409 0142 1846 mov r0, r3 2410 0144 FFF7FEFF bl can_send_msg_normal 2411 .L62: 481:user_src/soft_bms.c **** } 482:user_src/soft_bms.c **** 483:user_src/soft_bms.c **** 484:user_src/soft_bms.c **** if(start_msg.key_to_bms == true) 2412 .loc 1 484 17 2413 0148 614B ldr r3, .L69+12 2414 014a 9B78 ldrb r3, [r3, #2] @ zero_extendqisi2 2415 .loc 1 484 7 2416 014c 002B cmp r3, #0 2417 014e 53D0 beq .L64 485:user_src/soft_bms.c **** { 486:user_src/soft_bms.c **** msg_id = 0x07; 2418 .loc 1 486 16 2419 0150 0723 movs r3, #7 2420 0152 BB73 strb r3, [r7, #14] 487:user_src/soft_bms.c **** 488:user_src/soft_bms.c **** crc = Get_Crc16(&start_msg.key_data[0],20); 2421 .loc 1 488 15 2422 0154 1421 movs r1, #20 2423 0156 5F48 ldr r0, .L69+16 2424 0158 FFF7FEFF bl Get_Crc16 2425 015c 0346 mov r3, r0 2426 .loc 1 488 13 2427 015e 7B80 strh r3, [r7, #2] @ movhi 2428 0160 7B88 ldrh r3, [r7, #2] 489:user_src/soft_bms.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 54 490:user_src/soft_bms.c **** memcpy(&bms_can_buf[0],&crc,2); 2429 .loc 1 490 9 2430 0162 BB80 strh r3, [r7, #4] @ movhi 491:user_src/soft_bms.c **** memcpy(&bms_can_buf[2],&start_msg.key_data[i],6); 2431 .loc 1 491 51 2432 0164 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2 2433 .loc 1 491 32 2434 0166 5A4A ldr r2, .L69+12 2435 0168 1344 add r3, r3, r2 2436 016a D91D adds r1, r3, #7 2437 .loc 1 491 9 2438 016c 3B1D adds r3, r7, #4 2439 016e 0233 adds r3, r3, #2 2440 0170 0622 movs r2, #6 2441 0172 1846 mov r0, r3 2442 0174 FFF7FEFF bl memcpy 492:user_src/soft_bms.c **** 493:user_src/soft_bms.c **** can_id = msg_id << 20 | 0x7 << 17 | ptr->source_id << 11 | 0x1 << 5 | 0x1 << 4 | 0x0 << 3 | 2443 .loc 1 493 25 2444 0178 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2 2445 017a 1B05 lsls r3, r3, #20 2446 .loc 1 493 31 2447 017c 43F46022 orr r2, r3, #917504 2448 .loc 1 493 48 2449 0180 7B69 ldr r3, [r7, #20] 2450 0182 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 2451 .loc 1 493 60 2452 0184 DB02 lsls r3, r3, #11 2453 .loc 1 493 43 2454 0186 1343 orrs r3, r3, r2 2455 .loc 1 493 99 2456 0188 43F03103 orr r3, r3, #49 2457 .loc 1 493 16 2458 018c 3B61 str r3, [r7, #16] 494:user_src/soft_bms.c **** can_send_msg_normal(&bms_can_buf[0], 8, can_id); 2459 .loc 1 494 9 2460 018e 3B1D adds r3, r7, #4 2461 0190 3A69 ldr r2, [r7, #16] 2462 0192 0821 movs r1, #8 2463 0194 1846 mov r0, r3 2464 0196 FFF7FEFF bl can_send_msg_normal 495:user_src/soft_bms.c **** i += 6; 2465 .loc 1 495 11 2466 019a 7B7B ldrb r3, [r7, #13] 2467 019c 0633 adds r3, r3, #6 2468 019e 7B73 strb r3, [r7, #13] 496:user_src/soft_bms.c **** 497:user_src/soft_bms.c **** can_id = msg_id << 20 | 0x7 << 17 | ptr->source_id << 11 | 0x1 << 5 | 0x0 << 4 | 0x0 << 3 | 2469 .loc 1 497 25 2470 01a0 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2 2471 01a2 1B05 lsls r3, r3, #20 2472 .loc 1 497 31 2473 01a4 43F46022 orr r2, r3, #917504 2474 .loc 1 497 48 2475 01a8 7B69 ldr r3, [r7, #20] 2476 01aa 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 2477 .loc 1 497 60 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 55 2478 01ac DB02 lsls r3, r3, #11 2479 .loc 1 497 43 2480 01ae 1343 orrs r3, r3, r2 2481 .loc 1 497 99 2482 01b0 43F02203 orr r3, r3, #34 2483 .loc 1 497 16 2484 01b4 3B61 str r3, [r7, #16] 498:user_src/soft_bms.c **** can_send_msg_normal(&start_msg.key_data[i], 8, can_id); 2485 .loc 1 498 48 2486 01b6 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2 2487 .loc 1 498 9 2488 01b8 454A ldr r2, .L69+12 2489 01ba 1344 add r3, r3, r2 2490 01bc 0733 adds r3, r3, #7 2491 01be 3A69 ldr r2, [r7, #16] 2492 01c0 0821 movs r1, #8 2493 01c2 1846 mov r0, r3 2494 01c4 FFF7FEFF bl can_send_msg_normal 499:user_src/soft_bms.c **** i += 8; 2495 .loc 1 499 11 2496 01c8 7B7B ldrb r3, [r7, #13] 2497 01ca 0833 adds r3, r3, #8 2498 01cc 7B73 strb r3, [r7, #13] 500:user_src/soft_bms.c **** 501:user_src/soft_bms.c **** can_id = msg_id << 20 | 0x7 << 17 | ptr->source_id << 11 | 0x1 << 5 | 0x0 << 4 | 0x1 << 3 | 2499 .loc 1 501 25 2500 01ce BB7B ldrb r3, [r7, #14] @ zero_extendqisi2 2501 01d0 1B05 lsls r3, r3, #20 2502 .loc 1 501 31 2503 01d2 43F46022 orr r2, r3, #917504 2504 .loc 1 501 48 2505 01d6 7B69 ldr r3, [r7, #20] 2506 01d8 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 2507 .loc 1 501 60 2508 01da DB02 lsls r3, r3, #11 2509 .loc 1 501 43 2510 01dc 1343 orrs r3, r3, r2 2511 .loc 1 501 99 2512 01de 43F02B03 orr r3, r3, #43 2513 .loc 1 501 16 2514 01e2 3B61 str r3, [r7, #16] 502:user_src/soft_bms.c **** can_send_msg_normal(&start_msg.key_data[i], 6, can_id); 2515 .loc 1 502 48 2516 01e4 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2 2517 .loc 1 502 9 2518 01e6 3A4A ldr r2, .L69+12 2519 01e8 1344 add r3, r3, r2 2520 01ea 0733 adds r3, r3, #7 2521 01ec 3A69 ldr r2, [r7, #16] 2522 01ee 0621 movs r1, #6 2523 01f0 1846 mov r0, r3 2524 01f2 FFF7FEFF bl can_send_msg_normal 2525 01f6 61E0 b .L55 2526 .L64: 503:user_src/soft_bms.c **** } 504:user_src/soft_bms.c **** //开启mos 505:user_src/soft_bms.c **** else if(start_msg.mos_status == true) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 56 2527 .loc 1 505 22 2528 01f8 354B ldr r3, .L69+12 2529 01fa DB78 ldrb r3, [r3, #3] @ zero_extendqisi2 2530 .loc 1 505 12 2531 01fc 012B cmp r3, #1 2532 01fe 15D1 bne .L66 506:user_src/soft_bms.c **** { 507:user_src/soft_bms.c **** msg_id = 0x08; 2533 .loc 1 507 16 2534 0200 0823 movs r3, #8 2535 0202 BB73 strb r3, [r7, #14] 508:user_src/soft_bms.c **** 509:user_src/soft_bms.c **** can_id = msg_id << 20 | 0x7 << 17 | ptr->source_id << 11 | 0x1 << 5 | 0x1 << 4 | 0x1 << 3 | 2536 .loc 1 509 25 2537 0204 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2 2538 0206 1B05 lsls r3, r3, #20 2539 .loc 1 509 31 2540 0208 43F46022 orr r2, r3, #917504 2541 .loc 1 509 48 2542 020c 7B69 ldr r3, [r7, #20] 2543 020e 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 2544 .loc 1 509 60 2545 0210 DB02 lsls r3, r3, #11 2546 .loc 1 509 43 2547 0212 1343 orrs r3, r3, r2 2548 .loc 1 509 99 2549 0214 43F03903 orr r3, r3, #57 2550 .loc 1 509 16 2551 0218 3B61 str r3, [r7, #16] 510:user_src/soft_bms.c **** bms_can_buf[0] = 0x01; 2552 .loc 1 510 24 2553 021a 0123 movs r3, #1 2554 021c 3B71 strb r3, [r7, #4] 511:user_src/soft_bms.c **** can_send_msg_normal(&bms_can_buf[0], 1, can_id); 2555 .loc 1 511 9 2556 021e 3B1D adds r3, r7, #4 2557 0220 3A69 ldr r2, [r7, #16] 2558 0222 0121 movs r1, #1 2559 0224 1846 mov r0, r3 2560 0226 FFF7FEFF bl can_send_msg_normal 2561 022a 47E0 b .L55 2562 .L66: 512:user_src/soft_bms.c **** } 513:user_src/soft_bms.c **** else if(utc_time != 0 && utc_send_time > 0 ) 2563 .loc 1 513 22 2564 022c 2A4B ldr r3, .L69+20 2565 022e 1B68 ldr r3, [r3] 2566 .loc 1 513 12 2567 0230 002B cmp r3, #0 2568 0232 20D0 beq .L67 2569 .loc 1 513 44 discriminator 1 2570 0234 294B ldr r3, .L69+24 2571 0236 1B78 ldrb r3, [r3] @ zero_extendqisi2 2572 .loc 1 513 27 discriminator 1 2573 0238 002B cmp r3, #0 2574 023a 1CD0 beq .L67 514:user_src/soft_bms.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 57 515:user_src/soft_bms.c **** msg_id = 0x09; 2575 .loc 1 515 16 2576 023c 0923 movs r3, #9 2577 023e BB73 strb r3, [r7, #14] 516:user_src/soft_bms.c **** can_id = msg_id << 20 | 0x7 << 17 | ptr->source_id << 11 | 0x1 << 5 | 0x1 << 4 | 0x1 << 3 | 2578 .loc 1 516 25 2579 0240 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2 2580 0242 1B05 lsls r3, r3, #20 2581 .loc 1 516 31 2582 0244 43F46022 orr r2, r3, #917504 2583 .loc 1 516 48 2584 0248 7B69 ldr r3, [r7, #20] 2585 024a 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 2586 .loc 1 516 60 2587 024c DB02 lsls r3, r3, #11 2588 .loc 1 516 43 2589 024e 1343 orrs r3, r3, r2 2590 .loc 1 516 99 2591 0250 43F03903 orr r3, r3, #57 2592 .loc 1 516 16 2593 0254 3B61 str r3, [r7, #16] 2594 0256 204B ldr r3, .L69+20 2595 0258 1B68 ldr r3, [r3] 517:user_src/soft_bms.c **** memcpy(&bms_can_buf[0],&utc_time,4); 2596 .loc 1 517 9 2597 025a 7B60 str r3, [r7, #4] 518:user_src/soft_bms.c **** can_send_msg_normal(&bms_can_buf[0], 4, can_id); 2598 .loc 1 518 9 2599 025c 3B1D adds r3, r7, #4 2600 025e 3A69 ldr r2, [r7, #16] 2601 0260 0421 movs r1, #4 2602 0262 1846 mov r0, r3 2603 0264 FFF7FEFF bl can_send_msg_normal 519:user_src/soft_bms.c **** 520:user_src/soft_bms.c **** utc_send_time--; 2604 .loc 1 520 22 2605 0268 1C4B ldr r3, .L69+24 2606 026a 1B78 ldrb r3, [r3] @ zero_extendqisi2 2607 026c 013B subs r3, r3, #1 2608 026e DAB2 uxtb r2, r3 2609 0270 1A4B ldr r3, .L69+24 2610 0272 1A70 strb r2, [r3] 2611 0274 22E0 b .L55 2612 .L67: 521:user_src/soft_bms.c **** } 522:user_src/soft_bms.c **** else if(HAL_GetTick() - bms_heart_time > 500)//实时信息应答包 2613 .loc 1 522 13 2614 0276 FFF7FEFF bl HAL_GetTick 2615 027a 0246 mov r2, r0 2616 .loc 1 522 27 2617 027c 184B ldr r3, .L69+28 2618 027e 1B68 ldr r3, [r3] 2619 0280 D31A subs r3, r2, r3 2620 .loc 1 522 12 2621 0282 B3F5FA7F cmp r3, #500 2622 0286 19D9 bls .L55 523:user_src/soft_bms.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 58 524:user_src/soft_bms.c **** msg_id = 0x02; 2623 .loc 1 524 16 2624 0288 0223 movs r3, #2 2625 028a BB73 strb r3, [r7, #14] 525:user_src/soft_bms.c **** can_id = msg_id << 20 | 0x7 << 17 | ptr->source_id << 11 | 0x1 << 5 | 0x1 << 4 | 0x1 << 3 | 2626 .loc 1 525 25 2627 028c BB7B ldrb r3, [r7, #14] @ zero_extendqisi2 2628 028e 1B05 lsls r3, r3, #20 2629 .loc 1 525 31 2630 0290 43F46022 orr r2, r3, #917504 2631 .loc 1 525 48 2632 0294 7B69 ldr r3, [r7, #20] 2633 0296 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 2634 .loc 1 525 60 2635 0298 DB02 lsls r3, r3, #11 2636 .loc 1 525 43 2637 029a 1343 orrs r3, r3, r2 2638 .loc 1 525 99 2639 029c 43F03903 orr r3, r3, #57 2640 .loc 1 525 16 2641 02a0 3B61 str r3, [r7, #16] 526:user_src/soft_bms.c **** can_send_msg_normal(&bms_can_buf[0], 0, can_id); 2642 .loc 1 526 9 2643 02a2 3B1D adds r3, r7, #4 2644 02a4 3A69 ldr r2, [r7, #16] 2645 02a6 0021 movs r1, #0 2646 02a8 1846 mov r0, r3 2647 02aa FFF7FEFF bl can_send_msg_normal 527:user_src/soft_bms.c **** bms_heart_time = HAL_GetTick(); 2648 .loc 1 527 26 2649 02ae FFF7FEFF bl HAL_GetTick 2650 02b2 0346 mov r3, r0 2651 .loc 1 527 24 2652 02b4 0A4A ldr r2, .L69+28 2653 02b6 1360 str r3, [r2] 2654 02b8 00E0 b .L55 2655 .L68: 446:user_src/soft_bms.c **** 2656 .loc 1 446 9 2657 02ba 00BF nop 2658 .L55: 528:user_src/soft_bms.c **** } 529:user_src/soft_bms.c **** 530:user_src/soft_bms.c **** 531:user_src/soft_bms.c **** // if(Device1.Vkbms_Link.connect_status == COMP_NORMAL || Device2.Vkbms_Link.connect_status == 532:user_src/soft_bms.c **** // { 533:user_src/soft_bms.c **** // static uint8_t bsm_step_num = 6; 534:user_src/soft_bms.c **** // static uint32_t bms_heart_time = 0;; 535:user_src/soft_bms.c **** // unsigned int can_id = 0; 536:user_src/soft_bms.c **** // uint8_t len = 0, msg_id = 0,i = 0; 537:user_src/soft_bms.c **** // uint8_t bms_can_buf[8] = {0}; 538:user_src/soft_bms.c **** // uint16_t crc = 0; 539:user_src/soft_bms.c **** 540:user_src/soft_bms.c **** // //上电握手 541:user_src/soft_bms.c **** // if(Device1.ack_to_bms == true || Device2.ack_to_bms == true) 542:user_src/soft_bms.c **** // { 543:user_src/soft_bms.c **** // msg_id = 0x01; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 59 544:user_src/soft_bms.c **** 545:user_src/soft_bms.c **** // if(Device1.ack_to_bms == true) 546:user_src/soft_bms.c **** // { 547:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x1 << 548:user_src/soft_bms.c **** // Device1.ack_to_bms = false; 549:user_src/soft_bms.c **** // } 550:user_src/soft_bms.c **** // else if (Device2.ack_to_bms == true) 551:user_src/soft_bms.c **** // { 552:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device2.source_id << 11 | 0x1 << 5 | 0x1 << 553:user_src/soft_bms.c **** // Device2.ack_to_bms = false; 554:user_src/soft_bms.c **** // } 555:user_src/soft_bms.c **** // len = 2; 556:user_src/soft_bms.c **** // bms_can_buf[0] = 0x56; 557:user_src/soft_bms.c **** // bms_can_buf[1] = 0x31; 558:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], len, can_id); 559:user_src/soft_bms.c **** // } 560:user_src/soft_bms.c **** 561:user_src/soft_bms.c **** // //读取电池信息 562:user_src/soft_bms.c **** // if(bms_step <= 2) 563:user_src/soft_bms.c **** // { 564:user_src/soft_bms.c **** // //上电发送的信息 565:user_src/soft_bms.c **** // switch (bms_step) 566:user_src/soft_bms.c **** // { 567:user_src/soft_bms.c **** // case 0: 568:user_src/soft_bms.c **** // if(bsm_step_num > 0) 569:user_src/soft_bms.c **** // { 570:user_src/soft_bms.c **** // len = 0; 571:user_src/soft_bms.c **** // msg_id = 0x03;//canid 4083768 3E5039 572:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x1 573:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], len, can_id); 574:user_src/soft_bms.c **** // if(Device2.Vkbms_Link.connect_status == COMP_NORMAL) 575:user_src/soft_bms.c **** // { 576:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device2.source_id << 11 | 0x1 << 5 | 577:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], len, can_id); 578:user_src/soft_bms.c **** // } 579:user_src/soft_bms.c **** // bsm_step_num--; 580:user_src/soft_bms.c **** // } 581:user_src/soft_bms.c **** // else 582:user_src/soft_bms.c **** // { 583:user_src/soft_bms.c **** // bsm_step_num = 5; 584:user_src/soft_bms.c **** // bms_step = 1; 585:user_src/soft_bms.c **** // } 586:user_src/soft_bms.c **** // break; 587:user_src/soft_bms.c **** // case 1: 588:user_src/soft_bms.c **** // if(bsm_step_num > 0) 589:user_src/soft_bms.c **** // { 590:user_src/soft_bms.c **** // len = 0; 591:user_src/soft_bms.c **** // msg_id = 0x04; //canid 5132344 4E5039 592:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x1 593:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], len, can_id); 594:user_src/soft_bms.c **** // if(Device2.Vkbms_Link.connect_status == COMP_NORMAL) 595:user_src/soft_bms.c **** // { 596:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device2.source_id << 11 | 0x1 << 5 | 597:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], len, can_id); 598:user_src/soft_bms.c **** // } 599:user_src/soft_bms.c **** // bsm_step_num--; 600:user_src/soft_bms.c **** // } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 60 601:user_src/soft_bms.c **** // else 602:user_src/soft_bms.c **** // { 603:user_src/soft_bms.c **** // bsm_step_num = 5; 604:user_src/soft_bms.c **** // bms_step = 2; 605:user_src/soft_bms.c **** // } 606:user_src/soft_bms.c **** // break; 607:user_src/soft_bms.c **** // case 2: 608:user_src/soft_bms.c **** // if(bsm_step_num > 0) 609:user_src/soft_bms.c **** // { 610:user_src/soft_bms.c **** // len = 0; 611:user_src/soft_bms.c **** // msg_id = 0x05;//canid 6180920 5E5039 612:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x1 613:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], len, can_id); 614:user_src/soft_bms.c **** // if(Device2.Vkbms_Link.connect_status == COMP_NORMAL) 615:user_src/soft_bms.c **** // { 616:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device2.source_id << 11 | 0x1 << 5 | 617:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], len, can_id); 618:user_src/soft_bms.c **** // } 619:user_src/soft_bms.c **** // bsm_step_num--; 620:user_src/soft_bms.c **** // } 621:user_src/soft_bms.c **** // else 622:user_src/soft_bms.c **** // { 623:user_src/soft_bms.c **** // bsm_step_num = 5; 624:user_src/soft_bms.c **** // bms_step = 3; 625:user_src/soft_bms.c **** // } 626:user_src/soft_bms.c **** // break; 627:user_src/soft_bms.c **** 628:user_src/soft_bms.c **** // default: 629:user_src/soft_bms.c **** // break; 630:user_src/soft_bms.c **** // } 631:user_src/soft_bms.c **** // } 632:user_src/soft_bms.c **** // //秘钥匹配 633:user_src/soft_bms.c **** // else if(start_msg.key_to_bms == true && bsm_step_num > 0 && bms_step == 3 ) //上个if 634:user_src/soft_bms.c **** // { 635:user_src/soft_bms.c **** // msg_id = 0x07; 636:user_src/soft_bms.c **** 637:user_src/soft_bms.c **** // crc = Get_Crc16(&start_msg.key_data[0],20); 638:user_src/soft_bms.c **** 639:user_src/soft_bms.c **** // memcpy(&bms_can_buf[0],&crc,2); 640:user_src/soft_bms.c **** // memcpy(&bms_can_buf[2],&start_msg.key_data[i],6); 641:user_src/soft_bms.c **** 642:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x1 << 4 | 643:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], 8, can_id); 644:user_src/soft_bms.c **** // i += 6; 645:user_src/soft_bms.c **** 646:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x0 << 4 | 647:user_src/soft_bms.c **** // can_send_msg_normal(&start_msg.key_data[i], 8, can_id); 648:user_src/soft_bms.c **** // i += 8; 649:user_src/soft_bms.c **** 650:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x0 << 4 | 651:user_src/soft_bms.c **** // can_send_msg_normal(&start_msg.key_data[i], 6, can_id); 652:user_src/soft_bms.c **** 653:user_src/soft_bms.c **** // bsm_step_num--; 654:user_src/soft_bms.c **** // if(bsm_step_num == 0) 655:user_src/soft_bms.c **** // { 656:user_src/soft_bms.c **** // bsm_step_num = 5; 657:user_src/soft_bms.c **** // bms_step = 4; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 61 658:user_src/soft_bms.c **** // } 659:user_src/soft_bms.c **** // } 660:user_src/soft_bms.c **** // //开启mos 661:user_src/soft_bms.c **** // else if(start_msg.mos_status == true && bsm_step_num > 0 && (bms_step == 4 || start_msg. 662:user_src/soft_bms.c **** // { 663:user_src/soft_bms.c **** // msg_id = 0x08; 664:user_src/soft_bms.c **** 665:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x1 << 4 | 666:user_src/soft_bms.c **** // bms_can_buf[0] = 0x01; 667:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], 1, can_id); 668:user_src/soft_bms.c **** // bsm_step_num--; 669:user_src/soft_bms.c **** // } 670:user_src/soft_bms.c **** // else if(utc_time != 0 && utc_send_time > 0 ) 671:user_src/soft_bms.c **** // { 672:user_src/soft_bms.c **** // msg_id = 0x09; 673:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x1 << 4 | 674:user_src/soft_bms.c **** // memcpy(&bms_can_buf[0],&utc_time,4); 675:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], 4, can_id); 676:user_src/soft_bms.c **** // if(Device2.Vkbms_Link.connect_status == COMP_NORMAL) 677:user_src/soft_bms.c **** // { 678:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device2.source_id << 11 | 0x1 << 5 | 0x1 << 679:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], 4, can_id); 680:user_src/soft_bms.c **** // } 681:user_src/soft_bms.c **** // utc_send_time--; 682:user_src/soft_bms.c **** // } 683:user_src/soft_bms.c **** // else if(HAL_GetTick() - bms_heart_time > 1000)//实时信息应答包 684:user_src/soft_bms.c **** // { 685:user_src/soft_bms.c **** // msg_id = 0x02; 686:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x1 << 4 | 687:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], 0, can_id); 688:user_src/soft_bms.c **** // if(Device2.Vkbms_Link.connect_status == COMP_NORMAL) 689:user_src/soft_bms.c **** // { 690:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device2.source_id << 11 | 0x1 << 5 | 0x1 << 691:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], 0, can_id); 692:user_src/soft_bms.c **** // } 693:user_src/soft_bms.c **** // bms_heart_time = HAL_GetTick(); 694:user_src/soft_bms.c **** // } 695:user_src/soft_bms.c **** // } 696:user_src/soft_bms.c **** //开启mos 697:user_src/soft_bms.c **** // else if(start_msg.mos_status == true) 698:user_src/soft_bms.c **** // { 699:user_src/soft_bms.c **** // msg_id = 0x08; 700:user_src/soft_bms.c **** 701:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | ptr->source_id << 11 | 0x1 << 5 | 0x1 << 4 | 0x1 << 702:user_src/soft_bms.c **** // bms_can_buf[0] = 0x01; 703:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], 1, can_id); 704:user_src/soft_bms.c **** // } 705:user_src/soft_bms.c **** // else if(utc_time != 0 && utc_send_time > 0 ) 706:user_src/soft_bms.c **** // { 707:user_src/soft_bms.c **** // msg_id = 0x09; 708:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | ptr->source_id << 11 | 0x1 << 5 | 0x1 << 4 | 0x1 << 709:user_src/soft_bms.c **** // memcpy(&bms_can_buf[0],&utc_time,4); 710:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], 4, can_id); 711:user_src/soft_bms.c **** 712:user_src/soft_bms.c **** // utc_send_time--; 713:user_src/soft_bms.c **** // } 714:user_src/soft_bms.c **** // else if(HAL_GetTick() - bms_heart_time > 500)//实时信息应答包 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 62 715:user_src/soft_bms.c **** // { 716:user_src/soft_bms.c **** // msg_id = 0x02; 717:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | ptr->source_id << 11 | 0x1 << 5 | 0x1 << 4 | 0x1 << 718:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], 0, can_id); 719:user_src/soft_bms.c **** // bms_heart_time = HAL_GetTick(); 720:user_src/soft_bms.c **** // } 721:user_src/soft_bms.c **** 722:user_src/soft_bms.c **** 723:user_src/soft_bms.c **** // if(Device1.Vkbms_Link.connect_status == COMP_NORMAL || Device2.Vkbms_Link.connect_status == 724:user_src/soft_bms.c **** // { 725:user_src/soft_bms.c **** // static uint8_t bsm_step_num = 6; 726:user_src/soft_bms.c **** // static uint32_t bms_heart_time = 0;; 727:user_src/soft_bms.c **** // unsigned int can_id = 0; 728:user_src/soft_bms.c **** // uint8_t len = 0, msg_id = 0,i = 0; 729:user_src/soft_bms.c **** // uint8_t bms_can_buf[8] = {0}; 730:user_src/soft_bms.c **** // uint16_t crc = 0; 731:user_src/soft_bms.c **** 732:user_src/soft_bms.c **** // //上电握手 733:user_src/soft_bms.c **** // if(Device1.ack_to_bms == true || Device2.ack_to_bms == true) 734:user_src/soft_bms.c **** // { 735:user_src/soft_bms.c **** // msg_id = 0x01; 736:user_src/soft_bms.c **** 737:user_src/soft_bms.c **** // if(Device1.ack_to_bms == true) 738:user_src/soft_bms.c **** // { 739:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x1 << 740:user_src/soft_bms.c **** // Device1.ack_to_bms = false; 741:user_src/soft_bms.c **** // } 742:user_src/soft_bms.c **** // else if (Device2.ack_to_bms == true) 743:user_src/soft_bms.c **** // { 744:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device2.source_id << 11 | 0x1 << 5 | 0x1 << 745:user_src/soft_bms.c **** // Device2.ack_to_bms = false; 746:user_src/soft_bms.c **** // } 747:user_src/soft_bms.c **** // len = 2; 748:user_src/soft_bms.c **** // bms_can_buf[0] = 0x56; 749:user_src/soft_bms.c **** // bms_can_buf[1] = 0x31; 750:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], len, can_id); 751:user_src/soft_bms.c **** // } 752:user_src/soft_bms.c **** 753:user_src/soft_bms.c **** // //读取电池信息 754:user_src/soft_bms.c **** // if(bms_step <= 2) 755:user_src/soft_bms.c **** // { 756:user_src/soft_bms.c **** // //上电发送的信息 757:user_src/soft_bms.c **** // switch (bms_step) 758:user_src/soft_bms.c **** // { 759:user_src/soft_bms.c **** // case 0: 760:user_src/soft_bms.c **** // if(bsm_step_num > 0) 761:user_src/soft_bms.c **** // { 762:user_src/soft_bms.c **** // len = 0; 763:user_src/soft_bms.c **** // msg_id = 0x03;//canid 4083768 3E5039 764:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x1 765:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], len, can_id); 766:user_src/soft_bms.c **** // if(Device2.Vkbms_Link.connect_status == COMP_NORMAL) 767:user_src/soft_bms.c **** // { 768:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device2.source_id << 11 | 0x1 << 5 | 769:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], len, can_id); 770:user_src/soft_bms.c **** // } 771:user_src/soft_bms.c **** // bsm_step_num--; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 63 772:user_src/soft_bms.c **** // } 773:user_src/soft_bms.c **** // else 774:user_src/soft_bms.c **** // { 775:user_src/soft_bms.c **** // bsm_step_num = 5; 776:user_src/soft_bms.c **** // bms_step = 1; 777:user_src/soft_bms.c **** // } 778:user_src/soft_bms.c **** // break; 779:user_src/soft_bms.c **** // case 1: 780:user_src/soft_bms.c **** // if(bsm_step_num > 0) 781:user_src/soft_bms.c **** // { 782:user_src/soft_bms.c **** // len = 0; 783:user_src/soft_bms.c **** // msg_id = 0x04; //canid 5132344 4E5039 784:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x1 785:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], len, can_id); 786:user_src/soft_bms.c **** // if(Device2.Vkbms_Link.connect_status == COMP_NORMAL) 787:user_src/soft_bms.c **** // { 788:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device2.source_id << 11 | 0x1 << 5 | 789:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], len, can_id); 790:user_src/soft_bms.c **** // } 791:user_src/soft_bms.c **** // bsm_step_num--; 792:user_src/soft_bms.c **** // } 793:user_src/soft_bms.c **** // else 794:user_src/soft_bms.c **** // { 795:user_src/soft_bms.c **** // bsm_step_num = 5; 796:user_src/soft_bms.c **** // bms_step = 2; 797:user_src/soft_bms.c **** // } 798:user_src/soft_bms.c **** // break; 799:user_src/soft_bms.c **** // case 2: 800:user_src/soft_bms.c **** // if(bsm_step_num > 0) 801:user_src/soft_bms.c **** // { 802:user_src/soft_bms.c **** // len = 0; 803:user_src/soft_bms.c **** // msg_id = 0x05;//canid 6180920 5E5039 804:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x1 805:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], len, can_id); 806:user_src/soft_bms.c **** // if(Device2.Vkbms_Link.connect_status == COMP_NORMAL) 807:user_src/soft_bms.c **** // { 808:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device2.source_id << 11 | 0x1 << 5 | 809:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], len, can_id); 810:user_src/soft_bms.c **** // } 811:user_src/soft_bms.c **** // bsm_step_num--; 812:user_src/soft_bms.c **** // } 813:user_src/soft_bms.c **** // else 814:user_src/soft_bms.c **** // { 815:user_src/soft_bms.c **** // bsm_step_num = 5; 816:user_src/soft_bms.c **** // bms_step = 3; 817:user_src/soft_bms.c **** // } 818:user_src/soft_bms.c **** // break; 819:user_src/soft_bms.c **** 820:user_src/soft_bms.c **** // default: 821:user_src/soft_bms.c **** // break; 822:user_src/soft_bms.c **** // } 823:user_src/soft_bms.c **** // } 824:user_src/soft_bms.c **** // //秘钥匹配 825:user_src/soft_bms.c **** // else if(start_msg.key_to_bms == true && bsm_step_num > 0 && bms_step == 3 ) //上个if 826:user_src/soft_bms.c **** // { 827:user_src/soft_bms.c **** // msg_id = 0x07; 828:user_src/soft_bms.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 64 829:user_src/soft_bms.c **** // crc = Get_Crc16(&start_msg.key_data[0],20); 830:user_src/soft_bms.c **** 831:user_src/soft_bms.c **** // memcpy(&bms_can_buf[0],&crc,2); 832:user_src/soft_bms.c **** // memcpy(&bms_can_buf[2],&start_msg.key_data[i],6); 833:user_src/soft_bms.c **** 834:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x1 << 4 | 835:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], 8, can_id); 836:user_src/soft_bms.c **** // i += 6; 837:user_src/soft_bms.c **** 838:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x0 << 4 | 839:user_src/soft_bms.c **** // can_send_msg_normal(&start_msg.key_data[i], 8, can_id); 840:user_src/soft_bms.c **** // i += 8; 841:user_src/soft_bms.c **** 842:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x0 << 4 | 843:user_src/soft_bms.c **** // can_send_msg_normal(&start_msg.key_data[i], 6, can_id); 844:user_src/soft_bms.c **** 845:user_src/soft_bms.c **** // bsm_step_num--; 846:user_src/soft_bms.c **** // if(bsm_step_num == 0) 847:user_src/soft_bms.c **** // { 848:user_src/soft_bms.c **** // bsm_step_num = 5; 849:user_src/soft_bms.c **** // bms_step = 4; 850:user_src/soft_bms.c **** // } 851:user_src/soft_bms.c **** // } 852:user_src/soft_bms.c **** // //开启mos 853:user_src/soft_bms.c **** // else if(start_msg.mos_status == true && bsm_step_num > 0 && (bms_step == 4 || start_msg. 854:user_src/soft_bms.c **** // { 855:user_src/soft_bms.c **** // msg_id = 0x08; 856:user_src/soft_bms.c **** 857:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x1 << 4 | 858:user_src/soft_bms.c **** // bms_can_buf[0] = 0x01; 859:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], 1, can_id); 860:user_src/soft_bms.c **** // bsm_step_num--; 861:user_src/soft_bms.c **** // } 862:user_src/soft_bms.c **** // else if(utc_time != 0 && utc_send_time > 0 ) 863:user_src/soft_bms.c **** // { 864:user_src/soft_bms.c **** // msg_id = 0x09; 865:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x1 << 4 | 866:user_src/soft_bms.c **** // memcpy(&bms_can_buf[0],&utc_time,4); 867:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], 4, can_id); 868:user_src/soft_bms.c **** // if(Device2.Vkbms_Link.connect_status == COMP_NORMAL) 869:user_src/soft_bms.c **** // { 870:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device2.source_id << 11 | 0x1 << 5 | 0x1 << 871:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], 4, can_id); 872:user_src/soft_bms.c **** // } 873:user_src/soft_bms.c **** // utc_send_time--; 874:user_src/soft_bms.c **** // } 875:user_src/soft_bms.c **** // else if(HAL_GetTick() - bms_heart_time > 1000)//实时信息应答包 876:user_src/soft_bms.c **** // { 877:user_src/soft_bms.c **** // msg_id = 0x02; 878:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device1.source_id << 11 | 0x1 << 5 | 0x1 << 4 | 879:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], 0, can_id); 880:user_src/soft_bms.c **** // if(Device2.Vkbms_Link.connect_status == COMP_NORMAL) 881:user_src/soft_bms.c **** // { 882:user_src/soft_bms.c **** // can_id = msg_id << 20 | 0x7 << 17 | Device2.source_id << 11 | 0x1 << 5 | 0x1 << 883:user_src/soft_bms.c **** // can_send_msg_normal(&bms_can_buf[0], 0, can_id); 884:user_src/soft_bms.c **** // } 885:user_src/soft_bms.c **** // bms_heart_time = HAL_GetTick(); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 65 886:user_src/soft_bms.c **** // } 887:user_src/soft_bms.c **** // } 888:user_src/soft_bms.c **** 889:user_src/soft_bms.c **** 890:user_src/soft_bms.c **** } 2659 .loc 1 890 1 2660 02bc 1837 adds r7, r7, #24 2661 .LCFI8: 2662 .cfi_def_cfa_offset 8 2663 02be BD46 mov sp, r7 2664 .LCFI9: 2665 .cfi_def_cfa_register 13 2666 @ sp needed 2667 02c0 80BD pop {r7, pc} 2668 .L70: 2669 02c2 00BF .align 2 2670 .L69: 2671 02c4 00000000 .word change_dev.5 2672 02c8 00000000 .word Device1 2673 02cc 00000000 .word Device2 2674 02d0 00000000 .word start_msg 2675 02d4 07000000 .word start_msg+7 2676 02d8 00000000 .word utc_time 2677 02dc 00000000 .word utc_send_time 2678 02e0 00000000 .word bms_heart_time.4 2679 .cfi_endproc 2680 .LFE134: 2682 .section .text.bms_function,"ax",%progbits 2683 .align 1 2684 .global bms_function 2685 .syntax unified 2686 .thumb 2687 .thumb_func 2689 bms_function: 2690 .LFB135: 891:user_src/soft_bms.c **** 892:user_src/soft_bms.c **** /** 893:user_src/soft_bms.c **** * @file bms_function 894:user_src/soft_bms.c **** * @brief 智能电池检测函数 895:user_src/soft_bms.c **** * @param none 896:user_src/soft_bms.c **** * @details 897:user_src/soft_bms.c **** * @author Zhang Sir 898:user_src/soft_bms.c **** **/ 899:user_src/soft_bms.c **** void bms_function() 900:user_src/soft_bms.c **** { 2691 .loc 1 900 1 2692 .cfi_startproc 2693 @ args = 0, pretend = 0, frame = 0 2694 @ frame_needed = 1, uses_anonymous_args = 0 2695 0000 80B5 push {r7, lr} 2696 .LCFI10: 2697 .cfi_def_cfa_offset 8 2698 .cfi_offset 7, -8 2699 .cfi_offset 14, -4 2700 0002 00AF add r7, sp, #0 2701 .LCFI11: 2702 .cfi_def_cfa_register 7 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 66 901:user_src/soft_bms.c **** static uint32_t bms_time = 0; 902:user_src/soft_bms.c **** static uint32_t bms_5hz_time = 0; 903:user_src/soft_bms.c **** 904:user_src/soft_bms.c **** if(Check_Timer_Ready(&bms_time,_10_HZ_)) 2703 .loc 1 904 8 2704 0004 6421 movs r1, #100 2705 0006 0B48 ldr r0, .L75 2706 0008 FFF7FEFF bl Check_Timer_Ready 2707 000c 0346 mov r3, r0 2708 .loc 1 904 7 2709 000e 002B cmp r3, #0 2710 0010 03D0 beq .L72 905:user_src/soft_bms.c **** { 906:user_src/soft_bms.c **** update_bms_data(); 2711 .loc 1 906 9 2712 0012 FFF7FEFF bl update_bms_data 907:user_src/soft_bms.c **** 908:user_src/soft_bms.c **** send_msg_to_VKbms();//存在双电池 不同时发送 发送频率加快 2713 .loc 1 908 9 2714 0016 FFF7FEFF bl send_msg_to_VKbms 2715 .L72: 909:user_src/soft_bms.c **** } 910:user_src/soft_bms.c **** 911:user_src/soft_bms.c **** if(Check_Timer_Ready(&bms_5hz_time,_5_HZ_)) 2716 .loc 1 911 8 2717 001a C821 movs r1, #200 2718 001c 0648 ldr r0, .L75+4 2719 001e FFF7FEFF bl Check_Timer_Ready 2720 0022 0346 mov r3, r0 2721 .loc 1 911 7 2722 0024 002B cmp r3, #0 2723 0026 03D0 beq .L74 912:user_src/soft_bms.c **** { 913:user_src/soft_bms.c **** //给智能电池发送上电信息 914:user_src/soft_bms.c **** send_msg_to_okcell(); 2724 .loc 1 914 9 2725 0028 FFF7FEFF bl send_msg_to_okcell 915:user_src/soft_bms.c **** send_msg_to_herewin(); 2726 .loc 1 915 9 2727 002c FFF7FEFF bl send_msg_to_herewin 2728 .L74: 916:user_src/soft_bms.c **** //send_msg_to_poweramp(); 917:user_src/soft_bms.c **** } 918:user_src/soft_bms.c **** } 2729 .loc 1 918 1 2730 0030 00BF nop 2731 0032 80BD pop {r7, pc} 2732 .L76: 2733 .align 2 2734 .L75: 2735 0034 00000000 .word bms_time.3 2736 0038 00000000 .word bms_5hz_time.2 2737 .cfi_endproc 2738 .LFE135: 2740 .global bms_test 2741 .section .bss.bms_test,"aw",%nobits 2742 .align 1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 67 2745 bms_test: 2746 0000 0000 .space 2 2747 .global bms_re 2748 .section .bss.bms_re,"aw",%nobits 2749 .align 1 2752 bms_re: 2753 0000 0000 .space 2 2754 .global fmu_send_vkbms_msgid 2755 .section .bss.fmu_send_vkbms_msgid,"aw",%nobits 2758 fmu_send_vkbms_msgid: 2759 0000 00 .space 1 2760 .section .text.BMSCanRecvHookFunction,"ax",%progbits 2761 .align 1 2762 .global BMSCanRecvHookFunction 2763 .syntax unified 2764 .thumb 2765 .thumb_func 2767 BMSCanRecvHookFunction: 2768 .LFB136: 919:user_src/soft_bms.c **** 920:user_src/soft_bms.c **** 921:user_src/soft_bms.c **** /** 922:user_src/soft_bms.c **** * @file BMSCanRecvHookFunction 923:user_src/soft_bms.c **** * @brief VK智能电池协议 924:user_src/soft_bms.c **** * @param none 925:user_src/soft_bms.c **** * @details 926:user_src/soft_bms.c **** * @author Zhang Sir 927:user_src/soft_bms.c **** **/ 928:user_src/soft_bms.c **** uint16_t bms_test = 0; 929:user_src/soft_bms.c **** uint16_t bms_re = 0; 930:user_src/soft_bms.c **** uint8_t fmu_send_vkbms_msgid = 0; 931:user_src/soft_bms.c **** void BMSCanRecvHookFunction(uint32_t CanID, uint8_t data[], uint8_t len) 932:user_src/soft_bms.c **** { 2769 .loc 1 932 1 2770 .cfi_startproc 2771 @ args = 0, pretend = 0, frame = 32 2772 @ frame_needed = 1, uses_anonymous_args = 0 2773 0000 80B5 push {r7, lr} 2774 .LCFI12: 2775 .cfi_def_cfa_offset 8 2776 .cfi_offset 7, -8 2777 .cfi_offset 14, -4 2778 0002 88B0 sub sp, sp, #32 2779 .LCFI13: 2780 .cfi_def_cfa_offset 40 2781 0004 00AF add r7, sp, #0 2782 .LCFI14: 2783 .cfi_def_cfa_register 7 2784 0006 F860 str r0, [r7, #12] 2785 0008 B960 str r1, [r7, #8] 2786 000a 1346 mov r3, r2 2787 000c FB71 strb r3, [r7, #7] 933:user_src/soft_bms.c **** uint32_t source_id = 0, msg_id = 0; 2788 .loc 1 933 14 2789 000e 0023 movs r3, #0 2790 0010 BB61 str r3, [r7, #24] 2791 .loc 1 933 29 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 68 2792 0012 0023 movs r3, #0 2793 0014 7B61 str r3, [r7, #20] 934:user_src/soft_bms.c **** uint8_t bms_SOF = 0, bms_EOF = 0, frame_num = 0; 2794 .loc 1 934 13 2795 0016 0023 movs r3, #0 2796 0018 FB74 strb r3, [r7, #19] 2797 .loc 1 934 26 2798 001a 0023 movs r3, #0 2799 001c BB74 strb r3, [r7, #18] 2800 .loc 1 934 39 2801 001e 0023 movs r3, #0 2802 0020 7B74 strb r3, [r7, #17] 935:user_src/soft_bms.c **** static uint32_t bms1_source_id = 0; 936:user_src/soft_bms.c **** static uint32_t pack_msg_id = 0; 937:user_src/soft_bms.c **** 938:user_src/soft_bms.c **** Vkbms_Device *Bmspointer = NULL; 2803 .loc 1 938 19 2804 0022 0023 movs r3, #0 2805 0024 FB61 str r3, [r7, #28] 939:user_src/soft_bms.c **** 940:user_src/soft_bms.c **** msg_id = (CanID & VK_MSG_MASK_ID) >> 20; 2806 .loc 1 940 39 2807 0026 FB68 ldr r3, [r7, #12] 2808 0028 1B0D lsrs r3, r3, #20 2809 .loc 1 940 12 2810 002a 03F03F03 and r3, r3, #63 2811 002e 7B61 str r3, [r7, #20] 941:user_src/soft_bms.c **** source_id = (CanID & VK_SRC_MASK_ID) >> 5; 2812 .loc 1 941 42 2813 0030 FB68 ldr r3, [r7, #12] 2814 0032 5B09 lsrs r3, r3, #5 2815 .loc 1 941 15 2816 0034 03F03F03 and r3, r3, #63 2817 0038 BB61 str r3, [r7, #24] 942:user_src/soft_bms.c **** bms_SOF = (CanID >> 4) & 0x1; 2818 .loc 1 942 22 2819 003a FB68 ldr r3, [r7, #12] 2820 003c 1B09 lsrs r3, r3, #4 2821 .loc 1 942 28 2822 003e DBB2 uxtb r3, r3 2823 .loc 1 942 13 2824 0040 03F00103 and r3, r3, #1 2825 0044 FB74 strb r3, [r7, #19] 943:user_src/soft_bms.c **** bms_EOF = (CanID >> 3) & 0x1; 2826 .loc 1 943 22 2827 0046 FB68 ldr r3, [r7, #12] 2828 0048 DB08 lsrs r3, r3, #3 2829 .loc 1 943 28 2830 004a DBB2 uxtb r3, r3 2831 .loc 1 943 13 2832 004c 03F00103 and r3, r3, #1 2833 0050 BB74 strb r3, [r7, #18] 944:user_src/soft_bms.c **** frame_num = CanID & 0x7; 2834 .loc 1 944 23 2835 0052 FB68 ldr r3, [r7, #12] 2836 0054 DBB2 uxtb r3, r3 2837 .loc 1 944 15 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 69 2838 0056 03F00703 and r3, r3, #7 2839 005a 7B74 strb r3, [r7, #17] 945:user_src/soft_bms.c **** 946:user_src/soft_bms.c **** if(source_id == bms1_source_id || bms1_source_id == 0) 2840 .loc 1 946 18 2841 005c 9C4B ldr r3, .L114 2842 005e 1B68 ldr r3, [r3] 2843 .loc 1 946 7 2844 0060 BA69 ldr r2, [r7, #24] 2845 0062 9A42 cmp r2, r3 2846 0064 03D0 beq .L78 2847 .loc 1 946 54 discriminator 1 2848 0066 9A4B ldr r3, .L114 2849 0068 1B68 ldr r3, [r3] 2850 .loc 1 946 36 discriminator 1 2851 006a 002B cmp r3, #0 2852 006c 09D1 bne .L79 2853 .L78: 947:user_src/soft_bms.c **** { 948:user_src/soft_bms.c **** bms1_source_id = source_id; 2854 .loc 1 948 24 2855 006e 984A ldr r2, .L114 2856 0070 BB69 ldr r3, [r7, #24] 2857 0072 1360 str r3, [r2] 949:user_src/soft_bms.c **** Bmspointer = &Device1; 2858 .loc 1 949 20 2859 0074 974B ldr r3, .L114+4 2860 0076 FB61 str r3, [r7, #28] 950:user_src/soft_bms.c **** Bmspointer->source_id = source_id; 2861 .loc 1 950 31 2862 0078 BB69 ldr r3, [r7, #24] 2863 007a DAB2 uxtb r2, r3 2864 007c FB69 ldr r3, [r7, #28] 2865 007e 5A74 strb r2, [r3, #17] 2866 0080 05E0 b .L80 2867 .L79: 951:user_src/soft_bms.c **** } 952:user_src/soft_bms.c **** else 953:user_src/soft_bms.c **** { 954:user_src/soft_bms.c **** Bmspointer = &Device2; 2868 .loc 1 954 20 2869 0082 954B ldr r3, .L114+8 2870 0084 FB61 str r3, [r7, #28] 955:user_src/soft_bms.c **** Bmspointer->source_id = source_id; 2871 .loc 1 955 31 2872 0086 BB69 ldr r3, [r7, #24] 2873 0088 DAB2 uxtb r2, r3 2874 008a FB69 ldr r3, [r7, #28] 2875 008c 5A74 strb r2, [r3, #17] 2876 .L80: 956:user_src/soft_bms.c **** } 957:user_src/soft_bms.c **** 958:user_src/soft_bms.c **** Bmspointer->Vkbms_Link.connect_status = COMP_NORMAL; 2877 .loc 1 958 43 2878 008e FB69 ldr r3, [r7, #28] 2879 0090 0122 movs r2, #1 2880 0092 1A72 strb r2, [r3, #8] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 70 959:user_src/soft_bms.c **** Bmspointer->Vkbms_Link.recv_time = HAL_GetTick(); 2881 .loc 1 959 40 2882 0094 FFF7FEFF bl HAL_GetTick 2883 0098 0246 mov r2, r0 2884 .loc 1 959 38 2885 009a FB69 ldr r3, [r7, #28] 2886 009c 1A60 str r2, [r3] @ unaligned 960:user_src/soft_bms.c **** 961:user_src/soft_bms.c **** //单帧 962:user_src/soft_bms.c **** if(bms_SOF == 1 && bms_EOF == 1) 2887 .loc 1 962 7 2888 009e FB7C ldrb r3, [r7, #19] @ zero_extendqisi2 2889 00a0 012B cmp r3, #1 2890 00a2 0AD1 bne .L81 2891 .loc 1 962 21 discriminator 1 2892 00a4 BB7C ldrb r3, [r7, #18] @ zero_extendqisi2 2893 00a6 012B cmp r3, #1 2894 00a8 07D1 bne .L81 963:user_src/soft_bms.c **** { 964:user_src/soft_bms.c **** memcpy(&Bmspointer->bms_can_buf[0],&data[0],len); 2895 .loc 1 964 16 2896 00aa FB69 ldr r3, [r7, #28] 2897 00ac 1633 adds r3, r3, #22 2898 .loc 1 964 9 2899 00ae FA79 ldrb r2, [r7, #7] @ zero_extendqisi2 2900 00b0 B968 ldr r1, [r7, #8] 2901 00b2 1846 mov r0, r3 2902 00b4 FFF7FEFF bl memcpy 2903 00b8 A6E0 b .L82 2904 .L81: 965:user_src/soft_bms.c **** } 966:user_src/soft_bms.c **** //多帧 帧头 967:user_src/soft_bms.c **** else if(bms_SOF == 1 && bms_EOF == 0) 2905 .loc 1 967 12 2906 00ba FB7C ldrb r3, [r7, #19] @ zero_extendqisi2 2907 00bc 012B cmp r3, #1 2908 00be 24D1 bne .L83 2909 .loc 1 967 26 discriminator 1 2910 00c0 BB7C ldrb r3, [r7, #18] @ zero_extendqisi2 2911 00c2 002B cmp r3, #0 2912 00c4 21D1 bne .L83 968:user_src/soft_bms.c **** { 969:user_src/soft_bms.c **** Bmspointer->mul_frame_i = 0; 2913 .loc 1 969 33 2914 00c6 FB69 ldr r3, [r7, #28] 2915 00c8 0022 movs r2, #0 2916 00ca 1A75 strb r2, [r3, #20] 970:user_src/soft_bms.c **** Bmspointer->mul_frame_num = 2; 2917 .loc 1 970 35 2918 00cc FB69 ldr r3, [r7, #28] 2919 00ce 0222 movs r2, #2 2920 00d0 5A75 strb r2, [r3, #21] 971:user_src/soft_bms.c **** Bmspointer->if_mul_frame = true; 2921 .loc 1 971 34 2922 00d2 FB69 ldr r3, [r7, #28] 2923 00d4 0122 movs r2, #1 2924 00d6 9A74 strb r2, [r3, #18] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 71 972:user_src/soft_bms.c **** Bmspointer->recv_mul_freme_complete = false; 2925 .loc 1 972 45 2926 00d8 FB69 ldr r3, [r7, #28] 2927 00da 0022 movs r2, #0 2928 00dc DA74 strb r2, [r3, #19] 973:user_src/soft_bms.c **** memcpy(&Bmspointer->bms_can_buf[Bmspointer->mul_frame_i],&data[0],len); 2929 .loc 1 973 51 2930 00de FB69 ldr r3, [r7, #28] 2931 00e0 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 2932 .loc 1 973 16 2933 00e2 1033 adds r3, r3, #16 2934 00e4 FA69 ldr r2, [r7, #28] 2935 00e6 1344 add r3, r3, r2 2936 00e8 0633 adds r3, r3, #6 2937 .loc 1 973 9 2938 00ea FA79 ldrb r2, [r7, #7] @ zero_extendqisi2 2939 00ec B968 ldr r1, [r7, #8] 2940 00ee 1846 mov r0, r3 2941 00f0 FFF7FEFF bl memcpy 974:user_src/soft_bms.c **** Bmspointer->mul_frame_i += len; 2942 .loc 1 974 33 2943 00f4 FB69 ldr r3, [r7, #28] 2944 00f6 1A7D ldrb r2, [r3, #20] @ zero_extendqisi2 2945 00f8 FB79 ldrb r3, [r7, #7] 2946 00fa 1344 add r3, r3, r2 2947 00fc DAB2 uxtb r2, r3 2948 00fe FB69 ldr r3, [r7, #28] 2949 0100 1A75 strb r2, [r3, #20] 975:user_src/soft_bms.c **** 976:user_src/soft_bms.c **** pack_msg_id = msg_id; 2950 .loc 1 976 21 2951 0102 764A ldr r2, .L114+12 2952 0104 7B69 ldr r3, [r7, #20] 2953 0106 1360 str r3, [r2] 2954 0108 7EE0 b .L82 2955 .L83: 977:user_src/soft_bms.c **** } 978:user_src/soft_bms.c **** // 中间帧 979:user_src/soft_bms.c **** else if(Bmspointer->if_mul_frame == true && bms_SOF == 0 && bms_EOF == 0 && pack_msg_id == msg_ 2956 .loc 1 979 23 2957 010a FB69 ldr r3, [r7, #28] 2958 010c 9B7C ldrb r3, [r3, #18] @ zero_extendqisi2 2959 .loc 1 979 12 2960 010e 002B cmp r3, #0 2961 0110 3AD0 beq .L84 2962 .loc 1 979 46 discriminator 1 2963 0112 FB7C ldrb r3, [r7, #19] @ zero_extendqisi2 2964 0114 002B cmp r3, #0 2965 0116 37D1 bne .L84 2966 .loc 1 979 62 discriminator 2 2967 0118 BB7C ldrb r3, [r7, #18] @ zero_extendqisi2 2968 011a 002B cmp r3, #0 2969 011c 34D1 bne .L84 2970 .loc 1 979 93 discriminator 3 2971 011e 6F4B ldr r3, .L114+12 2972 0120 1B68 ldr r3, [r3] 2973 .loc 1 979 78 discriminator 3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 72 2974 0122 7A69 ldr r2, [r7, #20] 2975 0124 9A42 cmp r2, r3 2976 0126 2FD1 bne .L84 980:user_src/soft_bms.c **** { 981:user_src/soft_bms.c **** if(Bmspointer->mul_frame_num == frame_num /*&& ((Bmspointer->mul_frame_i + len) <= sizeof(v 2977 .loc 1 981 22 2978 0128 FB69 ldr r3, [r7, #28] 2979 012a 5B7D ldrb r3, [r3, #21] @ zero_extendqisi2 2980 .loc 1 981 11 2981 012c 7A7C ldrb r2, [r7, #17] @ zero_extendqisi2 2982 012e 9A42 cmp r2, r3 2983 0130 26D1 bne .L85 982:user_src/soft_bms.c **** { 983:user_src/soft_bms.c **** memcpy(&Bmspointer->bms_can_buf[Bmspointer->mul_frame_i],&data[0],len); 2984 .loc 1 983 55 2985 0132 FB69 ldr r3, [r7, #28] 2986 0134 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 2987 .loc 1 983 20 2988 0136 1033 adds r3, r3, #16 2989 0138 FA69 ldr r2, [r7, #28] 2990 013a 1344 add r3, r3, r2 2991 013c 0633 adds r3, r3, #6 2992 .loc 1 983 13 2993 013e FA79 ldrb r2, [r7, #7] @ zero_extendqisi2 2994 0140 B968 ldr r1, [r7, #8] 2995 0142 1846 mov r0, r3 2996 0144 FFF7FEFF bl memcpy 984:user_src/soft_bms.c **** 985:user_src/soft_bms.c **** Bmspointer->mul_frame_i += len; 2997 .loc 1 985 37 2998 0148 FB69 ldr r3, [r7, #28] 2999 014a 1A7D ldrb r2, [r3, #20] @ zero_extendqisi2 3000 014c FB79 ldrb r3, [r7, #7] 3001 014e 1344 add r3, r3, r2 3002 0150 DAB2 uxtb r2, r3 3003 0152 FB69 ldr r3, [r7, #28] 3004 0154 1A75 strb r2, [r3, #20] 986:user_src/soft_bms.c **** Bmspointer->mul_frame_num++; 3005 .loc 1 986 23 3006 0156 FB69 ldr r3, [r7, #28] 3007 0158 5B7D ldrb r3, [r3, #21] @ zero_extendqisi2 3008 .loc 1 986 38 3009 015a 0133 adds r3, r3, #1 3010 015c DAB2 uxtb r2, r3 3011 015e FB69 ldr r3, [r7, #28] 3012 0160 5A75 strb r2, [r3, #21] 987:user_src/soft_bms.c **** if(Bmspointer->mul_frame_num == 8) 3013 .loc 1 987 26 3014 0162 FB69 ldr r3, [r7, #28] 3015 0164 5B7D ldrb r3, [r3, #21] @ zero_extendqisi2 3016 .loc 1 987 15 3017 0166 082B cmp r3, #8 3018 0168 02D1 bne .L86 988:user_src/soft_bms.c **** { 989:user_src/soft_bms.c **** Bmspointer->mul_frame_num = 1; 3019 .loc 1 989 43 3020 016a FB69 ldr r3, [r7, #28] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 73 3021 016c 0122 movs r2, #1 3022 016e 5A75 strb r2, [r3, #21] 3023 .L86: 990:user_src/soft_bms.c **** } 991:user_src/soft_bms.c **** 992:user_src/soft_bms.c **** if(Bmspointer->mul_frame_num >= 8) 3024 .loc 1 992 26 3025 0170 FB69 ldr r3, [r7, #28] 3026 0172 5B7D ldrb r3, [r3, #21] @ zero_extendqisi2 3027 .loc 1 992 15 3028 0174 072B cmp r3, #7 3029 0176 46D9 bls .L106 993:user_src/soft_bms.c **** { 994:user_src/soft_bms.c **** Bmspointer->mul_frame_num = 0; 3030 .loc 1 994 43 3031 0178 FB69 ldr r3, [r7, #28] 3032 017a 0022 movs r2, #0 3033 017c 5A75 strb r2, [r3, #21] 981:user_src/soft_bms.c **** { 3034 .loc 1 981 11 3035 017e 42E0 b .L106 3036 .L85: 995:user_src/soft_bms.c **** } 996:user_src/soft_bms.c **** } 997:user_src/soft_bms.c **** else 998:user_src/soft_bms.c **** { 999:user_src/soft_bms.c **** Bmspointer->if_mul_frame = false; 3037 .loc 1 999 38 3038 0180 FB69 ldr r3, [r7, #28] 3039 0182 0022 movs r2, #0 3040 0184 9A74 strb r2, [r3, #18] 981:user_src/soft_bms.c **** { 3041 .loc 1 981 11 3042 0186 3EE0 b .L106 3043 .L84: 1000:user_src/soft_bms.c **** } 1001:user_src/soft_bms.c **** } 1002:user_src/soft_bms.c **** //帧尾 1003:user_src/soft_bms.c **** else if(bms_SOF == 0 && bms_EOF == 1 && Bmspointer->if_mul_frame == true && pack_msg_id == msg_ 3044 .loc 1 1003 12 3045 0188 FB7C ldrb r3, [r7, #19] @ zero_extendqisi2 3046 018a 002B cmp r3, #0 3047 018c 3CD1 bne .L82 3048 .loc 1 1003 26 discriminator 1 3049 018e BB7C ldrb r3, [r7, #18] @ zero_extendqisi2 3050 0190 012B cmp r3, #1 3051 0192 39D1 bne .L82 3052 .loc 1 1003 55 discriminator 2 3053 0194 FB69 ldr r3, [r7, #28] 3054 0196 9B7C ldrb r3, [r3, #18] @ zero_extendqisi2 3055 .loc 1 1003 42 discriminator 2 3056 0198 002B cmp r3, #0 3057 019a 35D0 beq .L82 3058 .loc 1 1003 93 discriminator 3 3059 019c 4F4B ldr r3, .L114+12 3060 019e 1B68 ldr r3, [r3] 3061 .loc 1 1003 78 discriminator 3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 74 3062 01a0 7A69 ldr r2, [r7, #20] 3063 01a2 9A42 cmp r2, r3 3064 01a4 30D1 bne .L82 1004:user_src/soft_bms.c **** { 1005:user_src/soft_bms.c **** memcpy(&Bmspointer->bms_can_buf[Bmspointer->mul_frame_i],&data[0],len); 3065 .loc 1 1005 51 3066 01a6 FB69 ldr r3, [r7, #28] 3067 01a8 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 3068 .loc 1 1005 16 3069 01aa 1033 adds r3, r3, #16 3070 01ac FA69 ldr r2, [r7, #28] 3071 01ae 1344 add r3, r3, r2 3072 01b0 0633 adds r3, r3, #6 3073 .loc 1 1005 9 3074 01b2 FA79 ldrb r2, [r7, #7] @ zero_extendqisi2 3075 01b4 B968 ldr r1, [r7, #8] 3076 01b6 1846 mov r0, r3 3077 01b8 FFF7FEFF bl memcpy 1006:user_src/soft_bms.c **** Bmspointer->mul_frame_i += len; 3078 .loc 1 1006 33 3079 01bc FB69 ldr r3, [r7, #28] 3080 01be 1A7D ldrb r2, [r3, #20] @ zero_extendqisi2 3081 01c0 FB79 ldrb r3, [r7, #7] 3082 01c2 1344 add r3, r3, r2 3083 01c4 DAB2 uxtb r2, r3 3084 01c6 FB69 ldr r3, [r7, #28] 3085 01c8 1A75 strb r2, [r3, #20] 1007:user_src/soft_bms.c **** Bmspointer->if_mul_frame = false; 3086 .loc 1 1007 34 3087 01ca FB69 ldr r3, [r7, #28] 3088 01cc 0022 movs r2, #0 3089 01ce 9A74 strb r2, [r3, #18] 1008:user_src/soft_bms.c **** 1009:user_src/soft_bms.c **** //bms_test = Get_Crc16(&Bmspointer->bms_can_buf[2], Bmspointer->mul_frame_i - 2); 1010:user_src/soft_bms.c **** //bms_re = Bmspointer->bms_can_buf[0] + (Bmspointer->bms_can_buf[1] << 8); 1011:user_src/soft_bms.c **** if(Get_Crc16(&Bmspointer->bms_can_buf[2], Bmspointer->mul_frame_i - 2) == (Bmspointer->bms_ 3090 .loc 1 1011 12 3091 01d0 FB69 ldr r3, [r7, #28] 3092 01d2 03F11802 add r2, r3, #24 3093 .loc 1 1011 61 3094 01d6 FB69 ldr r3, [r7, #28] 3095 01d8 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 3096 01da 9BB2 uxth r3, r3 3097 .loc 1 1011 12 3098 01dc 023B subs r3, r3, #2 3099 01de 9BB2 uxth r3, r3 3100 01e0 1946 mov r1, r3 3101 01e2 1046 mov r0, r2 3102 01e4 FFF7FEFF bl Get_Crc16 3103 01e8 0346 mov r3, r0 3104 01ea 1A46 mov r2, r3 3105 .loc 1 1011 107 3106 01ec FB69 ldr r3, [r7, #28] 3107 01ee 9B7D ldrb r3, [r3, #22] @ zero_extendqisi2 3108 01f0 1946 mov r1, r3 3109 .loc 1 1011 137 3110 01f2 FB69 ldr r3, [r7, #28] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 75 3111 01f4 DB7D ldrb r3, [r3, #23] @ zero_extendqisi2 3112 .loc 1 1011 141 3113 01f6 1B02 lsls r3, r3, #8 3114 .loc 1 1011 111 3115 01f8 0B44 add r3, r3, r1 3116 .loc 1 1011 11 3117 01fa 9A42 cmp r2, r3 3118 01fc 04D1 bne .L82 1012:user_src/soft_bms.c **** { 1013:user_src/soft_bms.c **** Bmspointer->recv_mul_freme_complete = true; 3119 .loc 1 1013 49 3120 01fe FB69 ldr r3, [r7, #28] 3121 0200 0122 movs r2, #1 3122 0202 DA74 strb r2, [r3, #19] 3123 0204 00E0 b .L82 3124 .L106: 981:user_src/soft_bms.c **** { 3125 .loc 1 981 11 3126 0206 00BF nop 3127 .L82: 1014:user_src/soft_bms.c **** } 1015:user_src/soft_bms.c **** } 1016:user_src/soft_bms.c **** 1017:user_src/soft_bms.c **** switch (msg_id) 3128 .loc 1 1017 5 3129 0208 7B69 ldr r3, [r7, #20] 3130 020a 013B subs r3, r3, #1 3131 020c 082B cmp r3, #8 3132 020e 00F2AA80 bhi .L107 3133 0212 01A2 adr r2, .L90 3134 0214 52F823F0 ldr pc, [r2, r3, lsl #2] 3135 .p2align 2 3136 .L90: 3137 0218 3D020000 .word .L97+1 3138 021c 61020000 .word .L96+1 3139 0220 85020000 .word .L95+1 3140 0224 AF020000 .word .L94+1 3141 0228 E1020000 .word .L93+1 3142 022c 67030000 .word .L107+1 3143 0230 0B030000 .word .L92+1 3144 0234 3B030000 .word .L91+1 3145 0238 57030000 .word .L89+1 3146 .p2align 1 3147 .L97: 1018:user_src/soft_bms.c **** { 1019:user_src/soft_bms.c **** case 0X01: 1020:user_src/soft_bms.c **** if(Bmspointer->bms_can_buf[0] == 0x56 && Bmspointer->bms_can_buf[1] == 0x31) 3148 .loc 1 1020 35 3149 023c FB69 ldr r3, [r7, #28] 3150 023e 9B7D ldrb r3, [r3, #22] @ zero_extendqisi2 3151 .loc 1 1020 11 3152 0240 562B cmp r3, #86 3153 0242 40F09280 bne .L108 3154 .loc 1 1020 73 discriminator 1 3155 0246 FB69 ldr r3, [r7, #28] 3156 0248 DB7D ldrb r3, [r3, #23] @ zero_extendqisi2 3157 .loc 1 1020 47 discriminator 1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 76 3158 024a 312B cmp r3, #49 3159 024c 40F08D80 bne .L108 1021:user_src/soft_bms.c **** { 1022:user_src/soft_bms.c **** Bmspointer->ack_to_bms = true; 3160 .loc 1 1022 36 3161 0250 FB69 ldr r3, [r7, #28] 3162 0252 0122 movs r2, #1 3163 0254 1A74 strb r2, [r3, #16] 1023:user_src/soft_bms.c **** Bmspointer->source_id = source_id; 3164 .loc 1 1023 35 3165 0256 BB69 ldr r3, [r7, #24] 3166 0258 DAB2 uxtb r2, r3 3167 025a FB69 ldr r3, [r7, #28] 3168 025c 5A74 strb r2, [r3, #17] 1024:user_src/soft_bms.c **** } 1025:user_src/soft_bms.c **** break; 3169 .loc 1 1025 9 3170 025e 84E0 b .L108 3171 .L96: 1026:user_src/soft_bms.c **** case 0X02: 1027:user_src/soft_bms.c **** if(Bmspointer->recv_mul_freme_complete == true) 3172 .loc 1 1027 22 3173 0260 FB69 ldr r3, [r7, #28] 3174 0262 DB7C ldrb r3, [r3, #19] @ zero_extendqisi2 3175 .loc 1 1027 11 3176 0264 002B cmp r3, #0 3177 0266 00F08280 beq .L109 1028:user_src/soft_bms.c **** { 1029:user_src/soft_bms.c **** memcpy(&Bmspointer->vk_bms2.voltage, &Bmspointer->bms_can_buf[2], sizeof(vkbms2));//接 3178 .loc 1 1029 20 3179 026a FB69 ldr r3, [r7, #28] 3180 026c 03F19600 add r0, r3, #150 3181 .loc 1 1029 50 3182 0270 FB69 ldr r3, [r7, #28] 3183 0272 1833 adds r3, r3, #24 3184 .loc 1 1029 13 3185 0274 4622 movs r2, #70 3186 0276 1946 mov r1, r3 3187 0278 FFF7FEFF bl memcpy 1030:user_src/soft_bms.c **** Bmspointer->recv_mul_freme_complete = false; 3188 .loc 1 1030 49 3189 027c FB69 ldr r3, [r7, #28] 3190 027e 0022 movs r2, #0 3191 0280 DA74 strb r2, [r3, #19] 1031:user_src/soft_bms.c **** } 1032:user_src/soft_bms.c **** break; 3192 .loc 1 1032 9 3193 0282 74E0 b .L109 3194 .L95: 1033:user_src/soft_bms.c **** case 0X03: 1034:user_src/soft_bms.c **** if(Bmspointer->recv_mul_freme_complete == true) 3195 .loc 1 1034 22 3196 0284 FB69 ldr r3, [r7, #28] 3197 0286 DB7C ldrb r3, [r3, #19] @ zero_extendqisi2 3198 .loc 1 1034 11 3199 0288 002B cmp r3, #0 3200 028a 72D0 beq .L110 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 77 1035:user_src/soft_bms.c **** { 1036:user_src/soft_bms.c **** memcpy(&Bmspointer->vk_bms3.bms_company_info, &Bmspointer->bms_can_buf[2], sizeof(vkbms 3201 .loc 1 1036 20 3202 028c FB69 ldr r3, [r7, #28] 3203 028e 03F1DC00 add r0, r3, #220 3204 .loc 1 1036 59 3205 0292 FB69 ldr r3, [r7, #28] 3206 0294 1833 adds r3, r3, #24 3207 .loc 1 1036 13 3208 0296 5022 movs r2, #80 3209 0298 1946 mov r1, r3 3210 029a FFF7FEFF bl memcpy 1037:user_src/soft_bms.c **** Bmspointer->recv_mul_freme_complete = false; 3211 .loc 1 1037 49 3212 029e FB69 ldr r3, [r7, #28] 3213 02a0 0022 movs r2, #0 3214 02a2 DA74 strb r2, [r3, #19] 1038:user_src/soft_bms.c **** 1039:user_src/soft_bms.c **** Bmspointer->get_bms3_ack = true; 3215 .loc 1 1039 38 3216 02a4 FB69 ldr r3, [r7, #28] 3217 02a6 0122 movs r2, #1 3218 02a8 83F84A21 strb r2, [r3, #330] 1040:user_src/soft_bms.c **** } 1041:user_src/soft_bms.c **** break; 3219 .loc 1 1041 9 3220 02ac 61E0 b .L110 3221 .L94: 1042:user_src/soft_bms.c **** case 0X04: 1043:user_src/soft_bms.c **** memcpy(&Bmspointer->vk_bms4.capacity, &Bmspointer->bms_can_buf[0], sizeof(vkbms4)); 3222 .loc 1 1043 16 3223 02ae FB69 ldr r3, [r7, #28] 3224 02b0 03F59670 add r0, r3, #300 3225 .loc 1 1043 47 3226 02b4 FB69 ldr r3, [r7, #28] 3227 02b6 1633 adds r3, r3, #22 3228 .loc 1 1043 9 3229 02b8 0822 movs r2, #8 3230 02ba 1946 mov r1, r3 3231 02bc FFF7FEFF bl memcpy 1044:user_src/soft_bms.c **** Bmspointer->recv_mul_freme_complete = false; 3232 .loc 1 1044 45 3233 02c0 FB69 ldr r3, [r7, #28] 3234 02c2 0022 movs r2, #0 3235 02c4 DA74 strb r2, [r3, #19] 1045:user_src/soft_bms.c **** Bmspointer->get_bms4_ack = true; 3236 .loc 1 1045 34 3237 02c6 FB69 ldr r3, [r7, #28] 3238 02c8 0122 movs r2, #1 3239 02ca 83F84B21 strb r2, [r3, #331] 1046:user_src/soft_bms.c **** break; 3240 .loc 1 1046 9 3241 02ce 55E0 b .L99 3242 .L115: 3243 .align 2 3244 .L114: 3245 02d0 00000000 .word bms1_source_id.1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 78 3246 02d4 00000000 .word Device1 3247 02d8 00000000 .word Device2 3248 02dc 00000000 .word pack_msg_id.0 3249 .L93: 1047:user_src/soft_bms.c **** case 0X05: 1048:user_src/soft_bms.c **** if(Bmspointer->recv_mul_freme_complete == true) 3250 .loc 1 1048 22 3251 02e0 FB69 ldr r3, [r7, #28] 3252 02e2 DB7C ldrb r3, [r3, #19] @ zero_extendqisi2 3253 .loc 1 1048 11 3254 02e4 002B cmp r3, #0 3255 02e6 46D0 beq .L111 1049:user_src/soft_bms.c **** { 1050:user_src/soft_bms.c **** memcpy(&Bmspointer->vk_bms5.health_percent, &Bmspointer->bms_can_buf[2], sizeof(vkbms5) 3256 .loc 1 1050 20 3257 02e8 FB69 ldr r3, [r7, #28] 3258 02ea 03F59A70 add r0, r3, #308 3259 .loc 1 1050 57 3260 02ee FB69 ldr r3, [r7, #28] 3261 02f0 1833 adds r3, r3, #24 3262 .loc 1 1050 13 3263 02f2 1622 movs r2, #22 3264 02f4 1946 mov r1, r3 3265 02f6 FFF7FEFF bl memcpy 1051:user_src/soft_bms.c **** Bmspointer->recv_mul_freme_complete = false; 3266 .loc 1 1051 49 3267 02fa FB69 ldr r3, [r7, #28] 3268 02fc 0022 movs r2, #0 3269 02fe DA74 strb r2, [r3, #19] 1052:user_src/soft_bms.c **** Bmspointer->get_bms5_ack = true; 3270 .loc 1 1052 38 3271 0300 FB69 ldr r3, [r7, #28] 3272 0302 0122 movs r2, #1 3273 0304 83F84C21 strb r2, [r3, #332] 1053:user_src/soft_bms.c **** } 1054:user_src/soft_bms.c **** break; 3274 .loc 1 1054 9 3275 0308 35E0 b .L111 3276 .L92: 1055:user_src/soft_bms.c **** //秘钥是否匹配 1056:user_src/soft_bms.c **** case 0x07: 1057:user_src/soft_bms.c **** start_msg.key_to_bms = false; 3277 .loc 1 1057 30 3278 030a 1E4B ldr r3, .L116 3279 030c 0022 movs r2, #0 3280 030e 9A70 strb r2, [r3, #2] 1058:user_src/soft_bms.c **** if(Bmspointer->bms_can_buf[0] == 0) 3281 .loc 1 1058 35 3282 0310 FB69 ldr r3, [r7, #28] 3283 0312 9B7D ldrb r3, [r3, #22] @ zero_extendqisi2 3284 .loc 1 1058 11 3285 0314 002B cmp r3, #0 3286 0316 06D1 bne .L103 1059:user_src/soft_bms.c **** { 1060:user_src/soft_bms.c **** start_msg.mos_status = true; 3287 .loc 1 1060 34 3288 0318 1A4B ldr r3, .L116 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 79 3289 031a 0122 movs r2, #1 3290 031c DA70 strb r2, [r3, #3] 1061:user_src/soft_bms.c **** start_msg.Id_content = 1; 3291 .loc 1 1061 34 3292 031e 194B ldr r3, .L116 3293 0320 0122 movs r2, #1 3294 0322 9A71 strb r2, [r3, #6] 3295 0324 02E0 b .L104 3296 .L103: 1062:user_src/soft_bms.c **** } 1063:user_src/soft_bms.c **** else 1064:user_src/soft_bms.c **** { 1065:user_src/soft_bms.c **** start_msg.Id_content = 2; 3297 .loc 1 1065 34 3298 0326 174B ldr r3, .L116 3299 0328 0222 movs r2, #2 3300 032a 9A71 strb r2, [r3, #6] 3301 .L104: 1066:user_src/soft_bms.c **** } 1067:user_src/soft_bms.c **** start_msg.Id = 3; 3302 .loc 1 1067 22 3303 032c 154B ldr r3, .L116 3304 032e 0322 movs r2, #3 3305 0330 5A71 strb r2, [r3, #5] 1068:user_src/soft_bms.c **** start_msg.key_info_checking = true; 3306 .loc 1 1068 37 3307 0332 144B ldr r3, .L116 3308 0334 0122 movs r2, #1 3309 0336 5A70 strb r2, [r3, #1] 1069:user_src/soft_bms.c **** 1070:user_src/soft_bms.c **** break; 3310 .loc 1 1070 9 3311 0338 20E0 b .L99 3312 .L91: 1071:user_src/soft_bms.c **** case 0x08: 1072:user_src/soft_bms.c **** start_msg.Id = 4; 3313 .loc 1 1072 23 3314 033a 124B ldr r3, .L116 3315 033c 0422 movs r2, #4 3316 033e 5A71 strb r2, [r3, #5] 1073:user_src/soft_bms.c **** start_msg.Id_content = Bmspointer->bms_can_buf[0]; 3317 .loc 1 1073 56 3318 0340 FB69 ldr r3, [r7, #28] 3319 0342 9A7D ldrb r2, [r3, #22] @ zero_extendqisi2 3320 .loc 1 1073 31 3321 0344 0F4B ldr r3, .L116 3322 0346 9A71 strb r2, [r3, #6] 1074:user_src/soft_bms.c **** start_msg.key_info_checking = true; 3323 .loc 1 1074 38 3324 0348 0E4B ldr r3, .L116 3325 034a 0122 movs r2, #1 3326 034c 5A70 strb r2, [r3, #1] 1075:user_src/soft_bms.c **** start_msg.mos_status = false; 3327 .loc 1 1075 31 3328 034e 0D4B ldr r3, .L116 3329 0350 0022 movs r2, #0 3330 0352 DA70 strb r2, [r3, #3] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 80 1076:user_src/soft_bms.c **** break; 3331 .loc 1 1076 9 3332 0354 12E0 b .L99 3333 .L89: 1077:user_src/soft_bms.c **** case 0x09: 1078:user_src/soft_bms.c **** if(Bmspointer->bms_can_buf[0] == 0) 3334 .loc 1 1078 35 3335 0356 FB69 ldr r3, [r7, #28] 3336 0358 9B7D ldrb r3, [r3, #22] @ zero_extendqisi2 3337 .loc 1 1078 11 3338 035a 002B cmp r3, #0 3339 035c 0DD1 bne .L112 1079:user_src/soft_bms.c **** { 1080:user_src/soft_bms.c **** utc_send_time = 0; 3340 .loc 1 1080 27 3341 035e 0A4B ldr r3, .L116+4 3342 0360 0022 movs r2, #0 3343 0362 1A70 strb r2, [r3] 1081:user_src/soft_bms.c **** } 1082:user_src/soft_bms.c **** break; 3344 .loc 1 1082 9 3345 0364 09E0 b .L112 3346 .L107: 1083:user_src/soft_bms.c **** default: 1084:user_src/soft_bms.c **** break; 3347 .loc 1 1084 9 3348 0366 00BF nop 3349 0368 08E0 b .L113 3350 .L108: 1025:user_src/soft_bms.c **** case 0X02: 3351 .loc 1 1025 9 3352 036a 00BF nop 3353 036c 06E0 b .L113 3354 .L109: 1032:user_src/soft_bms.c **** case 0X03: 3355 .loc 1 1032 9 3356 036e 00BF nop 3357 0370 04E0 b .L113 3358 .L110: 1041:user_src/soft_bms.c **** case 0X04: 3359 .loc 1 1041 9 3360 0372 00BF nop 3361 0374 02E0 b .L113 3362 .L111: 1054:user_src/soft_bms.c **** //秘钥是否匹配 3363 .loc 1 1054 9 3364 0376 00BF nop 3365 0378 00E0 b .L113 3366 .L112: 1082:user_src/soft_bms.c **** default: 3367 .loc 1 1082 9 3368 037a 00BF nop 3369 .L99: 3370 .L113: 1085:user_src/soft_bms.c **** } 1086:user_src/soft_bms.c **** } 3371 .loc 1 1086 1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 81 3372 037c 00BF nop 3373 037e 2037 adds r7, r7, #32 3374 .LCFI15: 3375 .cfi_def_cfa_offset 8 3376 0380 BD46 mov sp, r7 3377 .LCFI16: 3378 .cfi_def_cfa_register 13 3379 @ sp needed 3380 0382 80BD pop {r7, pc} 3381 .L117: 3382 .align 2 3383 .L116: 3384 0384 00000000 .word start_msg 3385 0388 00000000 .word utc_send_time 3386 .cfi_endproc 3387 .LFE136: 3389 .section .data.change_dev.5,"aw" 3392 change_dev.5: 3393 0000 01 .byte 1 3394 .section .bss.bms_heart_time.4,"aw",%nobits 3395 .align 2 3398 bms_heart_time.4: 3399 0000 00000000 .space 4 3400 .section .bss.bms_time.3,"aw",%nobits 3401 .align 2 3404 bms_time.3: 3405 0000 00000000 .space 4 3406 .section .bss.bms_5hz_time.2,"aw",%nobits 3407 .align 2 3410 bms_5hz_time.2: 3411 0000 00000000 .space 4 3412 .section .bss.bms1_source_id.1,"aw",%nobits 3413 .align 2 3416 bms1_source_id.1: 3417 0000 00000000 .space 4 3418 .section .bss.pack_msg_id.0,"aw",%nobits 3419 .align 2 3422 pack_msg_id.0: 3423 0000 00000000 .space 4 3424 .text 3425 .Letext0: 3426 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h" 3427 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h" 3428 .file 4 "user_inc/common.h" 3429 .file 5 "user_inc/soft_bms.h" 3430 .file 6 "user_inc/soft_okcell.h" 3431 .file 7 "user_inc/soft_tattu.h" 3432 .file 8 "user_inc/soft_herewin.h" 3433 .file 9 "user_inc/soft_p_2_c.h" 3434 .file 10 "user_inc/soft_eft.h" 3435 .file 11 "user_inc/soft_seed_device.h" 3436 .file 12 "user_inc/soft_version.h" ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 82 DEFINED SYMBOLS *ABS*:00000000 soft_bms.c C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:24 .bss.Device1:00000000 Device1 C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:21 .bss.Device1:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:31 .bss.Device2:00000000 Device2 C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:28 .bss.Device2:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:38 .data.bms_data:00000000 bms_data C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:35 .data.bms_data:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:47 .data.bms_data2:00000000 bms_data2 C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:44 .data.bms_data2:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:52 .rodata:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:68 .text.update_bms_data:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:74 .text.update_bms_data:00000000 update_bms_data C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:444 .text.update_bms_data:000002b8 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:463 .text.update_bms_data:000002fc $t C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:654 .text.update_bms_data:0000044c $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:664 .text.update_bms_data:0000046c $t C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:997 .text.update_bms_data:000006dc $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:1005 .text.update_bms_data:000006f4 $t C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:1240 .text.update_bms_data:000008bc $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:1252 .text.update_bms_data:000008e4 $t C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:1485 .text.update_bms_data:00000aa8 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:1496 .text.update_bms_data:00000acc $t C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:1729 .text.update_bms_data:00000c84 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:1740 .text.update_bms_data:00000ca8 $t C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:2140 .text.update_bms_data:00000f74 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:2167 .data.utc_send_time:00000000 utc_send_time C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:2170 .text.send_msg_to_VKbms:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:2176 .text.send_msg_to_VKbms:00000000 send_msg_to_VKbms C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:2671 .text.send_msg_to_VKbms:000002c4 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:3392 .data.change_dev.5:00000000 change_dev.5 C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:3398 .bss.bms_heart_time.4:00000000 bms_heart_time.4 C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:2683 .text.bms_function:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:2689 .text.bms_function:00000000 bms_function C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:2735 .text.bms_function:00000034 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:3404 .bss.bms_time.3:00000000 bms_time.3 C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:3410 .bss.bms_5hz_time.2:00000000 bms_5hz_time.2 C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:2745 .bss.bms_test:00000000 bms_test C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:2742 .bss.bms_test:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:2752 .bss.bms_re:00000000 bms_re C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:2749 .bss.bms_re:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:2758 .bss.fmu_send_vkbms_msgid:00000000 fmu_send_vkbms_msgid C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:2759 .bss.fmu_send_vkbms_msgid:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:2761 .text.BMSCanRecvHookFunction:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:2767 .text.BMSCanRecvHookFunction:00000000 BMSCanRecvHookFunction C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:3137 .text.BMSCanRecvHookFunction:00000218 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:3146 .text.BMSCanRecvHookFunction:0000023c $t C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:3245 .text.BMSCanRecvHookFunction:000002d0 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:3416 .bss.bms1_source_id.1:00000000 bms1_source_id.1 C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:3422 .bss.pack_msg_id.0:00000000 pack_msg_id.0 C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:3251 .text.BMSCanRecvHookFunction:000002e0 $t C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:3384 .text.BMSCanRecvHookFunction:00000384 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:3395 .bss.bms_heart_time.4:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:3401 .bss.bms_time.3:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:3407 .bss.bms_5hz_time.2:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:3413 .bss.bms1_source_id.1:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s:3419 .bss.pack_msg_id.0:00000000 $d ARM GAS C:\Users\zl835\AppData\Local\Temp\ccA1lCvb.s page 83 UNDEFINED SYMBOLS Check_dev_link okcell_device1 okcell_device2 tattu_device1 tattu_device2 herewin_info Herewin_Link Dev StrArrayNull regist_dev_info memset dev_bms1 dev_bms2 memcpy group_num can_send_msg_normal Get_Crc16 HAL_GetTick start_msg utc_time Check_Timer_Ready send_msg_to_okcell send_msg_to_herewin