ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.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_okcell.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .global group_num 20 .section .bss.group_num,"aw",%nobits 23 group_num: 24 0000 00 .space 1 25 .global okcell_sha1_out 26 .section .bss.okcell_sha1_out,"aw",%nobits 27 .align 2 30 okcell_sha1_out: 31 0000 00000000 .space 20 31 00000000 31 00000000 31 00000000 31 00000000 32 .global okcell_device1 33 .section .bss.okcell_device1,"aw",%nobits 34 .align 2 37 okcell_device1: 38 0000 00000000 .space 354 38 00000000 38 00000000 38 00000000 38 00000000 39 .global okcell_device2 40 .section .bss.okcell_device2,"aw",%nobits 41 .align 2 44 okcell_device2: 45 0000 00000000 .space 354 45 00000000 45 00000000 45 00000000 45 00000000 46 .section .rodata 47 .align 2 48 .LC0: 49 0000 5A464B4A .ascii "ZFKJ\000" 49 00 50 0005 000000 .align 2 51 .LC1: 52 0008 454E4400 .ascii "END\000" ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 2 53 .section .text.OkcellCanRecvHookFunction,"ax",%progbits 54 .align 1 55 .global OkcellCanRecvHookFunction 56 .syntax unified 57 .thumb 58 .thumb_func 60 OkcellCanRecvHookFunction: 61 .LFB130: 62 .file 1 "user_src/soft_okcell.c" 1:user_src/soft_okcell.c **** 2:user_src/soft_okcell.c **** #include "soft_okcell.h" 3:user_src/soft_okcell.c **** #include "string.h" 4:user_src/soft_okcell.c **** #include "common.h" 5:user_src/soft_okcell.c **** #include "crc.h" 6:user_src/soft_okcell.c **** #include "soft_can.h" 7:user_src/soft_okcell.c **** #include "soft_crc.h" 8:user_src/soft_okcell.c **** //ÔÚÊý×éÖÐarray²éÕÒÊÇ·ñ´æÔÚ×Ö·û´®str 9:user_src/soft_okcell.c **** //²»ÄÜʹÓÃstrstrº¯Êý£¬Êý×éÖдæÔÚ'\0'µÄ»°»á±»½áÊø 10:user_src/soft_okcell.c **** int findStrInArray(uint8_t *array, int aLen, const char *str); 11:user_src/soft_okcell.c **** 12:user_src/soft_okcell.c **** uint8_t group_num = 0; //µç³Ø×éÊý 13:user_src/soft_okcell.c **** 14:user_src/soft_okcell.c **** #define RESET_OKIDCODE_DELAY (3) 15:user_src/soft_okcell.c **** unsigned char okcell_sha1_out[20] = {0}; 16:user_src/soft_okcell.c **** //½á¹¹ÌåÖ¸ÕëÀàÐÍ 17:user_src/soft_okcell.c **** _OKCELL_DEVICE okcell_device1 = {.Okcell_Link.connect_status = COMP_NOEXIST, 18:user_src/soft_okcell.c **** .Okcell_get_s = false, 19:user_src/soft_okcell.c **** .okcell_inf.cell_D0.cell_d0[6] = 0}, 20:user_src/soft_okcell.c **** okcell_device2 = {.Okcell_Link.connect_status = COMP_NOEXIST, 21:user_src/soft_okcell.c **** .Okcell_get_s = false, 22:user_src/soft_okcell.c **** .okcell_inf.cell_D0.cell_d0[6] = 0}; 23:user_src/soft_okcell.c **** 24:user_src/soft_okcell.c **** 25:user_src/soft_okcell.c **** void OkcellCanRecvHookFunction(uint32_t cellCanID, uint8_t data[], uint8_t len) 26:user_src/soft_okcell.c **** { 63 .loc 1 26 1 64 .cfi_startproc 65 @ args = 0, pretend = 0, frame = 40 66 @ frame_needed = 1, uses_anonymous_args = 0 67 0000 80B5 push {r7, lr} 68 .LCFI0: 69 .cfi_def_cfa_offset 8 70 .cfi_offset 7, -8 71 .cfi_offset 14, -4 72 0002 8AB0 sub sp, sp, #40 73 .LCFI1: 74 .cfi_def_cfa_offset 48 75 0004 00AF add r7, sp, #0 76 .LCFI2: 77 .cfi_def_cfa_register 7 78 0006 F860 str r0, [r7, #12] 79 0008 B960 str r1, [r7, #8] 80 000a 1346 mov r3, r2 81 000c FB71 strb r3, [r7, #7] 27:user_src/soft_okcell.c **** _OKCELL_DEVICE *OKptr = NULL; 82 .loc 1 27 21 83 000e 0023 movs r3, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 3 84 0010 7B62 str r3, [r7, #36] 28:user_src/soft_okcell.c **** //Ìí¼Ó¼æÈÝÁ½×éµç³Ø 29:user_src/soft_okcell.c **** static uint8_t OKIdCode1counts = 0,OKIdCode2counts = 0; 30:user_src/soft_okcell.c **** //ÅжÏÊÇÄĸöµç³ØµÄID£¬Í¨¹ýIDÀ´Çø·Öµç³Ø¡£²¢Ö§³Ö·É¿Ø²»¶Ïµç¸ü»»µç³Ø 31:user_src/soft_okcell.c **** if(cellCanID != okcell_device1.deviceCanID && cellCanID != okcell_device2.deviceCanID) 85 .loc 1 31 35 86 0012 8F4B ldr r3, .L44 87 0014 1B68 ldr r3, [r3] 88 .loc 1 31 7 89 0016 FA68 ldr r2, [r7, #12] 90 0018 9A42 cmp r2, r3 91 001a 39D0 beq .L2 92 .loc 1 31 78 discriminator 1 93 001c 8D4B ldr r3, .L44+4 94 001e 1B68 ldr r3, [r3] 95 .loc 1 31 48 discriminator 1 96 0020 FA68 ldr r2, [r7, #12] 97 0022 9A42 cmp r2, r3 98 0024 34D0 beq .L2 32:user_src/soft_okcell.c **** { 33:user_src/soft_okcell.c **** //·ÖÅ䏸1ºÅ½á¹¹Ìå 34:user_src/soft_okcell.c **** if(OKIdCode1counts == 0){ 99 .loc 1 34 28 100 0026 8C4B ldr r3, .L44+8 101 0028 1B78 ldrb r3, [r3] @ zero_extendqisi2 102 .loc 1 34 11 103 002a 002B cmp r3, #0 104 002c 0BD1 bne .L3 35:user_src/soft_okcell.c **** OKIdCode1counts = RESET_OKIDCODE_DELAY; 105 .loc 1 35 29 106 002e 8A4B ldr r3, .L44+8 107 0030 0322 movs r2, #3 108 0032 1A70 strb r2, [r3] 36:user_src/soft_okcell.c **** 37:user_src/soft_okcell.c **** OKptr = &okcell_device1; 109 .loc 1 37 19 110 0034 864B ldr r3, .L44 111 0036 7B62 str r3, [r7, #36] 38:user_src/soft_okcell.c **** OKptr->deviceCanID = cellCanID; 112 .loc 1 38 32 113 0038 7B6A ldr r3, [r7, #36] 114 003a FA68 ldr r2, [r7, #12] 115 003c 1A60 str r2, [r3] @ unaligned 39:user_src/soft_okcell.c **** 40:user_src/soft_okcell.c **** group_num = 1; 116 .loc 1 40 23 117 003e 874B ldr r3, .L44+12 118 0040 0122 movs r2, #1 119 0042 1A70 strb r2, [r3] 34:user_src/soft_okcell.c **** OKIdCode1counts = RESET_OKIDCODE_DELAY; 120 .loc 1 34 11 121 0044 40E0 b .L36 122 .L3: 41:user_src/soft_okcell.c **** } 42:user_src/soft_okcell.c **** //·ÖÅ䏸2ºÅ½á¹¹Ìå 43:user_src/soft_okcell.c **** else if(OKIdCode2counts == 0) { 123 .loc 1 43 33 ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 4 124 0046 864B ldr r3, .L44+16 125 0048 1B78 ldrb r3, [r3] @ zero_extendqisi2 126 .loc 1 43 16 127 004a 002B cmp r3, #0 128 004c 0BD1 bne .L5 44:user_src/soft_okcell.c **** OKIdCode2counts = RESET_OKIDCODE_DELAY; 129 .loc 1 44 29 130 004e 844B ldr r3, .L44+16 131 0050 0322 movs r2, #3 132 0052 1A70 strb r2, [r3] 45:user_src/soft_okcell.c **** 46:user_src/soft_okcell.c **** OKptr = &okcell_device2; 133 .loc 1 46 19 134 0054 7F4B ldr r3, .L44+4 135 0056 7B62 str r3, [r7, #36] 47:user_src/soft_okcell.c **** OKptr->deviceCanID = cellCanID; 136 .loc 1 47 32 137 0058 7B6A ldr r3, [r7, #36] 138 005a FA68 ldr r2, [r7, #12] 139 005c 1A60 str r2, [r3] @ unaligned 48:user_src/soft_okcell.c **** 49:user_src/soft_okcell.c **** group_num = 2; 140 .loc 1 49 23 141 005e 7F4B ldr r3, .L44+12 142 0060 0222 movs r2, #2 143 0062 1A70 strb r2, [r3] 34:user_src/soft_okcell.c **** OKIdCode1counts = RESET_OKIDCODE_DELAY; 144 .loc 1 34 11 145 0064 30E0 b .L36 146 .L5: 50:user_src/soft_okcell.c **** } 51:user_src/soft_okcell.c **** //²»·ÖÅä½á¹¹Ìå 52:user_src/soft_okcell.c **** else{ 53:user_src/soft_okcell.c **** OKIdCode1counts>0 ? OKIdCode1counts-- : OKIdCode1counts; 147 .loc 1 53 28 148 0066 7C4B ldr r3, .L44+8 149 0068 1B78 ldrb r3, [r3] @ zero_extendqisi2 150 .loc 1 53 51 151 006a 002B cmp r3, #0 152 006c 05D0 beq .L7 153 .loc 1 53 48 discriminator 1 154 006e 7A4B ldr r3, .L44+8 155 0070 1B78 ldrb r3, [r3] @ zero_extendqisi2 156 0072 013B subs r3, r3, #1 157 0074 DAB2 uxtb r2, r3 158 0076 784B ldr r3, .L44+8 159 0078 1A70 strb r2, [r3] 160 .L7: 54:user_src/soft_okcell.c **** OKIdCode2counts>0 ? OKIdCode2counts-- : OKIdCode2counts; 161 .loc 1 54 28 162 007a 794B ldr r3, .L44+16 163 007c 1B78 ldrb r3, [r3] @ zero_extendqisi2 164 .loc 1 54 51 165 007e 002B cmp r3, #0 166 0080 22D0 beq .L36 167 .loc 1 54 48 discriminator 1 168 0082 774B ldr r3, .L44+16 ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 5 169 0084 1B78 ldrb r3, [r3] @ zero_extendqisi2 170 0086 013B subs r3, r3, #1 171 0088 DAB2 uxtb r2, r3 172 008a 754B ldr r3, .L44+16 173 008c 1A70 strb r2, [r3] 34:user_src/soft_okcell.c **** OKIdCode1counts = RESET_OKIDCODE_DELAY; 174 .loc 1 34 11 discriminator 1 175 008e 1BE0 b .L36 176 .L2: 55:user_src/soft_okcell.c **** } 56:user_src/soft_okcell.c **** } 57:user_src/soft_okcell.c **** else if(cellCanID == okcell_device1.deviceCanID) 177 .loc 1 57 40 178 0090 6F4B ldr r3, .L44 179 0092 1B68 ldr r3, [r3] 180 .loc 1 57 12 181 0094 FA68 ldr r2, [r7, #12] 182 0096 9A42 cmp r2, r3 183 0098 08D1 bne .L10 58:user_src/soft_okcell.c **** { 59:user_src/soft_okcell.c **** OKIdCode1counts = RESET_OKIDCODE_DELAY; 184 .loc 1 59 25 185 009a 6F4B ldr r3, .L44+8 186 009c 0322 movs r2, #3 187 009e 1A70 strb r2, [r3] 60:user_src/soft_okcell.c **** 61:user_src/soft_okcell.c **** OKptr = &okcell_device1; 188 .loc 1 61 15 189 00a0 6B4B ldr r3, .L44 190 00a2 7B62 str r3, [r7, #36] 62:user_src/soft_okcell.c **** OKptr->deviceCanID = cellCanID; 191 .loc 1 62 28 192 00a4 7B6A ldr r3, [r7, #36] 193 00a6 FA68 ldr r2, [r7, #12] 194 00a8 1A60 str r2, [r3] @ unaligned 195 00aa 0EE0 b .L9 196 .L10: 63:user_src/soft_okcell.c **** } 64:user_src/soft_okcell.c **** else if(cellCanID == okcell_device2.deviceCanID) 197 .loc 1 64 40 198 00ac 694B ldr r3, .L44+4 199 00ae 1B68 ldr r3, [r3] 200 .loc 1 64 12 201 00b0 FA68 ldr r2, [r7, #12] 202 00b2 9A42 cmp r2, r3 203 00b4 09D1 bne .L9 65:user_src/soft_okcell.c **** { 66:user_src/soft_okcell.c **** OKIdCode2counts = RESET_OKIDCODE_DELAY; 204 .loc 1 66 25 205 00b6 6A4B ldr r3, .L44+16 206 00b8 0322 movs r2, #3 207 00ba 1A70 strb r2, [r3] 67:user_src/soft_okcell.c **** 68:user_src/soft_okcell.c **** OKptr = &okcell_device2; 208 .loc 1 68 15 209 00bc 654B ldr r3, .L44+4 210 00be 7B62 str r3, [r7, #36] ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 6 69:user_src/soft_okcell.c **** OKptr->deviceCanID = cellCanID; 211 .loc 1 69 28 212 00c0 7B6A ldr r3, [r7, #36] 213 00c2 FA68 ldr r2, [r7, #12] 214 00c4 1A60 str r2, [r3] @ unaligned 215 00c6 00E0 b .L9 216 .L36: 34:user_src/soft_okcell.c **** OKIdCode1counts = RESET_OKIDCODE_DELAY; 217 .loc 1 34 11 218 00c8 00BF nop 219 .L9: 70:user_src/soft_okcell.c **** } 71:user_src/soft_okcell.c **** 72:user_src/soft_okcell.c **** 73:user_src/soft_okcell.c **** //Èç¹ûÖ¸ÕëÕÒµ½ÁË´æ·ÅÊý¾ÝµÄ½á¹¹Ìå 74:user_src/soft_okcell.c **** if(OKptr != NULL) 220 .loc 1 74 7 221 00ca 7B6A ldr r3, [r7, #36] 222 00cc 002B cmp r3, #0 223 00ce 00F0D581 beq .L37 75:user_src/soft_okcell.c **** { 76:user_src/soft_okcell.c **** //ÕÒµ½¿ªÍ·£¬¿ªÊ¼½ÓÊÕ 77:user_src/soft_okcell.c **** //strncmp±È½Ï×Ö·û´®£¬Óöµ½'\0'»á½áÊø£¬ËùÒÔ²»ÊʺÏÓÃ×ÖÊý×é±È½Ï 78:user_src/soft_okcell.c **** if(memcmp(data,"ZFKJ",4) == 0){ 224 .loc 1 78 12 225 00d2 0422 movs r2, #4 226 00d4 6349 ldr r1, .L44+20 227 00d6 B868 ldr r0, [r7, #8] 228 00d8 FFF7FEFF bl memcmp 229 00dc 0346 mov r3, r0 230 .loc 1 78 11 231 00de 002B cmp r3, #0 232 00e0 0AD1 bne .L12 79:user_src/soft_okcell.c **** OKptr->Okcell_recv_index = 0; 233 .loc 1 79 38 234 00e2 7B6A ldr r3, [r7, #36] 235 00e4 0022 movs r2, #0 236 00e6 83F8CC20 strb r2, [r3, #204] 237 00ea 0022 movs r2, #0 238 00ec 83F8CD20 strb r2, [r3, #205] 80:user_src/soft_okcell.c **** OKptr->Okcell_get_s = true; 239 .loc 1 80 33 240 00f0 7B6A ldr r3, [r7, #36] 241 00f2 0122 movs r2, #1 242 00f4 83F8CE20 strb r2, [r3, #206] 243 .L12: 81:user_src/soft_okcell.c **** } 82:user_src/soft_okcell.c **** 83:user_src/soft_okcell.c **** //Òç³ö¼ì²â 84:user_src/soft_okcell.c **** if(OKptr->Okcell_recv_index + len > OKCELL_MAXLEN) 244 .loc 1 84 17 245 00f8 7B6A ldr r3, [r7, #36] 246 00fa B3F9CC30 ldrsh r3, [r3, #204] @ unaligned 247 00fe 1BB2 sxth r3, r3 248 0100 1A46 mov r2, r3 249 .loc 1 84 37 250 0102 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 7 251 0104 1344 add r3, r3, r2 252 .loc 1 84 11 253 0106 C82B cmp r3, #200 254 0108 14DD ble .L13 85:user_src/soft_okcell.c **** { 86:user_src/soft_okcell.c **** memset(OKptr->Okcell_recv_buf,0,OKptr->Okcell_recv_index); 255 .loc 1 86 25 256 010a 7B6A ldr r3, [r7, #36] 257 010c 181D adds r0, r3, #4 258 .loc 1 86 50 259 010e 7B6A ldr r3, [r7, #36] 260 0110 B3F9CC30 ldrsh r3, [r3, #204] @ unaligned 261 0114 1BB2 sxth r3, r3 262 .loc 1 86 13 263 0116 1A46 mov r2, r3 264 0118 0021 movs r1, #0 265 011a FFF7FEFF bl memset 87:user_src/soft_okcell.c **** OKptr->Okcell_recv_index = 0; 266 .loc 1 87 38 267 011e 7B6A ldr r3, [r7, #36] 268 0120 0022 movs r2, #0 269 0122 83F8CC20 strb r2, [r3, #204] 270 0126 0022 movs r2, #0 271 0128 83F8CD20 strb r2, [r3, #205] 88:user_src/soft_okcell.c **** OKptr->Okcell_get_s = false; 272 .loc 1 88 33 273 012c 7B6A ldr r3, [r7, #36] 274 012e 0022 movs r2, #0 275 0130 83F8CE20 strb r2, [r3, #206] 276 .L13: 89:user_src/soft_okcell.c **** } 90:user_src/soft_okcell.c **** 91:user_src/soft_okcell.c **** //½ÓÊÕµ½Æðʼ±êÖ¾ºó¿ªÊ¼´æÊý×é 92:user_src/soft_okcell.c **** if(OKptr->Okcell_get_s == true){ 277 .loc 1 92 17 278 0134 7B6A ldr r3, [r7, #36] 279 0136 93F8CE30 ldrb r3, [r3, #206] @ zero_extendqisi2 280 .loc 1 92 11 281 013a 002B cmp r3, #0 282 013c 19D0 beq .L14 93:user_src/soft_okcell.c **** //¸´ÖÆÊý¾Ý 94:user_src/soft_okcell.c **** memcpy(&OKptr->Okcell_recv_buf[OKptr->Okcell_recv_index], data, len); 283 .loc 1 94 49 284 013e 7B6A ldr r3, [r7, #36] 285 0140 B3F9CC30 ldrsh r3, [r3, #204] @ unaligned 286 0144 1BB2 sxth r3, r3 287 0146 1A46 mov r2, r3 288 .loc 1 94 20 289 0148 7B6A ldr r3, [r7, #36] 290 014a 1344 add r3, r3, r2 291 014c 0433 adds r3, r3, #4 292 .loc 1 94 13 293 014e FA79 ldrb r2, [r7, #7] @ zero_extendqisi2 294 0150 B968 ldr r1, [r7, #8] 295 0152 1846 mov r0, r3 296 0154 FFF7FEFF bl memcpy 95:user_src/soft_okcell.c **** OKptr->Okcell_recv_index += len; ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 8 297 .loc 1 95 38 298 0158 7B6A ldr r3, [r7, #36] 299 015a B3F9CC30 ldrsh r3, [r3, #204] @ unaligned 300 015e 1BB2 sxth r3, r3 301 0160 9AB2 uxth r2, r3 302 0162 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 303 0164 9BB2 uxth r3, r3 304 0166 1344 add r3, r3, r2 305 0168 9BB2 uxth r3, r3 306 016a 1AB2 sxth r2, r3 307 016c 7B6A ldr r3, [r7, #36] 308 016e A3F8CC20 strh r2, [r3, #204] @ unaligned 309 .L14: 96:user_src/soft_okcell.c **** } 97:user_src/soft_okcell.c **** 98:user_src/soft_okcell.c **** 99:user_src/soft_okcell.c **** //ÕÒµ½½á⣬¿ªÊ¼½âÎö,²»ÄÜÓÃstrstr 100:user_src/soft_okcell.c **** if(OKptr->Okcell_get_s == true && findStrInArray(OKptr->Okcell_recv_buf, OKptr->Okcell_recv 310 .loc 1 100 17 311 0172 7B6A ldr r3, [r7, #36] 312 0174 93F8CE30 ldrb r3, [r3, #206] @ zero_extendqisi2 313 .loc 1 100 11 314 0178 002B cmp r3, #0 315 017a 00F07F81 beq .L37 316 .loc 1 100 63 discriminator 1 317 017e 7B6A ldr r3, [r7, #36] 318 0180 181D adds r0, r3, #4 319 .loc 1 100 87 discriminator 1 320 0182 7B6A ldr r3, [r7, #36] 321 0184 B3F9CC30 ldrsh r3, [r3, #204] @ unaligned 322 0188 1BB2 sxth r3, r3 323 .loc 1 100 43 discriminator 1 324 018a 374A ldr r2, .L44+24 325 018c 1946 mov r1, r3 326 018e FFF7FEFF bl findStrInArray 327 0192 0346 mov r3, r0 328 .loc 1 100 40 discriminator 1 329 0194 002B cmp r3, #0 330 0196 00F07181 beq .L37 331 .LBB2: 101:user_src/soft_okcell.c **** { 102:user_src/soft_okcell.c **** OKptr->Okcell_get_s = false; 332 .loc 1 102 33 333 019a 7B6A ldr r3, [r7, #36] 334 019c 0022 movs r2, #0 335 019e 83F8CE20 strb r2, [r3, #206] 103:user_src/soft_okcell.c **** 104:user_src/soft_okcell.c **** unsigned char loadflag = OKptr->Okcell_recv_buf[7]; 336 .loc 1 104 27 337 01a2 7B6A ldr r3, [r7, #36] 338 01a4 DB7A ldrb r3, [r3, #11] 339 01a6 FB77 strb r3, [r7, #31] 105:user_src/soft_okcell.c **** //¸ºÔرêʶΪ¹Ì¶¨µÄOxBB 106:user_src/soft_okcell.c **** if(loadflag == 0xBB) 340 .loc 1 106 15 341 01a8 FB7F ldrb r3, [r7, #31] @ zero_extendqisi2 342 01aa BB2B cmp r3, #187 ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 9 343 01ac 40F04A81 bne .L38 344 .LBB3: 107:user_src/soft_okcell.c **** { 108:user_src/soft_okcell.c **** unsigned char cellLoadLen = OKptr->Okcell_recv_buf[6]; 345 .loc 1 108 31 346 01b0 7B6A ldr r3, [r7, #36] 347 01b2 9B7A ldrb r3, [r3, #10] 348 01b4 BB77 strb r3, [r7, #30] 109:user_src/soft_okcell.c **** 110:user_src/soft_okcell.c **** //±ÜÃâ´íÎóÊý¾ÝÔì³ÉµÄÊý×éÒç³ö 111:user_src/soft_okcell.c **** if(cellLoadLen < OKCELL_MAXLEN-9) 349 .loc 1 111 19 350 01b6 BB7F ldrb r3, [r7, #30] @ zero_extendqisi2 351 01b8 BE2B cmp r3, #190 352 01ba 00F24381 bhi .L38 353 .LBB4: 112:user_src/soft_okcell.c **** { 113:user_src/soft_okcell.c **** unsigned int cellCheck = OKptr->Okcell_recv_buf[8+cellLoadLen]*256 + OKptr->Okc 354 .loc 1 113 70 355 01be BB7F ldrb r3, [r7, #30] @ zero_extendqisi2 356 01c0 0833 adds r3, r3, #8 357 .loc 1 113 68 358 01c2 7A6A ldr r2, [r7, #36] 359 01c4 1344 add r3, r3, r2 360 01c6 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2 361 .loc 1 113 83 362 01c8 1B02 lsls r3, r3, #8 363 .loc 1 113 114 364 01ca BA7F ldrb r2, [r7, #30] @ zero_extendqisi2 365 01cc 0932 adds r2, r2, #9 366 .loc 1 113 112 367 01ce 796A ldr r1, [r7, #36] 368 01d0 0A44 add r2, r2, r1 369 01d2 1279 ldrb r2, [r2, #4] @ zero_extendqisi2 370 .loc 1 113 88 371 01d4 1344 add r3, r3, r2 372 .loc 1 113 34 373 01d6 BB61 str r3, [r7, #24] 114:user_src/soft_okcell.c **** //УÑéͨ¹ý,²âÊÔûͨ¹ý 115:user_src/soft_okcell.c **** if(((crc_ccitt(&OKptr->Okcell_recv_buf[8], cellLoadLen))&0xffff) == cellCheck) 374 .loc 1 115 26 375 01d8 7B6A ldr r3, [r7, #36] 376 01da 0C33 adds r3, r3, #12 377 01dc BA7F ldrb r2, [r7, #30] @ zero_extendqisi2 378 01de 1146 mov r1, r2 379 01e0 1846 mov r0, r3 380 01e2 FFF7FEFF bl crc_ccitt 381 01e6 0346 mov r3, r0 382 .loc 1 115 77 383 01e8 9BB2 uxth r3, r3 384 .loc 1 115 23 385 01ea BA69 ldr r2, [r7, #24] 386 01ec 9A42 cmp r2, r3 387 01ee 40F02981 bne .L38 388 .LBB5: 116:user_src/soft_okcell.c **** { 117:user_src/soft_okcell.c **** unsigned short cellCmd = (OKptr->Okcell_recv_buf[4]<<8) + OKptr->Okcell_rec ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 10 389 .loc 1 117 73 390 01f2 7B6A ldr r3, [r7, #36] 391 01f4 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 392 01f6 9BB2 uxth r3, r3 393 .loc 1 117 76 394 01f8 1B02 lsls r3, r3, #8 395 01fa 9AB2 uxth r2, r3 396 .loc 1 117 105 397 01fc 7B6A ldr r3, [r7, #36] 398 01fe 5B7A ldrb r3, [r3, #9] @ zero_extendqisi2 399 0200 9BB2 uxth r3, r3 400 .loc 1 117 40 401 0202 1344 add r3, r3, r2 402 0204 FB82 strh r3, [r7, #22] @ movhi 118:user_src/soft_okcell.c **** 119:user_src/soft_okcell.c **** OKptr->Okcell_Link.connect_status = COMP_NORMAL; 403 .loc 1 119 59 404 0206 7B6A ldr r3, [r7, #36] 405 0208 0122 movs r2, #1 406 020a 83F8D720 strb r2, [r3, #215] 120:user_src/soft_okcell.c **** 121:user_src/soft_okcell.c **** //ÓÃÓÚÅÐ¶Ïµç³Ø²¨ÌØÂÊËø¶¨£¬Êµ²âÖ»Òª¸øµç³Ø·¢ËÍÊý¾Ý£¬µç³ØÊÕµ½ºó¾Í»áËø¶¨²¨ÌØÂÊ 122:user_src/soft_okcell.c **** //ÓÉÓÚËø¶¨²¨ÌØÂÊȱÉÙ·´À¡Ó¦´ð£¬5sÄÚÊÕµ½¶àÓÚ10°üÕýÈ·µÄÊý¾ÝÔòÈÏΪ²¨ÌØÂÊËø¶¨³É¹ 123:user_src/soft_okcell.c **** if(OKptr->cell_bps_lock_success == false) 407 .loc 1 123 33 408 020e 7B6A ldr r3, [r7, #36] 409 0210 93F8E130 ldrb r3, [r3, #225] @ zero_extendqisi2 410 .loc 1 123 57 411 0214 83F00103 eor r3, r3, #1 412 0218 DBB2 uxtb r3, r3 413 .loc 1 123 27 414 021a 002B cmp r3, #0 415 021c 43D0 beq .L16 124:user_src/soft_okcell.c **** { 125:user_src/soft_okcell.c **** OKptr->recv_celldata_counts++; 416 .loc 1 125 34 417 021e 7B6A ldr r3, [r7, #36] 418 0220 B3F9E230 ldrsh r3, [r3, #226] @ unaligned 419 0224 1BB2 sxth r3, r3 420 .loc 1 125 56 421 0226 9BB2 uxth r3, r3 422 0228 0133 adds r3, r3, #1 423 022a 9BB2 uxth r3, r3 424 022c 1AB2 sxth r2, r3 425 022e 7B6A ldr r3, [r7, #36] 426 0230 A3F8E220 strh r2, [r3, #226] @ unaligned 126:user_src/soft_okcell.c **** if(OKptr->recv_celldata_counts == 1){ 427 .loc 1 126 37 428 0234 7B6A ldr r3, [r7, #36] 429 0236 B3F9E230 ldrsh r3, [r3, #226] @ unaligned 430 023a 1BB2 sxth r3, r3 431 .loc 1 126 31 432 023c 012B cmp r3, #1 433 023e 15D1 bne .L17 127:user_src/soft_okcell.c **** OKptr->recv_celldata_time = HAL_GetTick(); 434 .loc 1 127 61 435 0240 FFF7FEFF bl HAL_GetTick ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 11 436 0244 0246 mov r2, r0 437 .loc 1 127 59 438 0246 7B6A ldr r3, [r7, #36] 439 0248 C3F8E420 str r2, [r3, #228] @ unaligned 440 024c 2BE0 b .L16 441 .L45: 442 024e 00BF .align 2 443 .L44: 444 0250 00000000 .word okcell_device1 445 0254 00000000 .word okcell_device2 446 0258 00000000 .word OKIdCode1counts.1 447 025c 00000000 .word group_num 448 0260 00000000 .word OKIdCode2counts.0 449 0264 00000000 .word .LC0 450 0268 08000000 .word .LC1 451 .L17: 128:user_src/soft_okcell.c **** } 129:user_src/soft_okcell.c **** else if(OKptr->recv_celldata_counts >= 10) 452 .loc 1 129 42 453 026c 7B6A ldr r3, [r7, #36] 454 026e B3F9E230 ldrsh r3, [r3, #226] @ unaligned 455 0272 1BB2 sxth r3, r3 456 .loc 1 129 36 457 0274 092B cmp r3, #9 458 0276 16DD ble .L16 459 .LBB6: 130:user_src/soft_okcell.c **** { 131:user_src/soft_okcell.c **** OKptr->recv_celldata_counts = 0; 460 .loc 1 131 61 461 0278 7B6A ldr r3, [r7, #36] 462 027a 0022 movs r2, #0 463 027c 83F8E220 strb r2, [r3, #226] 464 0280 0022 movs r2, #0 465 0282 83F8E320 strb r2, [r3, #227] 132:user_src/soft_okcell.c **** uint32_t timeperiod = HAL_GetTick() - OKptr->recv_celldata_time; 466 .loc 1 132 55 467 0286 FFF7FEFF bl HAL_GetTick 468 028a 0246 mov r2, r0 469 .loc 1 132 76 470 028c 7B6A ldr r3, [r7, #36] 471 028e D3F8E430 ldr r3, [r3, #228] @ unaligned 472 .loc 1 132 42 473 0292 D31A subs r3, r2, r3 474 0294 3B61 str r3, [r7, #16] 133:user_src/soft_okcell.c **** if(timeperiod < 5000000) 475 .loc 1 133 35 476 0296 3B69 ldr r3, [r7, #16] 477 0298 7A4A ldr r2, .L46 478 029a 9342 cmp r3, r2 479 029c 03D8 bhi .L16 134:user_src/soft_okcell.c **** { 135:user_src/soft_okcell.c **** OKptr->cell_bps_lock_success = true; 480 .loc 1 135 66 481 029e 7B6A ldr r3, [r7, #36] 482 02a0 0122 movs r2, #1 483 02a2 83F8E120 strb r2, [r3, #225] 484 .L16: ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 12 485 .LBE6: 136:user_src/soft_okcell.c **** } 137:user_src/soft_okcell.c **** } 138:user_src/soft_okcell.c **** } 139:user_src/soft_okcell.c **** 140:user_src/soft_okcell.c **** //¸üÐÂµç³ØÊý¾Ýµ½À´Ê±¼ä 141:user_src/soft_okcell.c **** OKptr->Okcell_Link.recv_time = HAL_GetTick(); 486 .loc 1 141 56 487 02a6 FFF7FEFF bl HAL_GetTick 488 02aa 0246 mov r2, r0 489 .loc 1 141 54 490 02ac 7B6A ldr r3, [r7, #36] 491 02ae C3F8CF20 str r2, [r3, #207] @ unaligned 142:user_src/soft_okcell.c **** 143:user_src/soft_okcell.c **** switch(cellCmd) 492 .loc 1 143 25 493 02b2 FB8A ldrh r3, [r7, #22] 494 02b4 B3F5034F cmp r3, #33536 495 02b8 00F0A080 beq .L18 496 02bc B3F5034F cmp r3, #33536 497 02c0 00F3C280 bgt .L39 498 02c4 B3F5024F cmp r3, #33280 499 02c8 69D0 beq .L20 500 02ca B3F5024F cmp r3, #33280 501 02ce 00F3BB80 bgt .L39 502 02d2 002B cmp r3, #0 503 02d4 03D0 beq .L21 504 02d6 B3F5407F cmp r3, #768 505 02da 31D0 beq .L22 144:user_src/soft_okcell.c **** { 145:user_src/soft_okcell.c **** case 0x0000: 146:user_src/soft_okcell.c **** //stm32ΪС¶Îģʽ£¬OKCELL·¢Ë͹ýÀ´µÄÊý¾ÝΪ´ó¶Ëģʽ£¬²»ÄÜʹÓÃmemcpy 147:user_src/soft_okcell.c **** //memcpy(&cell_D0,&Okcell_recv_buf[8],cellLoadLen); 148:user_src/soft_okcell.c **** //±ÜÃâµç³Ø³§¼Ò˽×ÔÔö¼ÓЭÒéÔì³ÉµÄÊý×éÒç³ö 149:user_src/soft_okcell.c **** if(cellLoadLen <= sizeof(_CELL_D0)) 150:user_src/soft_okcell.c **** { 151:user_src/soft_okcell.c **** for(unsigned char i=0; iokcell_inf.cell_D0.cell_d0[i] = (OKptr->Okcell_recv_ 154:user_src/soft_okcell.c **** } 155:user_src/soft_okcell.c **** } 156:user_src/soft_okcell.c **** break; 157:user_src/soft_okcell.c **** case 0x0300: 158:user_src/soft_okcell.c **** //cell_inf1.cell_D3.cell_d3[4] = (Okcell_recv_buf[16] << 8) + Okcel 159:user_src/soft_okcell.c **** //±ÜÃâµç³Ø³§¼Ò˽×ÔÔö¼ÓЭÒéÔì³ÉµÄÊý×éÒç³ö 160:user_src/soft_okcell.c **** if(cellLoadLen <= sizeof(_CELL_D3)) 161:user_src/soft_okcell.c **** { 162:user_src/soft_okcell.c **** for(unsigned char i=0; iokcell_inf.cell_D3.cell_d3[i] = (OKptr->Okcell_recv_ 165:user_src/soft_okcell.c **** } 166:user_src/soft_okcell.c **** } 167:user_src/soft_okcell.c **** break; 168:user_src/soft_okcell.c **** case 0x8200://SHA1¼ÓÃÜÎÄÃÜÂë²éѯ 169:user_src/soft_okcell.c **** //±ÜÃâµç³Ø³§¼Ò˽×ÔÔö¼ÓЭÒéÔì³ÉµÄÊý×éÒç³ö 170:user_src/soft_okcell.c **** if(cellLoadLen <= sizeof(_CELL_P2)) 171:user_src/soft_okcell.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 13 172:user_src/soft_okcell.c **** for(unsigned char i=0; iokcell_inf.cell_P2.cell_p2[i] = OKptr->Okcell_recv_b 175:user_src/soft_okcell.c **** } 176:user_src/soft_okcell.c **** } 177:user_src/soft_okcell.c **** 178:user_src/soft_okcell.c **** if(memcmp(OKptr->okcell_inf.cell_P2.cell_p2, okcell_sha1_out, sizeo 179:user_src/soft_okcell.c **** { 180:user_src/soft_okcell.c **** //ÊÕµ½ÁËÕýÈ·ÃÜÎÄ 181:user_src/soft_okcell.c **** OKptr->get_cellEncryption = true; 182:user_src/soft_okcell.c **** } 183:user_src/soft_okcell.c **** break; 184:user_src/soft_okcell.c **** case 0x8300://»ñÈ¡µç³Ø±àºÅ 185:user_src/soft_okcell.c **** OKptr->get_cellNumber = true; 186:user_src/soft_okcell.c **** //±ÜÃâµç³Ø³§¼Ò˽×ÔÔö¼ÓЭÒéÔì³ÉµÄÊý×éÒç³ö 187:user_src/soft_okcell.c **** if(cellLoadLen <= sizeof(_CELL_P3)) 188:user_src/soft_okcell.c **** { 189:user_src/soft_okcell.c **** for(uint8_t i=0; iokcell_inf.cell_P3.cell_p3[i] = OKptr->Okcell_recv_b 192:user_src/soft_okcell.c **** } 193:user_src/soft_okcell.c **** } 194:user_src/soft_okcell.c **** break; 195:user_src/soft_okcell.c **** default: 196:user_src/soft_okcell.c **** break; 506 .loc 1 196 33 507 02dc B4E0 b .L39 508 .L21: 149:user_src/soft_okcell.c **** { 509 .loc 1 149 35 510 02de BB7F ldrb r3, [r7, #30] @ zero_extendqisi2 511 02e0 422B cmp r3, #66 512 02e2 00F2B380 bhi .L40 513 .LBB7: 151:user_src/soft_okcell.c **** { 514 .loc 1 151 55 515 02e6 0023 movs r3, #0 516 02e8 87F82330 strb r3, [r7, #35] 151:user_src/soft_okcell.c **** { 517 .loc 1 151 37 518 02ec 20E0 b .L24 519 .L25: 153:user_src/soft_okcell.c **** } 520 .loc 1 153 106 discriminator 3 521 02ee 97F82330 ldrb r3, [r7, #35] @ zero_extendqisi2 522 02f2 0433 adds r3, r3, #4 523 02f4 5B00 lsls r3, r3, #1 153:user_src/soft_okcell.c **** } 524 .loc 1 153 103 discriminator 3 525 02f6 7A6A ldr r2, [r7, #36] 526 02f8 1344 add r3, r3, r2 527 02fa 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2 528 02fc 9BB2 uxth r3, r3 153:user_src/soft_okcell.c **** } 529 .loc 1 153 113 discriminator 3 530 02fe 1B02 lsls r3, r3, #8 531 0300 99B2 uxth r1, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 14 153:user_src/soft_okcell.c **** } 532 .loc 1 153 149 discriminator 3 533 0302 97F82330 ldrb r3, [r7, #35] @ zero_extendqisi2 534 0306 5B00 lsls r3, r3, #1 153:user_src/soft_okcell.c **** } 535 .loc 1 153 146 discriminator 3 536 0308 0933 adds r3, r3, #9 153:user_src/soft_okcell.c **** } 537 .loc 1 153 143 discriminator 3 538 030a 7A6A ldr r2, [r7, #36] 539 030c 1344 add r3, r3, r2 540 030e 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2 541 0310 9AB2 uxth r2, r3 153:user_src/soft_okcell.c **** } 542 .loc 1 153 74 discriminator 3 543 0312 97F82330 ldrb r3, [r7, #35] @ zero_extendqisi2 153:user_src/soft_okcell.c **** } 544 .loc 1 153 119 discriminator 3 545 0316 0A44 add r2, r2, r1 546 0318 91B2 uxth r1, r2 153:user_src/soft_okcell.c **** } 547 .loc 1 153 78 discriminator 3 548 031a 7A6A ldr r2, [r7, #36] 549 031c 7433 adds r3, r3, #116 550 031e 5B00 lsls r3, r3, #1 551 0320 1344 add r3, r3, r2 552 0322 0A46 mov r2, r1 @ movhi 553 0324 9A80 strh r2, [r3, #4] @ unaligned 151:user_src/soft_okcell.c **** { 554 .loc 1 151 78 discriminator 3 555 0326 97F82330 ldrb r3, [r7, #35] @ zero_extendqisi2 556 032a 0133 adds r3, r3, #1 557 032c 87F82330 strb r3, [r7, #35] 558 .L24: 151:user_src/soft_okcell.c **** { 559 .loc 1 151 61 discriminator 1 560 0330 BB7F ldrb r3, [r7, #30] @ zero_extendqisi2 561 0332 5B08 lsrs r3, r3, #1 562 0334 DBB2 uxtb r3, r3 151:user_src/soft_okcell.c **** { 563 .loc 1 151 37 discriminator 1 564 0336 97F82320 ldrb r2, [r7, #35] @ zero_extendqisi2 565 033a 9A42 cmp r2, r3 566 033c D7D3 bcc .L25 567 .LBE7: 156:user_src/soft_okcell.c **** case 0x0300: 568 .loc 1 156 33 569 033e 85E0 b .L40 570 .L22: 160:user_src/soft_okcell.c **** { 571 .loc 1 160 35 572 0340 BB7F ldrb r3, [r7, #30] @ zero_extendqisi2 573 0342 122B cmp r3, #18 574 0344 00F28480 bhi .L41 575 .LBB8: 162:user_src/soft_okcell.c **** { 576 .loc 1 162 55 ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 15 577 0348 0023 movs r3, #0 578 034a 87F82230 strb r3, [r7, #34] 162:user_src/soft_okcell.c **** { 579 .loc 1 162 37 580 034e 1EE0 b .L27 581 .L28: 164:user_src/soft_okcell.c **** } 582 .loc 1 164 106 discriminator 3 583 0350 97F82230 ldrb r3, [r7, #34] @ zero_extendqisi2 584 0354 0433 adds r3, r3, #4 585 0356 5B00 lsls r3, r3, #1 164:user_src/soft_okcell.c **** } 586 .loc 1 164 103 discriminator 3 587 0358 7A6A ldr r2, [r7, #36] 588 035a 1344 add r3, r3, r2 589 035c 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2 590 035e 9BB2 uxth r3, r3 164:user_src/soft_okcell.c **** } 591 .loc 1 164 113 discriminator 3 592 0360 1B02 lsls r3, r3, #8 593 0362 99B2 uxth r1, r3 164:user_src/soft_okcell.c **** } 594 .loc 1 164 149 discriminator 3 595 0364 97F82230 ldrb r3, [r7, #34] @ zero_extendqisi2 596 0368 5B00 lsls r3, r3, #1 164:user_src/soft_okcell.c **** } 597 .loc 1 164 146 discriminator 3 598 036a 0933 adds r3, r3, #9 164:user_src/soft_okcell.c **** } 599 .loc 1 164 143 discriminator 3 600 036c 7A6A ldr r2, [r7, #36] 601 036e 1344 add r3, r3, r2 602 0370 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2 603 0372 9BB2 uxth r3, r3 164:user_src/soft_okcell.c **** } 604 .loc 1 164 74 discriminator 3 605 0374 97F82220 ldrb r2, [r7, #34] @ zero_extendqisi2 164:user_src/soft_okcell.c **** } 606 .loc 1 164 119 discriminator 3 607 0378 0B44 add r3, r3, r1 608 037a 99B2 uxth r1, r3 164:user_src/soft_okcell.c **** } 609 .loc 1 164 78 discriminator 3 610 037c 7B6A ldr r3, [r7, #36] 611 037e 9C32 adds r2, r2, #156 612 0380 23F81210 strh r1, [r3, r2, lsl #1] @ unaligned 162:user_src/soft_okcell.c **** { 613 .loc 1 162 78 discriminator 3 614 0384 97F82230 ldrb r3, [r7, #34] @ zero_extendqisi2 615 0388 0133 adds r3, r3, #1 616 038a 87F82230 strb r3, [r7, #34] 617 .L27: 162:user_src/soft_okcell.c **** { 618 .loc 1 162 61 discriminator 1 619 038e BB7F ldrb r3, [r7, #30] @ zero_extendqisi2 620 0390 5B08 lsrs r3, r3, #1 621 0392 DBB2 uxtb r3, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 16 162:user_src/soft_okcell.c **** { 622 .loc 1 162 37 discriminator 1 623 0394 97F82220 ldrb r2, [r7, #34] @ zero_extendqisi2 624 0398 9A42 cmp r2, r3 625 039a D9D3 bcc .L28 626 .LBE8: 167:user_src/soft_okcell.c **** case 0x8200://SHA1¼ÓÃÜÎÄÃÜÂë²éѯ 627 .loc 1 167 33 628 039c 58E0 b .L41 629 .L20: 170:user_src/soft_okcell.c **** { 630 .loc 1 170 35 631 039e BB7F ldrb r3, [r7, #30] @ zero_extendqisi2 632 03a0 042B cmp r3, #4 633 03a2 1BD8 bhi .L29 634 .LBB9: 172:user_src/soft_okcell.c **** { 635 .loc 1 172 55 636 03a4 0023 movs r3, #0 637 03a6 87F82130 strb r3, [r7, #33] 172:user_src/soft_okcell.c **** { 638 .loc 1 172 37 639 03aa 12E0 b .L30 640 .L31: 174:user_src/soft_okcell.c **** } 641 .loc 1 174 105 discriminator 3 642 03ac 97F82130 ldrb r3, [r7, #33] @ zero_extendqisi2 643 03b0 03F10802 add r2, r3, #8 174:user_src/soft_okcell.c **** } 644 .loc 1 174 74 discriminator 3 645 03b4 97F82130 ldrb r3, [r7, #33] @ zero_extendqisi2 174:user_src/soft_okcell.c **** } 646 .loc 1 174 102 discriminator 3 647 03b8 796A ldr r1, [r7, #36] 648 03ba 0A44 add r2, r2, r1 649 03bc 1179 ldrb r1, [r2, #4] @ zero_extendqisi2 174:user_src/soft_okcell.c **** } 650 .loc 1 174 78 discriminator 3 651 03be 7A6A ldr r2, [r7, #36] 652 03c0 1344 add r3, r3, r2 653 03c2 0A46 mov r2, r1 654 03c4 83F85221 strb r2, [r3, #338] 172:user_src/soft_okcell.c **** { 655 .loc 1 172 76 discriminator 3 656 03c8 97F82130 ldrb r3, [r7, #33] @ zero_extendqisi2 657 03cc 0133 adds r3, r3, #1 658 03ce 87F82130 strb r3, [r7, #33] 659 .L30: 172:user_src/soft_okcell.c **** { 660 .loc 1 172 37 discriminator 1 661 03d2 97F82120 ldrb r2, [r7, #33] @ zero_extendqisi2 662 03d6 BB7F ldrb r3, [r7, #30] @ zero_extendqisi2 663 03d8 9A42 cmp r2, r3 664 03da E7D3 bcc .L31 665 .L29: 666 .LBE9: 178:user_src/soft_okcell.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 17 667 .loc 1 178 68 668 03dc 7B6A ldr r3, [r7, #36] 669 03de 03F5A973 add r3, r3, #338 178:user_src/soft_okcell.c **** { 670 .loc 1 178 36 671 03e2 0422 movs r2, #4 672 03e4 2849 ldr r1, .L46+4 673 03e6 1846 mov r0, r3 674 03e8 FFF7FEFF bl memcmp 675 03ec 0346 mov r3, r0 178:user_src/soft_okcell.c **** { 676 .loc 1 178 35 677 03ee 002B cmp r3, #0 678 03f0 30D1 bne .L42 181:user_src/soft_okcell.c **** } 679 .loc 1 181 63 680 03f2 7B6A ldr r3, [r7, #36] 681 03f4 0122 movs r2, #1 682 03f6 83F8DC20 strb r2, [r3, #220] 183:user_src/soft_okcell.c **** case 0x8300://»ñÈ¡µç³Ø±àºÅ 683 .loc 1 183 33 684 03fa 2BE0 b .L42 685 .L18: 185:user_src/soft_okcell.c **** //±ÜÃâµç³Ø³§¼Ò˽×ÔÔö¼ÓЭÒéÔì³ÉµÄÊý×éÒç³ö 686 .loc 1 185 55 687 03fc 7B6A ldr r3, [r7, #36] 688 03fe 0122 movs r2, #1 689 0400 83F8DB20 strb r2, [r3, #219] 187:user_src/soft_okcell.c **** { 690 .loc 1 187 35 691 0404 BB7F ldrb r3, [r7, #30] @ zero_extendqisi2 692 0406 0C2B cmp r3, #12 693 0408 26D8 bhi .L43 694 .LBB10: 189:user_src/soft_okcell.c **** { 695 .loc 1 189 49 696 040a 0023 movs r3, #0 697 040c 87F82030 strb r3, [r7, #32] 189:user_src/soft_okcell.c **** { 698 .loc 1 189 37 699 0410 12E0 b .L34 700 .L35: 191:user_src/soft_okcell.c **** } 701 .loc 1 191 105 discriminator 3 702 0412 97F82030 ldrb r3, [r7, #32] @ zero_extendqisi2 703 0416 03F10802 add r2, r3, #8 191:user_src/soft_okcell.c **** } 704 .loc 1 191 74 discriminator 3 705 041a 97F82030 ldrb r3, [r7, #32] @ zero_extendqisi2 191:user_src/soft_okcell.c **** } 706 .loc 1 191 102 discriminator 3 707 041e 796A ldr r1, [r7, #36] 708 0420 0A44 add r2, r2, r1 709 0422 1179 ldrb r1, [r2, #4] @ zero_extendqisi2 191:user_src/soft_okcell.c **** } 710 .loc 1 191 78 discriminator 3 711 0424 7A6A ldr r2, [r7, #36] ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 18 712 0426 1344 add r3, r3, r2 713 0428 0A46 mov r2, r1 714 042a 83F85621 strb r2, [r3, #342] 189:user_src/soft_okcell.c **** { 715 .loc 1 189 70 discriminator 3 716 042e 97F82030 ldrb r3, [r7, #32] @ zero_extendqisi2 717 0432 0133 adds r3, r3, #1 718 0434 87F82030 strb r3, [r7, #32] 719 .L34: 189:user_src/soft_okcell.c **** { 720 .loc 1 189 37 discriminator 1 721 0438 97F82020 ldrb r2, [r7, #32] @ zero_extendqisi2 722 043c BB7F ldrb r3, [r7, #30] @ zero_extendqisi2 723 043e 9A42 cmp r2, r3 724 0440 E7D3 bcc .L35 725 .LBE10: 194:user_src/soft_okcell.c **** default: 726 .loc 1 194 33 727 0442 09E0 b .L43 728 .L38: 197:user_src/soft_okcell.c **** } 198:user_src/soft_okcell.c **** } 729 .loc 1 198 21 730 0444 00BF nop 731 0446 08E0 b .L15 732 .L39: 196:user_src/soft_okcell.c **** } 733 .loc 1 196 33 734 0448 00BF nop 735 044a 06E0 b .L15 736 .L40: 156:user_src/soft_okcell.c **** case 0x0300: 737 .loc 1 156 33 738 044c 00BF nop 739 044e 04E0 b .L15 740 .L41: 167:user_src/soft_okcell.c **** case 0x8200://SHA1¼ÓÃÜÎÄÃÜÂë²éѯ 741 .loc 1 167 33 742 0450 00BF nop 743 0452 02E0 b .L15 744 .L42: 183:user_src/soft_okcell.c **** case 0x8300://»ñÈ¡µç³Ø±àºÅ 745 .loc 1 183 33 746 0454 00BF nop 747 0456 00E0 b .L15 748 .L43: 194:user_src/soft_okcell.c **** default: 749 .loc 1 194 33 750 0458 00BF nop 751 .L15: 752 .LBE5: 753 .LBE4: 754 .LBE3: 199:user_src/soft_okcell.c **** } 200:user_src/soft_okcell.c **** } 201:user_src/soft_okcell.c **** 202:user_src/soft_okcell.c **** //ÇåÀíbuff ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 19 203:user_src/soft_okcell.c **** memset(OKptr->Okcell_recv_buf,0,OKptr->Okcell_recv_index); 755 .loc 1 203 25 756 045a 7B6A ldr r3, [r7, #36] 757 045c 181D adds r0, r3, #4 758 .loc 1 203 50 759 045e 7B6A ldr r3, [r7, #36] 760 0460 B3F9CC30 ldrsh r3, [r3, #204] @ unaligned 761 0464 1BB2 sxth r3, r3 762 .loc 1 203 13 763 0466 1A46 mov r2, r3 764 0468 0021 movs r1, #0 765 046a FFF7FEFF bl memset 204:user_src/soft_okcell.c **** 205:user_src/soft_okcell.c **** //°üÊýÍêÕûÖØÐ¼ÆÊý 206:user_src/soft_okcell.c **** OKptr->Okcell_recv_index = 0; 766 .loc 1 206 38 767 046e 7B6A ldr r3, [r7, #36] 768 0470 0022 movs r2, #0 769 0472 83F8CC20 strb r2, [r3, #204] 770 0476 0022 movs r2, #0 771 0478 83F8CD20 strb r2, [r3, #205] 772 .L37: 773 .LBE2: 207:user_src/soft_okcell.c **** } 208:user_src/soft_okcell.c **** } 209:user_src/soft_okcell.c **** } 774 .loc 1 209 1 775 047c 00BF nop 776 047e 2837 adds r7, r7, #40 777 .LCFI3: 778 .cfi_def_cfa_offset 8 779 0480 BD46 mov sp, r7 780 .LCFI4: 781 .cfi_def_cfa_register 13 782 @ sp needed 783 0482 80BD pop {r7, pc} 784 .L47: 785 .align 2 786 .L46: 787 0484 3F4B4C00 .word 4999999 788 0488 00000000 .word okcell_sha1_out 789 .cfi_endproc 790 .LFE130: 792 .global okcell_p80 793 .section .bss.okcell_p80,"aw",%nobits 794 .align 2 797 okcell_p80: 798 0000 00000000 .space 14 798 00000000 798 00000000 798 0000 799 .global okcell_p82 800 .section .bss.okcell_p82,"aw",%nobits 801 .align 2 804 okcell_p82: 805 0000 00000000 .space 17 805 00000000 ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 20 805 00000000 805 00000000 805 00 806 .global okcell_p83 807 .section .bss.okcell_p83,"aw",%nobits 808 .align 2 811 okcell_p83: 812 0000 00000000 .space 13 812 00000000 812 00000000 812 00 813 .global time_okcell_p80 814 .section .bss.time_okcell_p80,"aw",%nobits 815 .align 2 818 time_okcell_p80: 819 0000 00000000 .space 4 820 .global time_okcell_p82 821 .section .bss.time_okcell_p82,"aw",%nobits 822 .align 2 825 time_okcell_p82: 826 0000 00000000 .space 4 827 .global time_okcell_p83 828 .section .bss.time_okcell_p83,"aw",%nobits 829 .align 2 832 time_okcell_p83: 833 0000 00000000 .space 4 834 .global send_okcell_p80data 835 .section .bss.send_okcell_p80data,"aw",%nobits 838 send_okcell_p80data: 839 0000 00 .space 1 840 .global send_okcell_p82data 841 .section .bss.send_okcell_p82data,"aw",%nobits 844 send_okcell_p82data: 845 0000 00 .space 1 846 .global send_okcell_p83data 847 .section .bss.send_okcell_p83data,"aw",%nobits 850 send_okcell_p83data: 851 0000 00 .space 1 852 .section .text.send_msg_to_okcell,"ax",%progbits 853 .align 1 854 .global send_msg_to_okcell 855 .syntax unified 856 .thumb 857 .thumb_func 859 send_msg_to_okcell: 860 .LFB131: 210:user_src/soft_okcell.c **** 211:user_src/soft_okcell.c **** 212:user_src/soft_okcell.c **** 213:user_src/soft_okcell.c **** 214:user_src/soft_okcell.c **** /* 215:user_src/soft_okcell.c **** 216:user_src/soft_okcell.c **** Éϵçǰ10s³ÖÐø·¢ËÍÊý¾Ý¸øÖÇÄÜµç³Ø£¬ÓÃÓÚÉèÖÃͨÐÅËÙÂÊ 217:user_src/soft_okcell.c **** */ 218:user_src/soft_okcell.c **** 219:user_src/soft_okcell.c **** 220:user_src/soft_okcell.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 21 221:user_src/soft_okcell.c **** struct OkCell_P80 okcell_p80; 222:user_src/soft_okcell.c **** struct OkCell_P82 okcell_p82; 223:user_src/soft_okcell.c **** struct OkCell_P83 okcell_p83; 224:user_src/soft_okcell.c **** 225:user_src/soft_okcell.c **** uint32_t time_okcell_p80 = 0; 226:user_src/soft_okcell.c **** uint32_t time_okcell_p82 = 0; 227:user_src/soft_okcell.c **** uint32_t time_okcell_p83 = 0; 228:user_src/soft_okcell.c **** bool send_okcell_p80data = false; 229:user_src/soft_okcell.c **** bool send_okcell_p82data = false; 230:user_src/soft_okcell.c **** bool send_okcell_p83data = false; 231:user_src/soft_okcell.c **** 232:user_src/soft_okcell.c **** void send_msg_to_okcell(void) 233:user_src/soft_okcell.c **** { 861 .loc 1 233 1 862 .cfi_startproc 863 @ args = 0, pretend = 0, frame = 8 864 @ frame_needed = 1, uses_anonymous_args = 0 865 0000 80B5 push {r7, lr} 866 .LCFI5: 867 .cfi_def_cfa_offset 8 868 .cfi_offset 7, -8 869 .cfi_offset 14, -4 870 0002 82B0 sub sp, sp, #8 871 .LCFI6: 872 .cfi_def_cfa_offset 16 873 0004 00AF add r7, sp, #0 874 .LCFI7: 875 .cfi_def_cfa_register 7 234:user_src/soft_okcell.c **** //×Ô¶¯Ëø¶¨²¨ÌØÂÊ£¬Õý·½µç³Ø¿ª»ú×Ô¶¯Ñ­»·500K/1M·¢ËÍÊý¾Ý¡£Õý·½µç³ØÈ±ÉÙÒ»¸ö²¨ÌØÂÊËø¶¨µÄ·´À¡Ó¦´ð 235:user_src/soft_okcell.c **** //µç³Ø¿ª»ú»á×Ô¶¯1M/500kÇл»²¨ÌØÂʸø·É¿Ø·¢ÐÅÏ¢£¬ËùÒÔ²»ÓÃÓÃÊÇ·ñÁ¬½ÓÀ´Åжϡ£ 236:user_src/soft_okcell.c **** if(/*okcell_device1.okcell_link_status == COMP_NOEXIST &&*/ send_okcell_p80data == false && 876 .loc 1 236 85 877 0006 6D4B ldr r3, .L55 878 0008 1B78 ldrb r3, [r3] @ zero_extendqisi2 879 000a 83F00103 eor r3, r3, #1 880 000e DBB2 uxtb r3, r3 881 .loc 1 236 7 882 0010 002B cmp r3, #0 883 0012 55D0 beq .L49 237:user_src/soft_okcell.c **** okcell_device1.cell_bps_lock_success == false && HAL_GetTick() < 30000 && 884 .loc 1 237 23 discriminator 1 885 0014 6A4B ldr r3, .L55+4 886 0016 93F8E130 ldrb r3, [r3, #225] @ zero_extendqisi2 887 .loc 1 237 46 discriminator 1 888 001a 83F00103 eor r3, r3, #1 889 001e DBB2 uxtb r3, r3 236:user_src/soft_okcell.c **** okcell_device1.cell_bps_lock_success == false && HAL_GetTick() < 30000 && 890 .loc 1 236 94 discriminator 1 891 0020 002B cmp r3, #0 892 0022 4DD0 beq .L49 893 .loc 1 237 58 894 0024 FFF7FEFF bl HAL_GetTick 895 0028 0346 mov r3, r0 896 .loc 1 237 55 897 002a 47F22F52 movw r2, #29999 898 002e 9342 cmp r3, r2 899 0030 46D8 bhi .L49 ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 22 238:user_src/soft_okcell.c **** HAL_GetTick() - time_okcell_p80 > 250) 900 .loc 1 238 9 discriminator 1 901 0032 FFF7FEFF bl HAL_GetTick 902 0036 0246 mov r2, r0 903 .loc 1 238 23 discriminator 1 904 0038 624B ldr r3, .L55+8 905 003a 1B68 ldr r3, [r3] 906 003c D31A subs r3, r2, r3 237:user_src/soft_okcell.c **** okcell_device1.cell_bps_lock_success == false && HAL_GetTick() < 30000 && 907 .loc 1 237 80 discriminator 1 908 003e FA2B cmp r3, #250 909 0040 3ED9 bls .L49 910 .LBB11: 239:user_src/soft_okcell.c **** { 240:user_src/soft_okcell.c **** time_okcell_p80 = HAL_GetTick(); 911 .loc 1 240 27 912 0042 FFF7FEFF bl HAL_GetTick 913 0046 0346 mov r3, r0 914 .loc 1 240 25 915 0048 5E4A ldr r2, .L55+8 916 004a 1360 str r3, [r2] 241:user_src/soft_okcell.c **** 242:user_src/soft_okcell.c **** okcell_p80.ok_s[0] = 'Z'; 917 .loc 1 242 28 918 004c 5E4B ldr r3, .L55+12 919 004e 5A22 movs r2, #90 920 0050 1A70 strb r2, [r3] 243:user_src/soft_okcell.c **** okcell_p80.ok_s[1] = 'F'; 921 .loc 1 243 28 922 0052 5D4B ldr r3, .L55+12 923 0054 4622 movs r2, #70 924 0056 5A70 strb r2, [r3, #1] 244:user_src/soft_okcell.c **** okcell_p80.ok_s[2] = 'K'; 925 .loc 1 244 28 926 0058 5B4B ldr r3, .L55+12 927 005a 4B22 movs r2, #75 928 005c 9A70 strb r2, [r3, #2] 245:user_src/soft_okcell.c **** okcell_p80.ok_s[3] = 'J'; 929 .loc 1 245 28 930 005e 5A4B ldr r3, .L55+12 931 0060 4A22 movs r2, #74 932 0062 DA70 strb r2, [r3, #3] 246:user_src/soft_okcell.c **** 247:user_src/soft_okcell.c **** okcell_p80.ok_cmd[0] = 0x80; 933 .loc 1 247 30 934 0064 584B ldr r3, .L55+12 935 0066 8022 movs r2, #128 936 0068 1A71 strb r2, [r3, #4] 248:user_src/soft_okcell.c **** okcell_p80.ok_cmd[1] = 0x00; 937 .loc 1 248 30 938 006a 574B ldr r3, .L55+12 939 006c 0022 movs r2, #0 940 006e 5A71 strb r2, [r3, #5] 249:user_src/soft_okcell.c **** okcell_p80.ok_len = 1; 941 .loc 1 249 27 942 0070 554B ldr r3, .L55+12 943 0072 0122 movs r2, #1 ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 23 944 0074 9A71 strb r2, [r3, #6] 250:user_src/soft_okcell.c **** okcell_p80.ok_flag = 0xbb; 945 .loc 1 250 28 946 0076 544B ldr r3, .L55+12 947 0078 BB22 movs r2, #187 948 007a DA71 strb r2, [r3, #7] 251:user_src/soft_okcell.c **** okcell_p80.ok_data = 0x79; 949 .loc 1 251 28 950 007c 524B ldr r3, .L55+12 951 007e 7922 movs r2, #121 952 0080 1A72 strb r2, [r3, #8] 252:user_src/soft_okcell.c **** 253:user_src/soft_okcell.c **** short OKcellCRC = crc_ccitt((uint8_t *)&okcell_p80.ok_data,okcell_p80.ok_len); 953 .loc 1 253 78 954 0082 514B ldr r3, .L55+12 955 0084 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2 956 .loc 1 253 27 957 0086 1946 mov r1, r3 958 0088 5048 ldr r0, .L55+16 959 008a FFF7FEFF bl crc_ccitt 960 008e 0346 mov r3, r0 961 .loc 1 253 15 962 0090 FB80 strh r3, [r7, #6] @ movhi 254:user_src/soft_okcell.c **** okcell_p80.ok_crc[0] = (OKcellCRC>>8) & 0xff; 963 .loc 1 254 30 964 0092 B7F90630 ldrsh r3, [r7, #6] 965 0096 1B12 asrs r3, r3, #8 966 0098 1BB2 sxth r3, r3 967 009a DAB2 uxtb r2, r3 968 009c 4A4B ldr r3, .L55+12 969 009e 5A72 strb r2, [r3, #9] 255:user_src/soft_okcell.c **** okcell_p80.ok_crc[1] = OKcellCRC & 0xff; 970 .loc 1 255 30 971 00a0 FB88 ldrh r3, [r7, #6] @ movhi 972 00a2 DAB2 uxtb r2, r3 973 00a4 484B ldr r3, .L55+12 974 00a6 9A72 strb r2, [r3, #10] 256:user_src/soft_okcell.c **** 257:user_src/soft_okcell.c **** okcell_p80.ok_e[0] = 'E'; 975 .loc 1 257 28 976 00a8 474B ldr r3, .L55+12 977 00aa 4522 movs r2, #69 978 00ac DA72 strb r2, [r3, #11] 258:user_src/soft_okcell.c **** okcell_p80.ok_e[1] = 'N'; 979 .loc 1 258 28 980 00ae 464B ldr r3, .L55+12 981 00b0 4E22 movs r2, #78 982 00b2 1A73 strb r2, [r3, #12] 259:user_src/soft_okcell.c **** okcell_p80.ok_e[2] = 'D'; 983 .loc 1 259 28 984 00b4 444B ldr r3, .L55+12 985 00b6 4422 movs r2, #68 986 00b8 5A73 strb r2, [r3, #13] 260:user_src/soft_okcell.c **** 261:user_src/soft_okcell.c **** send_okcell_p80data = true; 987 .loc 1 261 29 988 00ba 404B ldr r3, .L55 ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 24 989 00bc 0122 movs r2, #1 990 00be 1A70 strb r2, [r3] 991 .L49: 992 .LBE11: 262:user_src/soft_okcell.c **** } 263:user_src/soft_okcell.c **** 264:user_src/soft_okcell.c **** if(send_okcell_p80data == true){ 993 .loc 1 264 28 994 00c0 3E4B ldr r3, .L55 995 00c2 1B78 ldrb r3, [r3] @ zero_extendqisi2 996 .loc 1 264 7 997 00c4 002B cmp r3, #0 998 00c6 07D0 beq .L50 265:user_src/soft_okcell.c **** send_okcell_p80data =false; 999 .loc 1 265 29 1000 00c8 3C4B ldr r3, .L55 1001 00ca 0022 movs r2, #0 1002 00cc 1A70 strb r2, [r3] 266:user_src/soft_okcell.c **** can_send_msg_normal((unsigned char *)&okcell_p80,sizeof(okcell_p80),CAN_OKCELL_SEND_ID); 1003 .loc 1 266 9 1004 00ce 404A ldr r2, .L55+20 1005 00d0 0E21 movs r1, #14 1006 00d2 3D48 ldr r0, .L55+12 1007 00d4 FFF7FEFF bl can_send_msg_normal 1008 .L50: 267:user_src/soft_okcell.c **** } 268:user_src/soft_okcell.c **** 269:user_src/soft_okcell.c **** if(send_okcell_p82data == true){ 1009 .loc 1 269 28 1010 00d8 3E4B ldr r3, .L55+24 1011 00da 1B78 ldrb r3, [r3] @ zero_extendqisi2 1012 .loc 1 269 7 1013 00dc 002B cmp r3, #0 1014 00de 09D0 beq .L51 270:user_src/soft_okcell.c **** send_okcell_p82data =false; 1015 .loc 1 270 29 1016 00e0 3C4B ldr r3, .L55+24 1017 00e2 0022 movs r2, #0 1018 00e4 1A70 strb r2, [r3] 271:user_src/soft_okcell.c **** can_send_msg_normal((unsigned char *)&okcell_p82,sizeof(okcell_p82),okcell_device1.deviceCa 1019 .loc 1 271 91 1020 00e6 364B ldr r3, .L55+4 1021 00e8 1B68 ldr r3, [r3] 1022 .loc 1 271 9 1023 00ea 1A46 mov r2, r3 1024 00ec 1121 movs r1, #17 1025 00ee 3A48 ldr r0, .L55+28 1026 00f0 FFF7FEFF bl can_send_msg_normal 1027 .L51: 272:user_src/soft_okcell.c **** } 273:user_src/soft_okcell.c **** 274:user_src/soft_okcell.c **** 275:user_src/soft_okcell.c **** 276:user_src/soft_okcell.c **** //»ñÈ¡µç³Ø±àºÅ 277:user_src/soft_okcell.c **** if(okcell_device1.Okcell_Link.connect_status == COMP_NORMAL && okcell_device1.cell_bps_lock_suc 1028 .loc 1 277 34 1029 00f4 324B ldr r3, .L55+4 ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 25 1030 00f6 93F8D730 ldrb r3, [r3, #215] @ zero_extendqisi2 1031 .loc 1 277 7 1032 00fa 012B cmp r3, #1 1033 00fc 4BD1 bne .L52 1034 .loc 1 277 82 discriminator 1 1035 00fe 304B ldr r3, .L55+4 1036 0100 93F8E130 ldrb r3, [r3, #225] @ zero_extendqisi2 1037 .loc 1 277 65 discriminator 1 1038 0104 002B cmp r3, #0 1039 0106 46D0 beq .L52 278:user_src/soft_okcell.c **** okcell_device1.get_cellNumber == false && 1040 .loc 1 278 23 discriminator 2 1041 0108 2D4B ldr r3, .L55+4 1042 010a 93F8DB30 ldrb r3, [r3, #219] @ zero_extendqisi2 1043 .loc 1 278 39 discriminator 2 1044 010e 83F00103 eor r3, r3, #1 1045 0112 DBB2 uxtb r3, r3 277:user_src/soft_okcell.c **** okcell_device1.get_cellNumber == false && 1046 .loc 1 277 113 discriminator 2 1047 0114 002B cmp r3, #0 1048 0116 3ED0 beq .L52 279:user_src/soft_okcell.c **** send_okcell_p83data == false && HAL_GetTick() - time_okcell_p83 > 1000) 1049 .loc 1 279 29 1050 0118 304B ldr r3, .L55+32 1051 011a 1B78 ldrb r3, [r3] @ zero_extendqisi2 1052 011c 83F00103 eor r3, r3, #1 1053 0120 DBB2 uxtb r3, r3 278:user_src/soft_okcell.c **** okcell_device1.get_cellNumber == false && 1054 .loc 1 278 48 1055 0122 002B cmp r3, #0 1056 0124 37D0 beq .L52 1057 .loc 1 279 41 1058 0126 FFF7FEFF bl HAL_GetTick 1059 012a 0246 mov r2, r0 1060 .loc 1 279 55 1061 012c 2C4B ldr r3, .L55+36 1062 012e 1B68 ldr r3, [r3] 1063 0130 D31A subs r3, r2, r3 1064 .loc 1 279 38 1065 0132 B3F57A7F cmp r3, #1000 1066 0136 2ED9 bls .L52 280:user_src/soft_okcell.c **** { 281:user_src/soft_okcell.c **** time_okcell_p83 = HAL_GetTick(); 1067 .loc 1 281 27 1068 0138 FFF7FEFF bl HAL_GetTick 1069 013c 0346 mov r3, r0 1070 .loc 1 281 25 1071 013e 284A ldr r2, .L55+36 1072 0140 1360 str r3, [r2] 282:user_src/soft_okcell.c **** 283:user_src/soft_okcell.c **** okcell_p83.ok_s[0] = 'Z'; 1073 .loc 1 283 28 1074 0142 284B ldr r3, .L55+40 1075 0144 5A22 movs r2, #90 1076 0146 1A70 strb r2, [r3] 284:user_src/soft_okcell.c **** okcell_p83.ok_s[1] = 'F'; 1077 .loc 1 284 28 ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 26 1078 0148 264B ldr r3, .L55+40 1079 014a 4622 movs r2, #70 1080 014c 5A70 strb r2, [r3, #1] 285:user_src/soft_okcell.c **** okcell_p83.ok_s[2] = 'K'; 1081 .loc 1 285 28 1082 014e 254B ldr r3, .L55+40 1083 0150 4B22 movs r2, #75 1084 0152 9A70 strb r2, [r3, #2] 286:user_src/soft_okcell.c **** okcell_p83.ok_s[3] = 'J'; 1085 .loc 1 286 28 1086 0154 234B ldr r3, .L55+40 1087 0156 4A22 movs r2, #74 1088 0158 DA70 strb r2, [r3, #3] 287:user_src/soft_okcell.c **** 288:user_src/soft_okcell.c **** okcell_p83.ok_cmd[0] = 0x83; 1089 .loc 1 288 30 1090 015a 224B ldr r3, .L55+40 1091 015c 8322 movs r2, #131 1092 015e 1A71 strb r2, [r3, #4] 289:user_src/soft_okcell.c **** okcell_p83.ok_cmd[1] = 0x00; 1093 .loc 1 289 30 1094 0160 204B ldr r3, .L55+40 1095 0162 0022 movs r2, #0 1096 0164 5A71 strb r2, [r3, #5] 290:user_src/soft_okcell.c **** okcell_p83.ok_len = 0; 1097 .loc 1 290 27 1098 0166 1F4B ldr r3, .L55+40 1099 0168 0022 movs r2, #0 1100 016a 9A71 strb r2, [r3, #6] 291:user_src/soft_okcell.c **** okcell_p83.ok_flag = 0xbb; 1101 .loc 1 291 28 1102 016c 1D4B ldr r3, .L55+40 1103 016e BB22 movs r2, #187 1104 0170 DA71 strb r2, [r3, #7] 292:user_src/soft_okcell.c **** okcell_p83.ok_crc[0] = 0xff; 1105 .loc 1 292 30 1106 0172 1C4B ldr r3, .L55+40 1107 0174 FF22 movs r2, #255 1108 0176 1A72 strb r2, [r3, #8] 293:user_src/soft_okcell.c **** okcell_p83.ok_crc[1] = 0xff; 1109 .loc 1 293 30 1110 0178 1A4B ldr r3, .L55+40 1111 017a FF22 movs r2, #255 1112 017c 5A72 strb r2, [r3, #9] 294:user_src/soft_okcell.c **** 295:user_src/soft_okcell.c **** okcell_p83.ok_e[0] = 'E'; 1113 .loc 1 295 28 1114 017e 194B ldr r3, .L55+40 1115 0180 4522 movs r2, #69 1116 0182 9A72 strb r2, [r3, #10] 296:user_src/soft_okcell.c **** okcell_p83.ok_e[1] = 'N'; 1117 .loc 1 296 28 1118 0184 174B ldr r3, .L55+40 1119 0186 4E22 movs r2, #78 1120 0188 DA72 strb r2, [r3, #11] 297:user_src/soft_okcell.c **** okcell_p83.ok_e[2] = 'D'; 1121 .loc 1 297 28 ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 27 1122 018a 164B ldr r3, .L55+40 1123 018c 4422 movs r2, #68 1124 018e 1A73 strb r2, [r3, #12] 298:user_src/soft_okcell.c **** 299:user_src/soft_okcell.c **** send_okcell_p83data = true; 1125 .loc 1 299 29 1126 0190 124B ldr r3, .L55+32 1127 0192 0122 movs r2, #1 1128 0194 1A70 strb r2, [r3] 1129 .L52: 300:user_src/soft_okcell.c **** } 301:user_src/soft_okcell.c **** 302:user_src/soft_okcell.c **** if(send_okcell_p83data == true){ 1130 .loc 1 302 28 1131 0196 114B ldr r3, .L55+32 1132 0198 1B78 ldrb r3, [r3] @ zero_extendqisi2 1133 .loc 1 302 7 1134 019a 002B cmp r3, #0 1135 019c 09D0 beq .L54 303:user_src/soft_okcell.c **** send_okcell_p83data =false; 1136 .loc 1 303 29 1137 019e 0F4B ldr r3, .L55+32 1138 01a0 0022 movs r2, #0 1139 01a2 1A70 strb r2, [r3] 304:user_src/soft_okcell.c **** can_send_msg_normal((unsigned char *)&okcell_p83,sizeof(okcell_p83),okcell_device1.deviceCa 1140 .loc 1 304 91 1141 01a4 064B ldr r3, .L55+4 1142 01a6 1B68 ldr r3, [r3] 1143 .loc 1 304 9 1144 01a8 1A46 mov r2, r3 1145 01aa 0D21 movs r1, #13 1146 01ac 0D48 ldr r0, .L55+40 1147 01ae FFF7FEFF bl can_send_msg_normal 1148 .L54: 305:user_src/soft_okcell.c **** } 306:user_src/soft_okcell.c **** } 1149 .loc 1 306 1 1150 01b2 00BF nop 1151 01b4 0837 adds r7, r7, #8 1152 .LCFI8: 1153 .cfi_def_cfa_offset 8 1154 01b6 BD46 mov sp, r7 1155 .LCFI9: 1156 .cfi_def_cfa_register 13 1157 @ sp needed 1158 01b8 80BD pop {r7, pc} 1159 .L56: 1160 01ba 00BF .align 2 1161 .L55: 1162 01bc 00000000 .word send_okcell_p80data 1163 01c0 00000000 .word okcell_device1 1164 01c4 00000000 .word time_okcell_p80 1165 01c8 00000000 .word okcell_p80 1166 01cc 08000000 .word okcell_p80+8 1167 01d0 00003515 .word 355794944 1168 01d4 00000000 .word send_okcell_p82data 1169 01d8 00000000 .word okcell_p82 ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 28 1170 01dc 00000000 .word send_okcell_p83data 1171 01e0 00000000 .word time_okcell_p83 1172 01e4 00000000 .word okcell_p83 1173 .cfi_endproc 1174 .LFE131: 1176 .section .bss.OKIdCode1counts.1,"aw",%nobits 1179 OKIdCode1counts.1: 1180 0000 00 .space 1 1181 .section .bss.OKIdCode2counts.0,"aw",%nobits 1184 OKIdCode2counts.0: 1185 0000 00 .space 1 1186 .text 1187 .Letext0: 1188 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h" 1189 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h" 1190 .file 4 "user_inc/common.h" 1191 .file 5 "user_inc/soft_okcell.h" ARM GAS C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s page 29 DEFINED SYMBOLS *ABS*:00000000 soft_okcell.c C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:23 .bss.group_num:00000000 group_num C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:24 .bss.group_num:00000000 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:30 .bss.okcell_sha1_out:00000000 okcell_sha1_out C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:27 .bss.okcell_sha1_out:00000000 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:37 .bss.okcell_device1:00000000 okcell_device1 C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:34 .bss.okcell_device1:00000000 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:44 .bss.okcell_device2:00000000 okcell_device2 C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:41 .bss.okcell_device2:00000000 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:47 .rodata:00000000 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:54 .text.OkcellCanRecvHookFunction:00000000 $t C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:60 .text.OkcellCanRecvHookFunction:00000000 OkcellCanRecvHookFunction C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:444 .text.OkcellCanRecvHookFunction:00000250 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:1179 .bss.OKIdCode1counts.1:00000000 OKIdCode1counts.1 C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:1184 .bss.OKIdCode2counts.0:00000000 OKIdCode2counts.0 C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:453 .text.OkcellCanRecvHookFunction:0000026c $t C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:787 .text.OkcellCanRecvHookFunction:00000484 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:797 .bss.okcell_p80:00000000 okcell_p80 C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:794 .bss.okcell_p80:00000000 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:804 .bss.okcell_p82:00000000 okcell_p82 C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:801 .bss.okcell_p82:00000000 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:811 .bss.okcell_p83:00000000 okcell_p83 C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:808 .bss.okcell_p83:00000000 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:818 .bss.time_okcell_p80:00000000 time_okcell_p80 C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:815 .bss.time_okcell_p80:00000000 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:825 .bss.time_okcell_p82:00000000 time_okcell_p82 C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:822 .bss.time_okcell_p82:00000000 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:832 .bss.time_okcell_p83:00000000 time_okcell_p83 C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:829 .bss.time_okcell_p83:00000000 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:838 .bss.send_okcell_p80data:00000000 send_okcell_p80data C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:839 .bss.send_okcell_p80data:00000000 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:844 .bss.send_okcell_p82data:00000000 send_okcell_p82data C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:845 .bss.send_okcell_p82data:00000000 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:850 .bss.send_okcell_p83data:00000000 send_okcell_p83data C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:851 .bss.send_okcell_p83data:00000000 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:853 .text.send_msg_to_okcell:00000000 $t C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:859 .text.send_msg_to_okcell:00000000 send_msg_to_okcell C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:1162 .text.send_msg_to_okcell:000001bc $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:1180 .bss.OKIdCode1counts.1:00000000 $d C:\Users\zl835\AppData\Local\Temp\cclvVMOp.s:1185 .bss.OKIdCode2counts.0:00000000 $d UNDEFINED SYMBOLS memcmp memset memcpy findStrInArray crc_ccitt HAL_GetTick can_send_msg_normal