2720 lines
124 KiB
Plaintext
2720 lines
124 KiB
Plaintext
; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637]
|
||
; commandline ArmCC [--list --debug -c --asm --interleave -o.\output\bluetooth.o --asm_dir=.\Listing\ --list_dir=.\Listing\ --depend=.\output\bluetooth.d --cpu=Cortex-M3 --apcs=interwork -O0 --diag_suppress=9931 -I..\..\template\Libraries\CMSIS\startup -I..\..\template\Libraries\CMSIS -I..\..\template\Libraries\STM32F10x_StdPeriph_Driver\inc -I..\..\template\Libraries\STM32F10x_StdPeriph_Driver\src -I..\..\nlib -I..\user\inc -I..\user\src -IC:\Keil_v5\ARM\RV31\INC -IC:\Keil_v5\ARM\CMSIS\Include -IC:\Keil_v5\ARM\INC\ST\STM32F10x -D__MICROLIB -D__UVISION_VERSION=525 -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD --omf_browse=.\output\bluetooth.crf ..\user\src\Bluetooth.c]
|
||
THUMB
|
||
|
||
AREA ||.text||, CODE, READONLY, ALIGN=2
|
||
|
||
flash_read_sys_flag PROC
|
||
;;;47 */
|
||
;;;48 void flash_read_sys_flag(void)
|
||
000000 b510 PUSH {r4,lr}
|
||
;;;49 {
|
||
000002 b086 SUB sp,sp,#0x18
|
||
;;;50 u16 buf_short[5] = {0};
|
||
000004 2000 MOVS r0,#0
|
||
000006 9003 STR r0,[sp,#0xc]
|
||
000008 9004 STR r0,[sp,#0x10]
|
||
00000a 9005 STR r0,[sp,#0x14]
|
||
;;;51 u8 buf_char[10] = {0};
|
||
00000c 9000 STR r0,[sp,#0]
|
||
00000e 9001 STR r0,[sp,#4]
|
||
000010 9002 STR r0,[sp,#8]
|
||
;;;52 u8 i = 0;
|
||
000012 2400 MOVS r4,#0
|
||
;;;53 /*»ñÈ¡´æ´¢Êý¾Ý*/
|
||
;;;54 STMFLASH_Read(FLASH_ADRR,buf_short,5);
|
||
000014 2205 MOVS r2,#5
|
||
000016 a903 ADD r1,sp,#0xc
|
||
000018 48f8 LDR r0,|L1.1020|
|
||
00001a f7fffffe BL STMFLASH_Read
|
||
;;;55
|
||
;;;56 for(i=0;i<5;i++)
|
||
00001e bf00 NOP
|
||
000020 e00f B |L1.66|
|
||
|L1.34|
|
||
;;;57 {
|
||
;;;58 buf_char[i*2] = buf_short[i] >> 8;
|
||
000022 a803 ADD r0,sp,#0xc
|
||
000024 f8300014 LDRH r0,[r0,r4,LSL #1]
|
||
000028 1200 ASRS r0,r0,#8
|
||
00002a f80d0014 STRB r0,[sp,r4,LSL #1]
|
||
;;;59 buf_char[i*2+1] = buf_short[i];
|
||
00002e a803 ADD r0,sp,#0xc
|
||
000030 f8100014 LDRB r0,[r0,r4,LSL #1]
|
||
000034 2101 MOVS r1,#1
|
||
000036 eb010144 ADD r1,r1,r4,LSL #1
|
||
00003a f80d0001 STRB r0,[sp,r1]
|
||
00003e 1c60 ADDS r0,r4,#1 ;56
|
||
000040 b2c4 UXTB r4,r0 ;56
|
||
|L1.66|
|
||
000042 2c05 CMP r4,#5 ;56
|
||
000044 dbed BLT |L1.34|
|
||
;;;60 }
|
||
;;;61
|
||
;;;62 if(buf_char[0] == 'A' && buf_char[1] == 'A' && buf_char[2] == 'B' && buf_char[3] == 'B')
|
||
000046 f89d0000 LDRB r0,[sp,#0]
|
||
00004a 2841 CMP r0,#0x41
|
||
00004c d116 BNE |L1.124|
|
||
00004e f89d0001 LDRB r0,[sp,#1]
|
||
000052 2841 CMP r0,#0x41
|
||
000054 d112 BNE |L1.124|
|
||
000056 f89d0002 LDRB r0,[sp,#2]
|
||
00005a 2842 CMP r0,#0x42
|
||
00005c d10e BNE |L1.124|
|
||
00005e f89d0003 LDRB r0,[sp,#3]
|
||
000062 2842 CMP r0,#0x42
|
||
000064 d10a BNE |L1.124|
|
||
;;;63 {
|
||
;;;64 for(i=0;i<6;i++)
|
||
000066 2400 MOVS r4,#0
|
||
000068 e006 B |L1.120|
|
||
|L1.106|
|
||
;;;65 {
|
||
;;;66 Pass_init[4+i] = buf_char[4+i];
|
||
00006a 1d20 ADDS r0,r4,#4
|
||
00006c f81d1000 LDRB r1,[sp,r0]
|
||
000070 4ae3 LDR r2,|L1.1024|
|
||
000072 5411 STRB r1,[r2,r0]
|
||
000074 1c60 ADDS r0,r4,#1 ;64
|
||
000076 b2c4 UXTB r4,r0 ;64
|
||
|L1.120|
|
||
000078 2c06 CMP r4,#6 ;64
|
||
00007a dbf6 BLT |L1.106|
|
||
|L1.124|
|
||
;;;67 }
|
||
;;;68 }
|
||
;;;69 }
|
||
00007c b006 ADD sp,sp,#0x18
|
||
00007e bd10 POP {r4,pc}
|
||
;;;70
|
||
ENDP
|
||
|
||
flash_write_sys_flag_ALL PROC
|
||
;;;76 */
|
||
;;;77 void flash_write_sys_flag_ALL(u8 *revbuf_char)
|
||
000080 b53e PUSH {r1-r5,lr}
|
||
;;;78 {
|
||
000082 4605 MOV r5,r0
|
||
;;;79 u8 i = 0;
|
||
000084 2400 MOVS r4,#0
|
||
;;;80 u16 revbuf_short[5]={0};
|
||
000086 2000 MOVS r0,#0
|
||
000088 9000 STR r0,[sp,#0]
|
||
00008a 9001 STR r0,[sp,#4]
|
||
00008c 9002 STR r0,[sp,#8]
|
||
;;;81
|
||
;;;82 for(i=0;i<5;i++)
|
||
00008e bf00 NOP
|
||
000090 e00b B |L1.170|
|
||
|L1.146|
|
||
;;;83 {
|
||
;;;84 revbuf_short[i] = revbuf_char[i*2]<<8 | revbuf_char[i*2+1];
|
||
000092 2001 MOVS r0,#1
|
||
000094 eb000044 ADD r0,r0,r4,LSL #1
|
||
000098 5c28 LDRB r0,[r5,r0]
|
||
00009a f8151014 LDRB r1,[r5,r4,LSL #1]
|
||
00009e ea402001 ORR r0,r0,r1,LSL #8
|
||
0000a2 f82d0014 STRH r0,[sp,r4,LSL #1]
|
||
0000a6 1c60 ADDS r0,r4,#1 ;82
|
||
0000a8 b2c4 UXTB r4,r0 ;82
|
||
|L1.170|
|
||
0000aa 2c05 CMP r4,#5 ;82
|
||
0000ac dbf1 BLT |L1.146|
|
||
;;;85 }
|
||
;;;86
|
||
;;;87 STMFLASH_Write(FLASH_ADRR,revbuf_short,5);
|
||
0000ae 2205 MOVS r2,#5
|
||
0000b0 4669 MOV r1,sp
|
||
0000b2 48d2 LDR r0,|L1.1020|
|
||
0000b4 f7fffffe BL STMFLASH_Write
|
||
;;;88 }
|
||
0000b8 bd3e POP {r1-r5,pc}
|
||
;;;89
|
||
ENDP
|
||
|
||
BlueSend_GpsFun PROC
|
||
;;;101 */
|
||
;;;102 void BlueSend_GpsFun(u32 bmsnum,u8 orde,u8 type,u8 *buff,u16 len,u32 Recnumber)
|
||
0000ba e92d47f0 PUSH {r4-r10,lr}
|
||
;;;103 {
|
||
0000be f5ad7d54 SUB sp,sp,#0x350
|
||
0000c2 4606 MOV r6,r0
|
||
0000c4 460f MOV r7,r1
|
||
0000c6 4690 MOV r8,r2
|
||
0000c8 4699 MOV r9,r3
|
||
0000ca f8dda374 LDR r10,[sp,#0x374]
|
||
0000ce 9cdc LDR r4,[sp,#0x370]
|
||
;;;104 u16 index;
|
||
;;;105 u8 sendbuf[420] = {0};
|
||
0000d0 f44f71d2 MOV r1,#0x1a4
|
||
0000d4 a86b ADD r0,sp,#0x1ac
|
||
0000d6 f7fffffe BL __aeabi_memclr4
|
||
;;;106 Data_frame data_frame;
|
||
;;;107
|
||
;;;108 data_frame.start_frame = START_FRAME;
|
||
0000da f6446057 MOV r0,#0x4e57
|
||
0000de f8ad0004 STRH r0,[sp,#4]
|
||
;;;109 data_frame.Len_frame = S_GD_LEN + len - 2;
|
||
0000e2 f1040012 ADD r0,r4,#0x12
|
||
0000e6 b280 UXTH r0,r0
|
||
0000e8 f8ad0006 STRH r0,[sp,#6]
|
||
;;;110 data_frame.Bms_number = bmsnum;
|
||
0000ec 9602 STR r6,[sp,#8]
|
||
;;;111 data_frame.orde = orde;
|
||
0000ee f88d700c STRB r7,[sp,#0xc]
|
||
;;;112 data_frame.farm_sor = 0x00;
|
||
0000f2 2000 MOVS r0,#0
|
||
0000f4 f88d000d STRB r0,[sp,#0xd]
|
||
;;;113 data_frame.Type = type;
|
||
0000f8 f88d800e STRB r8,[sp,#0xe]
|
||
;;;114 memcpy(data_frame.s_data,buff,len);
|
||
0000fc 4622 MOV r2,r4
|
||
0000fe 4649 MOV r1,r9
|
||
000100 f10d000f ADD r0,sp,#0xf
|
||
000104 f7fffffe BL __aeabi_memcpy
|
||
;;;115 data_frame.Recnumber = Recnumber;
|
||
000108 f8cda1a0 STR r10,[sp,#0x1a0]
|
||
;;;116 data_frame.end_signs = END_FRAME;
|
||
00010c 2068 MOVS r0,#0x68
|
||
00010e f88d01a4 STRB r0,[sp,#0x1a4]
|
||
;;;117 data_frame.check_sum = 0;
|
||
000112 2000 MOVS r0,#0
|
||
000114 906a STR r0,[sp,#0x1a8]
|
||
;;;118
|
||
;;;119 sendbuf[0] = (data_frame.start_frame >> 8);
|
||
000116 f8bd0004 LDRH r0,[sp,#4]
|
||
00011a 1200 ASRS r0,r0,#8
|
||
00011c f88d01ac STRB r0,[sp,#0x1ac]
|
||
;;;120 sendbuf[1] = data_frame.start_frame;
|
||
000120 f8bd0004 LDRH r0,[sp,#4]
|
||
000124 b2c0 UXTB r0,r0
|
||
000126 f88d01ad STRB r0,[sp,#0x1ad]
|
||
;;;121 sendbuf[2] = (data_frame.Len_frame >> 8);
|
||
00012a f8bd0006 LDRH r0,[sp,#6]
|
||
00012e 1200 ASRS r0,r0,#8
|
||
000130 f88d01ae STRB r0,[sp,#0x1ae]
|
||
;;;122 sendbuf[3] = data_frame.Len_frame;
|
||
000134 f8bd0006 LDRH r0,[sp,#6]
|
||
000138 b2c0 UXTB r0,r0
|
||
00013a f88d01af STRB r0,[sp,#0x1af]
|
||
;;;123 sendbuf[4] = (data_frame.Bms_number >> 24);
|
||
00013e 9802 LDR r0,[sp,#8]
|
||
000140 0e00 LSRS r0,r0,#24
|
||
000142 f88d01b0 STRB r0,[sp,#0x1b0]
|
||
;;;124 sendbuf[5] = (data_frame.Bms_number >> 16);
|
||
000146 9802 LDR r0,[sp,#8]
|
||
000148 0c00 LSRS r0,r0,#16
|
||
00014a f88d01b1 STRB r0,[sp,#0x1b1]
|
||
;;;125 sendbuf[6] = (data_frame.Bms_number >> 8);
|
||
00014e 9802 LDR r0,[sp,#8]
|
||
000150 0a00 LSRS r0,r0,#8
|
||
000152 f88d01b2 STRB r0,[sp,#0x1b2]
|
||
;;;126 sendbuf[7] = data_frame.Bms_number;
|
||
000156 9802 LDR r0,[sp,#8]
|
||
000158 b2c0 UXTB r0,r0
|
||
00015a f88d01b3 STRB r0,[sp,#0x1b3]
|
||
;;;127 sendbuf[8] = data_frame.orde;
|
||
00015e f89d000c LDRB r0,[sp,#0xc]
|
||
000162 f88d01b4 STRB r0,[sp,#0x1b4]
|
||
;;;128 sendbuf[9] = data_frame.farm_sor;
|
||
000166 f89d000d LDRB r0,[sp,#0xd]
|
||
00016a f88d01b5 STRB r0,[sp,#0x1b5]
|
||
;;;129 sendbuf[10]= data_frame.Type;
|
||
00016e f89d000e LDRB r0,[sp,#0xe]
|
||
000172 f88d01b6 STRB r0,[sp,#0x1b6]
|
||
;;;130 memcpy(&sendbuf[11],data_frame.s_data,len);
|
||
000176 4622 MOV r2,r4
|
||
000178 f10d010f ADD r1,sp,#0xf
|
||
00017c f20d10b7 ADD r0,sp,#0x1b7
|
||
000180 f7fffffe BL __aeabi_memcpy
|
||
;;;131 sendbuf[11 + len] = (data_frame.Recnumber >> 24);
|
||
000184 9868 LDR r0,[sp,#0x1a0]
|
||
000186 0e01 LSRS r1,r0,#24
|
||
000188 f104000b ADD r0,r4,#0xb
|
||
00018c aa6b ADD r2,sp,#0x1ac
|
||
00018e 5411 STRB r1,[r2,r0]
|
||
;;;132 sendbuf[12 + len] = (data_frame.Recnumber >> 16);
|
||
000190 9868 LDR r0,[sp,#0x1a0]
|
||
000192 f3c04107 UBFX r1,r0,#16,#8
|
||
000196 f104000c ADD r0,r4,#0xc
|
||
00019a 5411 STRB r1,[r2,r0]
|
||
;;;133 sendbuf[13 + len] = (data_frame.Recnumber >> 8);
|
||
00019c 9868 LDR r0,[sp,#0x1a0]
|
||
00019e f3c02107 UBFX r1,r0,#8,#8
|
||
0001a2 f104000d ADD r0,r4,#0xd
|
||
0001a6 5411 STRB r1,[r2,r0]
|
||
;;;134 sendbuf[14 + len] = data_frame.Recnumber;
|
||
0001a8 9868 LDR r0,[sp,#0x1a0]
|
||
0001aa b2c1 UXTB r1,r0
|
||
0001ac f104000e ADD r0,r4,#0xe
|
||
0001b0 5411 STRB r1,[r2,r0]
|
||
;;;135 sendbuf[15 + len] = data_frame.end_signs;
|
||
0001b2 f89d11a4 LDRB r1,[sp,#0x1a4]
|
||
0001b6 1c40 ADDS r0,r0,#1
|
||
0001b8 5411 STRB r1,[r2,r0]
|
||
;;;136
|
||
;;;137 for(index = 0; index < S_GD_LEN + len - 4; index++)
|
||
0001ba 2500 MOVS r5,#0
|
||
0001bc e006 B |L1.460|
|
||
|L1.446|
|
||
;;;138 {
|
||
;;;139 data_frame.check_sum += sendbuf[index];
|
||
0001be a96b ADD r1,sp,#0x1ac
|
||
0001c0 5d49 LDRB r1,[r1,r5]
|
||
0001c2 986a LDR r0,[sp,#0x1a8]
|
||
0001c4 4408 ADD r0,r0,r1
|
||
0001c6 906a STR r0,[sp,#0x1a8]
|
||
0001c8 1c68 ADDS r0,r5,#1 ;137
|
||
0001ca b285 UXTH r5,r0 ;137
|
||
|L1.460|
|
||
0001cc f1040010 ADD r0,r4,#0x10 ;137
|
||
0001d0 42a8 CMP r0,r5 ;137
|
||
0001d2 dcf4 BGT |L1.446|
|
||
;;;140 }
|
||
;;;141 sendbuf[16 + len] = 0x00;
|
||
0001d4 2100 MOVS r1,#0
|
||
0001d6 aa6b ADD r2,sp,#0x1ac
|
||
0001d8 5411 STRB r1,[r2,r0]
|
||
;;;142 sendbuf[17 + len] = 0x00;
|
||
0001da 1c40 ADDS r0,r0,#1
|
||
0001dc 5411 STRB r1,[r2,r0]
|
||
;;;143 sendbuf[18 + len] = (data_frame.check_sum >> 8);
|
||
0001de 986a LDR r0,[sp,#0x1a8]
|
||
0001e0 f3c02107 UBFX r1,r0,#8,#8
|
||
0001e4 f1040012 ADD r0,r4,#0x12
|
||
0001e8 5411 STRB r1,[r2,r0]
|
||
;;;144 sendbuf[19 + len] = data_frame.check_sum;
|
||
0001ea 986a LDR r0,[sp,#0x1a8]
|
||
0001ec b2c1 UXTB r1,r0
|
||
0001ee f1040013 ADD r0,r4,#0x13
|
||
0001f2 5411 STRB r1,[r2,r0]
|
||
;;;145
|
||
;;;146 /*·¢ËÍÊý¾Ý*/
|
||
;;;147 Send_TString_Bluetooth(sendbuf,(u16)(S_GD_LEN + len));
|
||
0001f4 1c40 ADDS r0,r0,#1
|
||
0001f6 b281 UXTH r1,r0
|
||
0001f8 a86b ADD r0,sp,#0x1ac
|
||
0001fa f7fffffe BL Send_TString_Bluetooth
|
||
;;;148 }
|
||
0001fe f50d7d54 ADD sp,sp,#0x350
|
||
000202 e8bd87f0 POP {r4-r10,pc}
|
||
;;;149
|
||
ENDP
|
||
|
||
Bluetoothdecodea PROC
|
||
;;;156 */
|
||
;;;157 void Bluetoothdecodea(void)
|
||
000206 e92d4ff0 PUSH {r4-r11,lr}
|
||
;;;158 {
|
||
00020a b0df SUB sp,sp,#0x17c
|
||
;;;159 u16 data_len = 0; //³¤¶È
|
||
00020c 2600 MOVS r6,#0
|
||
;;;160 u32 crc_sum = 0; //ÀÛ¼ÓºÍ
|
||
00020e 2000 MOVS r0,#0
|
||
000210 905e STR r0,[sp,#0x178]
|
||
;;;161 u32 Bms_num = 0; //BMSÖն˺Å
|
||
000212 905d STR r0,[sp,#0x174]
|
||
;;;162 u16 index;
|
||
;;;163
|
||
;;;164 u8 orde = 0; //ÃüÁî×Ö
|
||
000214 905b STR r0,[sp,#0x16c]
|
||
;;;165 u8 b_addr = 0; //±êʶÂë
|
||
000216 4681 MOV r9,r0
|
||
;;;166 u8 Type = 0; //´«ÊäÀàÐÍ
|
||
000218 905a STR r0,[sp,#0x168]
|
||
;;;167 u32 recnum = 0; //¼Ç¼ºÅ
|
||
00021a 9059 STR r0,[sp,#0x164]
|
||
;;;168
|
||
;;;169 u8 sendbuffer[300]; //·¢ËÍÊý¾Ý»º´æ
|
||
;;;170 u16 send_len = 0; //Êý¾ÝÓò³¤¶È
|
||
00021c 4682 MOV r10,r0
|
||
;;;171
|
||
;;;172 /*309Ïà¹Ø±äÁ¿*/
|
||
;;;173 u8 Rev_309_buf_A[2]={0};
|
||
00021e 900d STR r0,[sp,#0x34]
|
||
;;;174 u8 Rev_309_buf_B[2]={0};
|
||
000220 900c STR r0,[sp,#0x30]
|
||
;;;175
|
||
;;;176 /*ζÈÏà¹Ø±äÁ¿*/
|
||
;;;177 float Rref = 0; //ÄÚ²¿²Î¿¼µç×è(µ¥Î»£ºK¦¸)
|
||
000222 900b STR r0,[sp,#0x2c]
|
||
;;;178 float Rt1 = 0; //ÈÈÃôµç×è×èÖµ(µ¥Î»£ºK¦¸)
|
||
000224 900a STR r0,[sp,#0x28]
|
||
;;;179
|
||
;;;180 /*´®ÊýÏà¹Ø±äÁ¿*/
|
||
;;;181 u8 A_Cellnum = 0; //Ö÷309 оƬµç³Ø´®Êý
|
||
000226 2700 MOVS r7,#0
|
||
;;;182 u8 B_Cellnum = 0; //¸±309 оƬµç³Ø´®Êý
|
||
000228 4680 MOV r8,r0
|
||
;;;183
|
||
;;;184 /*½ÓÊÕÒ»Ö¡±¨Îijɹ¦*/
|
||
;;;185 if(Bluttooth_buf.gps_Rev_start == 1)
|
||
00022a 4876 LDR r0,|L1.1028|
|
||
00022c 7800 LDRB r0,[r0,#0] ; Bluttooth_buf
|
||
00022e 2801 CMP r0,#1
|
||
|L1.560|
|
||
000230 f0418043 BNE.W |L1.4794|
|
||
;;;186 {
|
||
;;;187 Bluttooth_buf.gps_Rev_start = 0; //Çå³ý±ê־λ
|
||
000234 2000 MOVS r0,#0
|
||
000236 4973 LDR r1,|L1.1028|
|
||
000238 7008 STRB r0,[r1,#0]
|
||
;;;188 Data_Source = 2;
|
||
00023a 2002 MOVS r0,#2
|
||
00023c 4972 LDR r1,|L1.1032|
|
||
00023e 7008 STRB r0,[r1,#0]
|
||
;;;189
|
||
;;;190 data_len = (u16)((Bluttooth_buf.gps_Rev_buf[2] << 8) | Bluttooth_buf.gps_Rev_buf[3]);
|
||
000240 4870 LDR r0,|L1.1028|
|
||
000242 7901 LDRB r1,[r0,#4]
|
||
000244 78c0 LDRB r0,[r0,#3]
|
||
000246 ea412600 ORR r6,r1,r0,LSL #8
|
||
;;;191
|
||
;;;192 for(index = 0; index < data_len + 2 - 4; index++)
|
||
00024a 2000 MOVS r0,#0
|
||
00024c 905c STR r0,[sp,#0x170]
|
||
00024e e00a B |L1.614|
|
||
|L1.592|
|
||
;;;193 {
|
||
;;;194 crc_sum += Bluttooth_buf.gps_Rev_buf[index];
|
||
000250 486c LDR r0,|L1.1028|
|
||
000252 1c40 ADDS r0,r0,#1
|
||
000254 995c LDR r1,[sp,#0x170]
|
||
000256 5c41 LDRB r1,[r0,r1]
|
||
000258 985e LDR r0,[sp,#0x178]
|
||
00025a 4408 ADD r0,r0,r1
|
||
00025c 905e STR r0,[sp,#0x178]
|
||
00025e 985c LDR r0,[sp,#0x170] ;192
|
||
000260 1c40 ADDS r0,r0,#1 ;192
|
||
000262 b280 UXTH r0,r0 ;192
|
||
000264 905c STR r0,[sp,#0x170] ;192
|
||
|L1.614|
|
||
000266 1eb0 SUBS r0,r6,#2 ;192
|
||
000268 995c LDR r1,[sp,#0x170] ;192
|
||
00026a 4288 CMP r0,r1 ;192
|
||
00026c dcf0 BGT |L1.592|
|
||
;;;195 }
|
||
;;;196
|
||
;;;197 /*Ìõ¼þÔ¼Êø*/
|
||
;;;198 if((u16)crc_sum == (u16)((Bluttooth_buf.gps_Rev_buf[data_len + 2 - 2] << 8) | Bluttooth_buf.gps_Rev_buf[data_len + 2 - 1]))
|
||
00026e 1c70 ADDS r0,r6,#1
|
||
000270 4964 LDR r1,|L1.1028|
|
||
000272 1c49 ADDS r1,r1,#1
|
||
000274 5c0a LDRB r2,[r1,r0]
|
||
000276 5d88 LDRB r0,[r1,r6]
|
||
000278 ea422100 ORR r1,r2,r0,LSL #8
|
||
00027c 985e LDR r0,[sp,#0x178]
|
||
00027e b280 UXTH r0,r0
|
||
000280 4281 CMP r1,r0
|
||
000282 d1d5 BNE |L1.560|
|
||
;;;199 {
|
||
;;;200 /*»ñÈ¡BMSÖն˺Å*/
|
||
;;;201 Bms_num = (u32)(((Bluttooth_buf.gps_Rev_buf[4] << 8) | (Bluttooth_buf.gps_Rev_buf[5])) * 65536 + ((Bluttooth_buf.gps_Rev_buf[6] << 8) | Bluttooth_buf.gps_Rev_buf[7]));
|
||
000284 485f LDR r0,|L1.1028|
|
||
000286 7a01 LDRB r1,[r0,#8]
|
||
000288 79c0 LDRB r0,[r0,#7]
|
||
00028a ea412100 ORR r1,r1,r0,LSL #8
|
||
00028e 485d LDR r0,|L1.1028|
|
||
000290 7982 LDRB r2,[r0,#6]
|
||
000292 7940 LDRB r0,[r0,#5]
|
||
000294 ea422000 ORR r0,r2,r0,LSL #8
|
||
000298 eb014000 ADD r0,r1,r0,LSL #16
|
||
00029c 905d STR r0,[sp,#0x174]
|
||
;;;202
|
||
;;;203 /*»ñÈ¡ÃüÁî×Ö*/
|
||
;;;204 orde = Bluttooth_buf.gps_Rev_buf[8];
|
||
00029e 4859 LDR r0,|L1.1028|
|
||
0002a0 7a40 LDRB r0,[r0,#9]
|
||
0002a2 905b STR r0,[sp,#0x16c]
|
||
;;;205
|
||
;;;206 /*»ñÈ¡±êʶÂë*/
|
||
;;;207 b_addr = Bluttooth_buf.gps_Rev_buf[11];
|
||
0002a4 4857 LDR r0,|L1.1028|
|
||
0002a6 f890900c LDRB r9,[r0,#0xc]
|
||
;;;208
|
||
;;;209 /*»ñÈ¡¼Ç¼ºÅ*/
|
||
;;;210 recnum = (u32)(((Bluttooth_buf.gps_Rev_buf[data_len + 2 - 5 - 4] << 8) | (Bluttooth_buf.gps_Rev_buf[data_len + 2 - 5 - 3])) * 65536 + ((Bluttooth_buf.gps_Rev_buf[data_len + 2 - 5 - 2] << 8) | Bluttooth_buf.gps_Rev_buf[data_len + 2 - 5 - 1]));
|
||
0002aa 1f30 SUBS r0,r6,#4
|
||
0002ac 4955 LDR r1,|L1.1028|
|
||
0002ae 1c49 ADDS r1,r1,#1
|
||
0002b0 5c0a LDRB r2,[r1,r0]
|
||
0002b2 1f70 SUBS r0,r6,#5
|
||
0002b4 5c08 LDRB r0,[r1,r0]
|
||
0002b6 ea422100 ORR r1,r2,r0,LSL #8
|
||
0002ba 1fb0 SUBS r0,r6,#6
|
||
0002bc 4a51 LDR r2,|L1.1028|
|
||
0002be 1c52 ADDS r2,r2,#1
|
||
0002c0 5c13 LDRB r3,[r2,r0]
|
||
0002c2 1ff0 SUBS r0,r6,#7
|
||
0002c4 5c10 LDRB r0,[r2,r0]
|
||
0002c6 ea432000 ORR r0,r3,r0,LSL #8
|
||
0002ca eb014000 ADD r0,r1,r0,LSL #16
|
||
0002ce 9059 STR r0,[sp,#0x164]
|
||
;;;211
|
||
;;;212 switch(orde)
|
||
0002d0 985b LDR r0,[sp,#0x16c]
|
||
0002d2 2807 CMP r0,#7
|
||
0002d4 f08087ef BCS.W |L1.4790|
|
||
0002d8 e8dff000 TBB [pc,r0]
|
||
0002dc fd041929 DCB 0xfd,0x04,0x19,0x29
|
||
0002e0 395dfc00 DCB 0x39,0x5d,0xfc,0x00
|
||
;;;213 {
|
||
;;;214 case ACTIVACE_ORDE: //¼¤»îÖ¸Áî ´ÓÐÝÃßÖÐÍ˳ö
|
||
;;;215 {
|
||
;;;216 Type = 0x01; //Ó¦´ð
|
||
0002e4 2001 MOVS r0,#1
|
||
0002e6 905a STR r0,[sp,#0x168]
|
||
;;;217 sendbuffer[0] = b_addr;
|
||
0002e8 f88d9038 STRB r9,[sp,#0x38]
|
||
;;;218 send_len = 1;
|
||
0002ec 4682 MOV r10,r0
|
||
;;;219 BlueActivate = 1;
|
||
0002ee 4947 LDR r1,|L1.1036|
|
||
0002f0 7008 STRB r0,[r1,#0]
|
||
;;;220 BlueSend_GpsFun(Bms_num,orde,Type,sendbuffer,send_len,recnum);
|
||
0002f2 9859 LDR r0,[sp,#0x164]
|
||
0002f4 ab0e ADD r3,sp,#0x38
|
||
0002f6 e9cda000 STRD r10,r0,[sp,#0]
|
||
0002fa 9a5a LDR r2,[sp,#0x168]
|
||
0002fc 995b LDR r1,[sp,#0x16c]
|
||
0002fe 985d LDR r0,[sp,#0x174]
|
||
000300 f7fffffe BL BlueSend_GpsFun
|
||
;;;221 Beep_Flag = 1;
|
||
000304 2001 MOVS r0,#1
|
||
000306 4942 LDR r1,|L1.1040|
|
||
000308 7008 STRB r0,[r1,#0]
|
||
|L1.778|
|
||
;;;222 }
|
||
;;;223 break;
|
||
00030a f000bfd5 B.W |L1.4792|
|
||
;;;224 case WRITE_ORDE: //дָÁî
|
||
;;;225 if(BlueActivate == 1)
|
||
00030e 483f LDR r0,|L1.1036|
|
||
000310 7800 LDRB r0,[r0,#0] ; BlueActivate
|
||
000312 2801 CMP r0,#1
|
||
000314 d10a BNE |L1.812|
|
||
;;;226 {
|
||
;;;227 /*MCUÊý¾Ý*/
|
||
;;;228 if(Ranjianyinjian == 0)
|
||
000316 483f LDR r0,|L1.1044|
|
||
000318 7800 LDRB r0,[r0,#0] ; Ranjianyinjian
|
||
00031a b938 CBNZ r0,|L1.812|
|
||
;;;229 {
|
||
;;;230 Send_TString_BMS(Bluttooth_buf.gps_Rev_buf,data_len+2);
|
||
00031c 1cb1 ADDS r1,r6,#2
|
||
00031e 4839 LDR r0,|L1.1028|
|
||
000320 1c40 ADDS r0,r0,#1
|
||
000322 f7fffffe BL Send_TString_BMS
|
||
;;;231 Beep_Flag = 1;
|
||
000326 2001 MOVS r0,#1
|
||
000328 4939 LDR r1,|L1.1040|
|
||
00032a 7008 STRB r0,[r1,#0]
|
||
|L1.812|
|
||
;;;232 }
|
||
;;;233 }
|
||
;;;234 break;
|
||
00032c e7ed B |L1.778|
|
||
;;;235 case REV_ORDE: //¶ÁÖ¸Áî
|
||
;;;236 if(BlueActivate == 1)
|
||
00032e 4837 LDR r0,|L1.1036|
|
||
000330 7800 LDRB r0,[r0,#0] ; BlueActivate
|
||
000332 2801 CMP r0,#1
|
||
000334 d10a BNE |L1.844|
|
||
;;;237 {
|
||
;;;238 /*MCUÊý¾Ý*/
|
||
;;;239 if(Ranjianyinjian == 0)
|
||
000336 4837 LDR r0,|L1.1044|
|
||
000338 7800 LDRB r0,[r0,#0] ; Ranjianyinjian
|
||
00033a b938 CBNZ r0,|L1.844|
|
||
;;;240 {
|
||
;;;241 Send_TString_BMS(Bluttooth_buf.gps_Rev_buf,data_len+2);
|
||
00033c 1cb1 ADDS r1,r6,#2
|
||
00033e 4831 LDR r0,|L1.1028|
|
||
000340 1c40 ADDS r0,r0,#1
|
||
000342 f7fffffe BL Send_TString_BMS
|
||
;;;242 Beep_Flag = 1;
|
||
000346 2001 MOVS r0,#1
|
||
000348 4931 LDR r1,|L1.1040|
|
||
00034a 7008 STRB r0,[r1,#0]
|
||
|L1.844|
|
||
;;;243 }
|
||
;;;244 }
|
||
;;;245 break;
|
||
00034c e7dd B |L1.778|
|
||
;;;246 case CONF_ORDE: //¿ØÖÆÑ¡ÔñÖ¸Áî_ֻд
|
||
;;;247 switch(b_addr)
|
||
00034e f1b90fd0 CMP r9,#0xd0
|
||
000352 d003 BEQ |L1.860|
|
||
000354 f1b90fd1 CMP r9,#0xd1
|
||
000358 d10a BNE |L1.880|
|
||
00035a e004 B |L1.870|
|
||
|L1.860|
|
||
;;;248 {
|
||
;;;249 case RANJIANYINJIAN:
|
||
;;;250 Ranjianyinjian = Bluttooth_buf.gps_Rev_buf[12];
|
||
00035c 4829 LDR r0,|L1.1028|
|
||
00035e 7b40 LDRB r0,[r0,#0xd]
|
||
000360 492c LDR r1,|L1.1044|
|
||
000362 7008 STRB r0,[r1,#0]
|
||
;;;251 break;
|
||
000364 e004 B |L1.880|
|
||
|L1.870|
|
||
;;;252 case CONF_309NUM:
|
||
;;;253 Conf_309num = Bluttooth_buf.gps_Rev_buf[12];
|
||
000366 4827 LDR r0,|L1.1028|
|
||
000368 7b40 LDRB r0,[r0,#0xd]
|
||
00036a 492b LDR r1,|L1.1048|
|
||
00036c 7008 STRB r0,[r1,#0]
|
||
;;;254 break;
|
||
00036e bf00 NOP
|
||
|L1.880|
|
||
000370 bf00 NOP ;251
|
||
;;;255 }
|
||
;;;256 Type = 0x01;
|
||
000372 2001 MOVS r0,#1
|
||
000374 905a STR r0,[sp,#0x168]
|
||
;;;257 sendbuffer[0] = b_addr;
|
||
000376 f88d9038 STRB r9,[sp,#0x38]
|
||
;;;258 send_len = 1;
|
||
00037a 4682 MOV r10,r0
|
||
;;;259 /*·¢ËÍÊý¾Ý*/
|
||
;;;260 BlueSend_GpsFun(Bms_num,orde,Type,sendbuffer,send_len,recnum);
|
||
00037c 9859 LDR r0,[sp,#0x164]
|
||
00037e ab0e ADD r3,sp,#0x38
|
||
000380 e9cda000 STRD r10,r0,[sp,#0]
|
||
000384 9a5a LDR r2,[sp,#0x168]
|
||
000386 995b LDR r1,[sp,#0x16c]
|
||
000388 985d LDR r0,[sp,#0x174]
|
||
00038a f7fffffe BL BlueSend_GpsFun
|
||
;;;261 Beep_Flag = 1;
|
||
00038e 2001 MOVS r0,#1
|
||
000390 491f LDR r1,|L1.1040|
|
||
000392 7008 STRB r0,[r1,#0]
|
||
;;;262 break;
|
||
000394 e7b9 B |L1.778|
|
||
;;;263 case PASS_ORDE: //¶ÔÃÜÂëÖ¸Áî
|
||
;;;264 {
|
||
;;;265 switch(b_addr)
|
||
000396 f1b90fe0 CMP r9,#0xe0
|
||
00039a d006 BEQ |L1.938|
|
||
00039c f1b90fe1 CMP r9,#0xe1
|
||
0003a0 d072 BEQ |L1.1160|
|
||
0003a2 f1b90fe2 CMP r9,#0xe2
|
||
0003a6 d16d BNE |L1.1156|
|
||
0003a8 e0a1 B |L1.1262|
|
||
|L1.938|
|
||
;;;266 {
|
||
;;;267 case PASS_YAZ: //ÃÜÂëÑéÖ¤
|
||
;;;268 if((Pass_init[4] == Bluttooth_buf.gps_Rev_buf[12]) && (Pass_init[5] == Bluttooth_buf.gps_Rev_buf[13])
|
||
0003aa 4815 LDR r0,|L1.1024|
|
||
0003ac 7901 LDRB r1,[r0,#4] ; Pass_init
|
||
0003ae 4815 LDR r0,|L1.1028|
|
||
0003b0 7b40 LDRB r0,[r0,#0xd]
|
||
0003b2 4281 CMP r1,r0
|
||
0003b4 d132 BNE |L1.1052|
|
||
0003b6 4812 LDR r0,|L1.1024|
|
||
0003b8 7941 LDRB r1,[r0,#5] ; Pass_init
|
||
0003ba 4812 LDR r0,|L1.1028|
|
||
0003bc 7b80 LDRB r0,[r0,#0xe]
|
||
0003be 4281 CMP r1,r0
|
||
0003c0 d12c BNE |L1.1052|
|
||
;;;269 && (Pass_init[6] == Bluttooth_buf.gps_Rev_buf[14]) && (Pass_init[7] == Bluttooth_buf.gps_Rev_buf[15])
|
||
0003c2 480f LDR r0,|L1.1024|
|
||
0003c4 7981 LDRB r1,[r0,#6] ; Pass_init
|
||
0003c6 480f LDR r0,|L1.1028|
|
||
0003c8 7bc0 LDRB r0,[r0,#0xf]
|
||
0003ca 4281 CMP r1,r0
|
||
0003cc d126 BNE |L1.1052|
|
||
0003ce 480c LDR r0,|L1.1024|
|
||
0003d0 79c1 LDRB r1,[r0,#7] ; Pass_init
|
||
0003d2 480c LDR r0,|L1.1028|
|
||
0003d4 7c00 LDRB r0,[r0,#0x10]
|
||
0003d6 4281 CMP r1,r0
|
||
0003d8 d120 BNE |L1.1052|
|
||
;;;270 && (Pass_init[8] == Bluttooth_buf.gps_Rev_buf[16]) && (Pass_init[9] == Bluttooth_buf.gps_Rev_buf[17])
|
||
0003da 4809 LDR r0,|L1.1024|
|
||
0003dc 7a01 LDRB r1,[r0,#8] ; Pass_init
|
||
0003de 4809 LDR r0,|L1.1028|
|
||
0003e0 7c40 LDRB r0,[r0,#0x11]
|
||
0003e2 4281 CMP r1,r0
|
||
0003e4 d11a BNE |L1.1052|
|
||
0003e6 4806 LDR r0,|L1.1024|
|
||
0003e8 7a41 LDRB r1,[r0,#9] ; Pass_init
|
||
0003ea 4806 LDR r0,|L1.1028|
|
||
0003ec 7c80 LDRB r0,[r0,#0x12]
|
||
0003ee 4281 CMP r1,r0
|
||
0003f0 d114 BNE |L1.1052|
|
||
;;;271 )
|
||
;;;272 {
|
||
;;;273 sendbuffer[1] = 1;
|
||
0003f2 2001 MOVS r0,#1
|
||
0003f4 f88d0039 STRB r0,[sp,#0x39]
|
||
0003f8 e013 B |L1.1058|
|
||
0003fa 0000 DCW 0x0000
|
||
|L1.1020|
|
||
DCD 0x0800ffe0
|
||
|L1.1024|
|
||
DCD Pass_init
|
||
|L1.1028|
|
||
DCD Bluttooth_buf
|
||
|L1.1032|
|
||
DCD Data_Source
|
||
|L1.1036|
|
||
DCD BlueActivate
|
||
|L1.1040|
|
||
DCD Beep_Flag
|
||
|L1.1044|
|
||
DCD Ranjianyinjian
|
||
|L1.1048|
|
||
DCD Conf_309num
|
||
|L1.1052|
|
||
;;;274 }
|
||
;;;275 else
|
||
;;;276 sendbuffer[1] = 0; //1³É¹¦ 0ʧ°Ü
|
||
00041c 2000 MOVS r0,#0
|
||
00041e f88d0039 STRB r0,[sp,#0x39]
|
||
|L1.1058|
|
||
;;;277
|
||
;;;278 if(sendbuffer[1] == 0)
|
||
000422 f89d0039 LDRB r0,[sp,#0x39]
|
||
000426 bb30 CBNZ r0,|L1.1142|
|
||
;;;279 {
|
||
;;;280 //³¬¼¶ÃÜÂë
|
||
;;;281 if((Pass_CJ[4] == Bluttooth_buf.gps_Rev_buf[12]) && (Pass_CJ[5] == Bluttooth_buf.gps_Rev_buf[13])
|
||
000428 48fe LDR r0,|L1.2084|
|
||
00042a 7901 LDRB r1,[r0,#4] ; Pass_CJ
|
||
00042c 48fe LDR r0,|L1.2088|
|
||
00042e 7b40 LDRB r0,[r0,#0xd]
|
||
000430 4281 CMP r1,r0
|
||
000432 d121 BNE |L1.1144|
|
||
000434 48fb LDR r0,|L1.2084|
|
||
000436 7941 LDRB r1,[r0,#5] ; Pass_CJ
|
||
000438 48fb LDR r0,|L1.2088|
|
||
00043a 7b80 LDRB r0,[r0,#0xe]
|
||
00043c 4281 CMP r1,r0
|
||
00043e d11b BNE |L1.1144|
|
||
;;;282 && (Pass_CJ[6] == Bluttooth_buf.gps_Rev_buf[14]) && (Pass_CJ[7] == Bluttooth_buf.gps_Rev_buf[15])
|
||
000440 48f8 LDR r0,|L1.2084|
|
||
000442 7981 LDRB r1,[r0,#6] ; Pass_CJ
|
||
000444 48f8 LDR r0,|L1.2088|
|
||
000446 7bc0 LDRB r0,[r0,#0xf]
|
||
000448 4281 CMP r1,r0
|
||
00044a d115 BNE |L1.1144|
|
||
00044c 48f5 LDR r0,|L1.2084|
|
||
00044e 79c1 LDRB r1,[r0,#7] ; Pass_CJ
|
||
000450 48f5 LDR r0,|L1.2088|
|
||
000452 7c00 LDRB r0,[r0,#0x10]
|
||
000454 4281 CMP r1,r0
|
||
000456 d10f BNE |L1.1144|
|
||
;;;283 && (Pass_CJ[8] == Bluttooth_buf.gps_Rev_buf[16]) && (Pass_CJ[9] == Bluttooth_buf.gps_Rev_buf[17])
|
||
000458 48f2 LDR r0,|L1.2084|
|
||
00045a 7a01 LDRB r1,[r0,#8] ; Pass_CJ
|
||
00045c 48f2 LDR r0,|L1.2088|
|
||
00045e 7c40 LDRB r0,[r0,#0x11]
|
||
000460 4281 CMP r1,r0
|
||
000462 d109 BNE |L1.1144|
|
||
000464 48ef LDR r0,|L1.2084|
|
||
000466 7a41 LDRB r1,[r0,#9] ; Pass_CJ
|
||
000468 48ef LDR r0,|L1.2088|
|
||
00046a 7c80 LDRB r0,[r0,#0x12]
|
||
00046c 4281 CMP r1,r0
|
||
00046e d103 BNE |L1.1144|
|
||
;;;284 )
|
||
;;;285 {
|
||
;;;286 sendbuffer[1] = 1;
|
||
000470 2001 MOVS r0,#1
|
||
000472 f88d0039 STRB r0,[sp,#0x39]
|
||
|L1.1142|
|
||
000476 e002 B |L1.1150|
|
||
|L1.1144|
|
||
;;;287 }
|
||
;;;288 else
|
||
;;;289 sendbuffer[1] = 0; //1³É¹¦ 0ʧ°Ü
|
||
000478 2000 MOVS r0,#0
|
||
00047a f88d0039 STRB r0,[sp,#0x39]
|
||
|L1.1150|
|
||
;;;290 }
|
||
;;;291 Pass_bit = 0;
|
||
00047e 2000 MOVS r0,#0
|
||
000480 49ea LDR r1,|L1.2092|
|
||
000482 7008 STRB r0,[r1,#0]
|
||
|L1.1156|
|
||
;;;292 break;
|
||
000484 e058 B |L1.1336|
|
||
000486 e7ff B |L1.1160|
|
||
|L1.1160|
|
||
;;;293 case XIUG_PASS_CHU: //ÐÞ¸ÄÃÜÂëÊäÈëÔʼÃÜÂë
|
||
;;;294 if((Pass_init[4] == Bluttooth_buf.gps_Rev_buf[12]) && (Pass_init[5] == Bluttooth_buf.gps_Rev_buf[13])
|
||
000488 48e9 LDR r0,|L1.2096|
|
||
00048a 7901 LDRB r1,[r0,#4] ; Pass_init
|
||
00048c 48e6 LDR r0,|L1.2088|
|
||
00048e 7b40 LDRB r0,[r0,#0xd]
|
||
000490 4281 CMP r1,r0
|
||
000492 d126 BNE |L1.1250|
|
||
000494 48e6 LDR r0,|L1.2096|
|
||
000496 7941 LDRB r1,[r0,#5] ; Pass_init
|
||
000498 48e3 LDR r0,|L1.2088|
|
||
00049a 7b80 LDRB r0,[r0,#0xe]
|
||
00049c 4281 CMP r1,r0
|
||
00049e d120 BNE |L1.1250|
|
||
;;;295 && (Pass_init[6] == Bluttooth_buf.gps_Rev_buf[14]) && (Pass_init[7] == Bluttooth_buf.gps_Rev_buf[15])
|
||
0004a0 48e3 LDR r0,|L1.2096|
|
||
0004a2 7981 LDRB r1,[r0,#6] ; Pass_init
|
||
0004a4 48e0 LDR r0,|L1.2088|
|
||
0004a6 7bc0 LDRB r0,[r0,#0xf]
|
||
0004a8 4281 CMP r1,r0
|
||
0004aa d11a BNE |L1.1250|
|
||
0004ac 48e0 LDR r0,|L1.2096|
|
||
0004ae 79c1 LDRB r1,[r0,#7] ; Pass_init
|
||
0004b0 48dd LDR r0,|L1.2088|
|
||
0004b2 7c00 LDRB r0,[r0,#0x10]
|
||
0004b4 4281 CMP r1,r0
|
||
0004b6 d114 BNE |L1.1250|
|
||
;;;296 && (Pass_init[8] == Bluttooth_buf.gps_Rev_buf[16]) && (Pass_init[9] == Bluttooth_buf.gps_Rev_buf[17])
|
||
0004b8 48dd LDR r0,|L1.2096|
|
||
0004ba 7a01 LDRB r1,[r0,#8] ; Pass_init
|
||
0004bc 48da LDR r0,|L1.2088|
|
||
0004be 7c40 LDRB r0,[r0,#0x11]
|
||
0004c0 4281 CMP r1,r0
|
||
0004c2 d10e BNE |L1.1250|
|
||
0004c4 48da LDR r0,|L1.2096|
|
||
0004c6 7a41 LDRB r1,[r0,#9] ; Pass_init
|
||
0004c8 48d7 LDR r0,|L1.2088|
|
||
0004ca 7c80 LDRB r0,[r0,#0x12]
|
||
0004cc 4281 CMP r1,r0
|
||
0004ce d108 BNE |L1.1250|
|
||
;;;297 )
|
||
;;;298 {
|
||
;;;299 sendbuffer[1] = 1;
|
||
0004d0 2001 MOVS r0,#1
|
||
0004d2 e001 B |L1.1240|
|
||
0004d4 e044 B |L1.1376|
|
||
0004d6 e3fd B |L1.3284|
|
||
|L1.1240|
|
||
0004d8 f88d0039 STRB r0,[sp,#0x39]
|
||
;;;300 Pass_bit = 1;
|
||
0004dc 49d3 LDR r1,|L1.2092|
|
||
0004de 7008 STRB r0,[r1,#0]
|
||
0004e0 e004 B |L1.1260|
|
||
|L1.1250|
|
||
;;;301 }
|
||
;;;302 else
|
||
;;;303 {
|
||
;;;304 sendbuffer[1] = 0; //1³É¹¦ 0ʧ°Ü
|
||
0004e2 2000 MOVS r0,#0
|
||
0004e4 f88d0039 STRB r0,[sp,#0x39]
|
||
;;;305 Pass_bit = 0;
|
||
0004e8 49d0 LDR r1,|L1.2092|
|
||
0004ea 7008 STRB r0,[r1,#0]
|
||
|L1.1260|
|
||
;;;306 }
|
||
;;;307 break;
|
||
0004ec e024 B |L1.1336|
|
||
|L1.1262|
|
||
;;;308 case XIUG_PASS_NEW:
|
||
;;;309 {
|
||
;;;310 u8 i = 0;
|
||
0004ee 2400 MOVS r4,#0
|
||
;;;311 memcpy(&Pass_init_Lase[4],&Bluttooth_buf.gps_Rev_buf[12],6);
|
||
0004f0 49d0 LDR r1,|L1.2100|
|
||
0004f2 48cd LDR r0,|L1.2088|
|
||
0004f4 1c40 ADDS r0,r0,#1
|
||
0004f6 68c2 LDR r2,[r0,#0xc]
|
||
0004f8 604a STR r2,[r1,#4] ; Pass_init_Lase
|
||
0004fa 8a00 LDRH r0,[r0,#0x10]
|
||
0004fc 8108 STRH r0,[r1,#8]
|
||
;;;312 if(Pass_bit == 1)
|
||
0004fe 48cb LDR r0,|L1.2092|
|
||
000500 7800 LDRB r0,[r0,#0] ; Pass_bit
|
||
000502 2801 CMP r0,#1
|
||
000504 d114 BNE |L1.1328|
|
||
;;;313 {
|
||
;;;314 for(i=0;i<6;i++)
|
||
000506 bf00 NOP
|
||
000508 e006 B |L1.1304|
|
||
|L1.1290|
|
||
;;;315 {
|
||
;;;316 Pass_init[4+i] = Pass_init_Lase[4+i];
|
||
00050a 1d20 ADDS r0,r4,#4
|
||
00050c 49c9 LDR r1,|L1.2100|
|
||
00050e 5c09 LDRB r1,[r1,r0]
|
||
000510 4ac7 LDR r2,|L1.2096|
|
||
000512 5411 STRB r1,[r2,r0]
|
||
000514 1c60 ADDS r0,r4,#1 ;314
|
||
000516 b2c4 UXTB r4,r0 ;314
|
||
|L1.1304|
|
||
000518 2c06 CMP r4,#6 ;314
|
||
00051a dbf6 BLT |L1.1290|
|
||
;;;317 }
|
||
;;;318 flash_write_sys_flag_ALL(Pass_init);
|
||
00051c 48c4 LDR r0,|L1.2096|
|
||
00051e f7fffffe BL flash_write_sys_flag_ALL
|
||
;;;319 Pass_bit = 0;
|
||
000522 2000 MOVS r0,#0
|
||
000524 49c1 LDR r1,|L1.2092|
|
||
000526 7008 STRB r0,[r1,#0]
|
||
;;;320 sendbuffer[1] = 1;
|
||
000528 2001 MOVS r0,#1
|
||
00052a f88d0039 STRB r0,[sp,#0x39]
|
||
00052e e002 B |L1.1334|
|
||
|L1.1328|
|
||
;;;321 }
|
||
;;;322 else
|
||
;;;323 sendbuffer[1] = 0;
|
||
000530 2000 MOVS r0,#0
|
||
000532 f88d0039 STRB r0,[sp,#0x39]
|
||
|L1.1334|
|
||
;;;324 }
|
||
;;;325 break;
|
||
000536 bf00 NOP
|
||
|L1.1336|
|
||
000538 bf00 NOP ;292
|
||
;;;326 }
|
||
;;;327 Type = 0x01;
|
||
00053a 2001 MOVS r0,#1
|
||
00053c 905a STR r0,[sp,#0x168]
|
||
;;;328 sendbuffer[0] = b_addr;
|
||
00053e f88d9038 STRB r9,[sp,#0x38]
|
||
;;;329 send_len = 2;
|
||
000542 f04f0a02 MOV r10,#2
|
||
;;;330 /*·¢ËÍÊý¾Ý*/
|
||
;;;331 BlueSend_GpsFun(Bms_num,orde,Type,sendbuffer,send_len,recnum);
|
||
000546 9859 LDR r0,[sp,#0x164]
|
||
000548 ab0e ADD r3,sp,#0x38
|
||
00054a e9cda000 STRD r10,r0,[sp,#0]
|
||
00054e 9a5a LDR r2,[sp,#0x168]
|
||
000550 995b LDR r1,[sp,#0x16c]
|
||
000552 985d LDR r0,[sp,#0x174]
|
||
000554 f7fffffe BL BlueSend_GpsFun
|
||
;;;332 Beep_Flag = 1;
|
||
000558 2001 MOVS r0,#1
|
||
00055a 49b7 LDR r1,|L1.2104|
|
||
00055c 7008 STRB r0,[r1,#0]
|
||
;;;333 }
|
||
;;;334 break;
|
||
00055e e6d4 B |L1.778|
|
||
|L1.1376|
|
||
;;;335 case REV_ALLORDE: //¶ÁMCUÈ«²¿Ö¸Áî
|
||
;;;336 if(BlueActivate == 1)
|
||
000560 48b6 LDR r0,|L1.2108|
|
||
000562 7800 LDRB r0,[r0,#0] ; BlueActivate
|
||
000564 2801 CMP r0,#1
|
||
000566 d17c BNE |L1.1634|
|
||
;;;337 {
|
||
;;;338 u32 sumVol = 0;
|
||
000568 2000 MOVS r0,#0
|
||
00056a 9009 STR r0,[sp,#0x24]
|
||
;;;339 u16 Out_curr = 0; //·ÅµçµçÁ÷ µ¥Î»£º0.01A
|
||
00056c 4683 MOV r11,r0
|
||
;;;340 u16 Chg_curr = 0;
|
||
00056e 9008 STR r0,[sp,#0x20]
|
||
;;;341 u16 temp = 0;
|
||
000570 2400 MOVS r4,#0
|
||
;;;342
|
||
;;;343 if(Ranjianyinjian == 0)
|
||
000572 48b3 LDR r0,|L1.2112|
|
||
000574 7800 LDRB r0,[r0,#0] ; Ranjianyinjian
|
||
000576 b950 CBNZ r0,|L1.1422|
|
||
;;;344 {
|
||
;;;345 Send_TString_BMS(Bluttooth_buf.gps_Rev_buf,data_len+2);
|
||
000578 1cb1 ADDS r1,r6,#2
|
||
00057a 48ab LDR r0,|L1.2088|
|
||
00057c 1c40 ADDS r0,r0,#1
|
||
00057e f7fffffe BL Send_TString_BMS
|
||
;;;346 Bluetooth_bit = 1;
|
||
000582 2001 MOVS r0,#1
|
||
000584 49af LDR r1,|L1.2116|
|
||
000586 7008 STRB r0,[r1,#0]
|
||
;;;347 Beep_Flag = 1;
|
||
000588 49ab LDR r1,|L1.2104|
|
||
00058a 7008 STRB r0,[r1,#0]
|
||
|L1.1420|
|
||
00058c e3fd B |L1.3466|
|
||
|L1.1422|
|
||
;;;348 }
|
||
;;;349
|
||
;;;350 else if(Ranjianyinjian == 1)
|
||
00058e 48ac LDR r0,|L1.2112|
|
||
000590 7800 LDRB r0,[r0,#0] ; Ranjianyinjian
|
||
000592 2801 CMP r0,#1
|
||
000594 d1fa BNE |L1.1420|
|
||
;;;351 {
|
||
;;;352 u8 i = 0;
|
||
000596 2500 MOVS r5,#0
|
||
;;;353 Type = 0x01; //Ó¦´ð
|
||
000598 905a STR r0,[sp,#0x168]
|
||
;;;354 memset(sendbuffer,0,sizeof(sendbuffer)); //Êý¾ÝÇåÁã
|
||
00059a f44f7196 MOV r1,#0x12c
|
||
00059e a80e ADD r0,sp,#0x38
|
||
0005a0 f7fffffe BL __aeabi_memclr4
|
||
;;;355 Send_TString_BMS(stop_orde,22); //·¢Ë͸øMCUÍ£Ö¹¶Ô309¶Áд
|
||
0005a4 2116 MOVS r1,#0x16
|
||
0005a6 48a8 LDR r0,|L1.2120|
|
||
0005a8 f7fffffe BL Send_TString_BMS
|
||
;;;356 Delay_ms(100);
|
||
0005ac 2064 MOVS r0,#0x64
|
||
0005ae f7fffffe BL Delay_ms
|
||
;;;357
|
||
;;;358 if(Conf_309num==1)
|
||
0005b2 48a6 LDR r0,|L1.2124|
|
||
0005b4 7800 LDRB r0,[r0,#0] ; Conf_309num
|
||
0005b6 2801 CMP r0,#1
|
||
0005b8 d112 BNE |L1.1504|
|
||
;;;359 {
|
||
;;;360 MTPRead_fun_1( EEPROM_SCONF1, 2, &Rev_309_buf_A[0]);
|
||
0005ba aa0d ADD r2,sp,#0x34
|
||
0005bc 2102 MOVS r1,#2
|
||
0005be 2000 MOVS r0,#0
|
||
0005c0 f7fffffe BL MTPRead_fun_1
|
||
;;;361 data_309_A.EEPROMWriRev_309.Sconf1.datas = Rev_309_buf_A[0];
|
||
0005c4 f89d0034 LDRB r0,[sp,#0x34]
|
||
0005c8 49a1 LDR r1,|L1.2128|
|
||
0005ca 7008 STRB r0,[r1,#0]
|
||
;;;362 A_Cellnum = (data_309_A.EEPROMWriRev_309.Sconf1.bits.cn3_cn0 & 0x0f);
|
||
0005cc 4608 MOV r0,r1
|
||
0005ce 7800 LDRB r0,[r0,#0] ; data_309_A
|
||
0005d0 f000070f AND r7,r0,#0xf
|
||
;;;363 if(A_Cellnum<5)
|
||
0005d4 2f05 CMP r7,#5
|
||
0005d6 da00 BGE |L1.1498|
|
||
;;;364 A_Cellnum = 16;
|
||
0005d8 2710 MOVS r7,#0x10
|
||
|L1.1498|
|
||
;;;365 B_Cellnum = 0;
|
||
0005da f04f0800 MOV r8,#0
|
||
0005de e025 B |L1.1580|
|
||
|L1.1504|
|
||
;;;366 }
|
||
;;;367
|
||
;;;368 else if(Conf_309num==2)
|
||
0005e0 489a LDR r0,|L1.2124|
|
||
0005e2 7800 LDRB r0,[r0,#0] ; Conf_309num
|
||
0005e4 2802 CMP r0,#2
|
||
0005e6 d121 BNE |L1.1580|
|
||
;;;369 {
|
||
;;;370 MTPRead_fun_1( EEPROM_SCONF1, 2, &Rev_309_buf_A[0]);
|
||
0005e8 aa0d ADD r2,sp,#0x34
|
||
0005ea 2102 MOVS r1,#2
|
||
0005ec 2000 MOVS r0,#0
|
||
0005ee f7fffffe BL MTPRead_fun_1
|
||
;;;371 data_309_A.EEPROMWriRev_309.Sconf1.datas = Rev_309_buf_A[0];
|
||
0005f2 f89d0034 LDRB r0,[sp,#0x34]
|
||
0005f6 4996 LDR r1,|L1.2128|
|
||
0005f8 7008 STRB r0,[r1,#0]
|
||
;;;372 A_Cellnum = (data_309_A.EEPROMWriRev_309.Sconf1.bits.cn3_cn0 & 0x0f);
|
||
0005fa 4608 MOV r0,r1
|
||
0005fc 7800 LDRB r0,[r0,#0] ; data_309_A
|
||
0005fe f000070f AND r7,r0,#0xf
|
||
;;;373 if(A_Cellnum<5)
|
||
000602 2f05 CMP r7,#5
|
||
000604 da00 BGE |L1.1544|
|
||
;;;374 A_Cellnum = 16;
|
||
000606 2710 MOVS r7,#0x10
|
||
|L1.1544|
|
||
;;;375
|
||
;;;376 MTPRead_fun_2( EEPROM_SCONF1, 2, &Rev_309_buf_B[0]);
|
||
000608 aa0c ADD r2,sp,#0x30
|
||
00060a 2102 MOVS r1,#2
|
||
00060c 2000 MOVS r0,#0
|
||
00060e f7fffffe BL MTPRead_fun_2
|
||
;;;377 data_309_B.EEPROMWriRev_309.Sconf1.datas = Rev_309_buf_B[0];
|
||
000612 f89d0030 LDRB r0,[sp,#0x30]
|
||
000616 498f LDR r1,|L1.2132|
|
||
000618 7008 STRB r0,[r1,#0]
|
||
;;;378 B_Cellnum = (data_309_B.EEPROMWriRev_309.Sconf1.bits.cn3_cn0 & 0x0f);
|
||
00061a 4608 MOV r0,r1
|
||
00061c 7800 LDRB r0,[r0,#0] ; data_309_B
|
||
00061e f000080f AND r8,r0,#0xf
|
||
;;;379 if(B_Cellnum<5)
|
||
000622 f1b80f05 CMP r8,#5
|
||
000626 da01 BGE |L1.1580|
|
||
;;;380 B_Cellnum = 0;
|
||
000628 f04f0800 MOV r8,#0
|
||
|L1.1580|
|
||
;;;381 }
|
||
;;;382
|
||
;;;383
|
||
;;;384 MTPRead_fun_1( MTP_CONF, 1, &Rev_309_buf_A[0]);
|
||
00062c aa0d ADD r2,sp,#0x34
|
||
00062e 2101 MOVS r1,#1
|
||
000630 2040 MOVS r0,#0x40
|
||
000632 f7fffffe BL MTPRead_fun_1
|
||
;;;385 data_309_A.RAM_WrieRev_309.Conf.datas = Rev_309_buf_A[0];
|
||
000636 f89d0034 LDRB r0,[sp,#0x34]
|
||
00063a 4985 LDR r1,|L1.2128|
|
||
00063c 7688 STRB r0,[r1,#0x1a]
|
||
;;;386
|
||
;;;387 RAM_309data.Conf.datas = data_309_A.RAM_WrieRev_309.Conf.datas;
|
||
00063e 4608 MOV r0,r1
|
||
000640 7e80 LDRB r0,[r0,#0x1a] ; data_309_A
|
||
000642 4985 LDR r1,|L1.2136|
|
||
000644 7008 STRB r0,[r1,#0]
|
||
;;;388
|
||
;;;389 if(Conf_309num==1)
|
||
000646 4881 LDR r0,|L1.2124|
|
||
000648 7800 LDRB r0,[r0,#0] ; Conf_309num
|
||
00064a 2801 CMP r0,#1
|
||
00064c d115 BNE |L1.1658|
|
||
;;;390 {
|
||
;;;391 MTPRead_fun_1( MTP_BALANCEH, 2, &Rev_309_buf_A[0]);
|
||
00064e aa0d ADD r2,sp,#0x34
|
||
000650 2102 MOVS r1,#2
|
||
000652 2041 MOVS r0,#0x41
|
||
000654 f7fffffe BL MTPRead_fun_1
|
||
;;;392 data_309_A.RAM_WrieRev_309.Balanceh_l.datas = (Rev_309_buf_A[0] << 8) | Rev_309_buf_A[1];
|
||
000658 f89d0035 LDRB r0,[sp,#0x35]
|
||
00065c f89d1034 LDRB r1,[sp,#0x34]
|
||
000660 e000 B |L1.1636|
|
||
|L1.1634|
|
||
000662 e3f7 B |L1.3668|
|
||
|L1.1636|
|
||
000664 ea402101 ORR r1,r0,r1,LSL #8
|
||
000668 4879 LDR r0,|L1.2128|
|
||
00066a 8381 STRH r1,[r0,#0x1c]
|
||
;;;393 RAM_309data.Balanceh_l.datas = 0;
|
||
00066c 2000 MOVS r0,#0
|
||
00066e 497a LDR r1,|L1.2136|
|
||
000670 6048 STR r0,[r1,#4] ; RAM_309data
|
||
;;;394 RAM_309data.Balanceh_l.datas = data_309_A.RAM_WrieRev_309.Balanceh_l.datas;
|
||
000672 4877 LDR r0,|L1.2128|
|
||
000674 8b80 LDRH r0,[r0,#0x1c]
|
||
000676 6048 STR r0,[r1,#4] ; RAM_309data
|
||
000678 e028 B |L1.1740|
|
||
|L1.1658|
|
||
;;;395 }
|
||
;;;396 else if(Conf_309num==2)
|
||
00067a 4874 LDR r0,|L1.2124|
|
||
00067c 7800 LDRB r0,[r0,#0] ; Conf_309num
|
||
00067e 2802 CMP r0,#2
|
||
000680 d124 BNE |L1.1740|
|
||
;;;397 {
|
||
;;;398 MTPRead_fun_1( MTP_BALANCEH, 2, &Rev_309_buf_A[0]);
|
||
000682 aa0d ADD r2,sp,#0x34
|
||
000684 2102 MOVS r1,#2
|
||
000686 2041 MOVS r0,#0x41
|
||
000688 f7fffffe BL MTPRead_fun_1
|
||
;;;399 data_309_A.RAM_WrieRev_309.Balanceh_l.datas = (Rev_309_buf_A[0] << 8) | Rev_309_buf_A[1];
|
||
00068c f89d0035 LDRB r0,[sp,#0x35]
|
||
000690 f89d1034 LDRB r1,[sp,#0x34]
|
||
000694 ea402101 ORR r1,r0,r1,LSL #8
|
||
000698 486d LDR r0,|L1.2128|
|
||
00069a 8381 STRH r1,[r0,#0x1c]
|
||
;;;400 MTPRead_fun_2( MTP_BALANCEH, 2, &Rev_309_buf_B[0]);
|
||
00069c aa0c ADD r2,sp,#0x30
|
||
00069e 2102 MOVS r1,#2
|
||
0006a0 2041 MOVS r0,#0x41
|
||
0006a2 f7fffffe BL MTPRead_fun_2
|
||
;;;401 data_309_B.RAM_WrieRev_309.Balanceh_l.datas = (Rev_309_buf_B[0] << 8) | Rev_309_buf_B[1];
|
||
0006a6 f89d0031 LDRB r0,[sp,#0x31]
|
||
0006aa f89d1030 LDRB r1,[sp,#0x30]
|
||
0006ae ea402101 ORR r1,r0,r1,LSL #8
|
||
0006b2 4868 LDR r0,|L1.2132|
|
||
0006b4 8381 STRH r1,[r0,#0x1c]
|
||
;;;402 RAM_309data.Balanceh_l.datas = 0;
|
||
0006b6 2000 MOVS r0,#0
|
||
0006b8 4967 LDR r1,|L1.2136|
|
||
0006ba 6048 STR r0,[r1,#4] ; RAM_309data
|
||
;;;403 RAM_309data.Balanceh_l.datas = (data_309_B.RAM_WrieRev_309.Balanceh_l.datas << A_Cellnum) | data_309_A.RAM_WrieRev_309.Balanceh_l.datas;
|
||
0006bc 4865 LDR r0,|L1.2132|
|
||
0006be 8b80 LDRH r0,[r0,#0x1c]
|
||
0006c0 40b8 LSLS r0,r0,r7
|
||
0006c2 4963 LDR r1,|L1.2128|
|
||
0006c4 8b89 LDRH r1,[r1,#0x1c]
|
||
0006c6 4308 ORRS r0,r0,r1
|
||
0006c8 4963 LDR r1,|L1.2136|
|
||
0006ca 6048 STR r0,[r1,#4] ; RAM_309data
|
||
|L1.1740|
|
||
;;;404 }
|
||
;;;405
|
||
;;;406 if(Conf_309num==1)
|
||
0006cc 485f LDR r0,|L1.2124|
|
||
0006ce 7800 LDRB r0,[r0,#0] ; Conf_309num
|
||
0006d0 2801 CMP r0,#1
|
||
0006d2 d126 BNE |L1.1826|
|
||
;;;407 {
|
||
;;;408 MTPRead_fun_1( MTP_BSTATUS1, 1, &Rev_309_buf_A[0]);
|
||
0006d4 aa0d ADD r2,sp,#0x34
|
||
0006d6 2101 MOVS r1,#1
|
||
0006d8 2043 MOVS r0,#0x43
|
||
0006da f7fffffe BL MTPRead_fun_1
|
||
;;;409 data_309_A.RAM_WrieRev_309.Bstrtus1.datas = Rev_309_buf_A[0];
|
||
0006de f89d1034 LDRB r1,[sp,#0x34]
|
||
0006e2 485b LDR r0,|L1.2128|
|
||
0006e4 7781 STRB r1,[r0,#0x1e]
|
||
;;;410 RAM_309data.Bstrtus1.datas = data_309_A.RAM_WrieRev_309.Bstrtus1.datas;
|
||
0006e6 7f80 LDRB r0,[r0,#0x1e]
|
||
0006e8 495b LDR r1,|L1.2136|
|
||
0006ea 7208 STRB r0,[r1,#8]
|
||
;;;411
|
||
;;;412 MTPRead_fun_1( MTP_BSTATUS2, 1, &Rev_309_buf_A[0]);
|
||
0006ec aa0d ADD r2,sp,#0x34
|
||
0006ee 2101 MOVS r1,#1
|
||
0006f0 2044 MOVS r0,#0x44
|
||
0006f2 f7fffffe BL MTPRead_fun_1
|
||
;;;413 data_309_A.RAM_WrieRev_309.Bstrtus2.datas = Rev_309_buf_A[0];
|
||
0006f6 f89d1034 LDRB r1,[sp,#0x34]
|
||
0006fa 4855 LDR r0,|L1.2128|
|
||
0006fc 77c1 STRB r1,[r0,#0x1f]
|
||
;;;414 RAM_309data.Bstrtus2.datas = data_309_A.RAM_WrieRev_309.Bstrtus2.datas;
|
||
0006fe 7fc0 LDRB r0,[r0,#0x1f]
|
||
000700 4955 LDR r1,|L1.2136|
|
||
000702 7248 STRB r0,[r1,#9]
|
||
;;;415
|
||
;;;416 MTPRead_fun_1( MTP_BSTATUS3, 1, &Rev_309_buf_A[0]);
|
||
000704 aa0d ADD r2,sp,#0x34
|
||
000706 2101 MOVS r1,#1
|
||
000708 2045 MOVS r0,#0x45
|
||
00070a f7fffffe BL MTPRead_fun_1
|
||
;;;417 data_309_A.RAM_WrieRev_309.Bstrtus3.datas = Rev_309_buf_A[0];
|
||
00070e f89d1034 LDRB r1,[sp,#0x34]
|
||
000712 484f LDR r0,|L1.2128|
|
||
000714 f8801020 STRB r1,[r0,#0x20]
|
||
;;;418 RAM_309data.Bstrtus3.datas = data_309_A.RAM_WrieRev_309.Bstrtus3.datas;
|
||
000718 f8900020 LDRB r0,[r0,#0x20]
|
||
00071c 494e LDR r1,|L1.2136|
|
||
00071e 7288 STRB r0,[r1,#0xa]
|
||
000720 e052 B |L1.1992|
|
||
|L1.1826|
|
||
;;;419 }
|
||
;;;420
|
||
;;;421 else if(Conf_309num==2)
|
||
000722 484a LDR r0,|L1.2124|
|
||
000724 7800 LDRB r0,[r0,#0] ; Conf_309num
|
||
000726 2802 CMP r0,#2
|
||
000728 d14e BNE |L1.1992|
|
||
;;;422 {
|
||
;;;423 MTPRead_fun_1( MTP_BSTATUS1, 1, &Rev_309_buf_A[0]);
|
||
00072a aa0d ADD r2,sp,#0x34
|
||
00072c 2101 MOVS r1,#1
|
||
00072e 2043 MOVS r0,#0x43
|
||
000730 f7fffffe BL MTPRead_fun_1
|
||
;;;424 data_309_A.RAM_WrieRev_309.Bstrtus1.datas = Rev_309_buf_A[0];
|
||
000734 f89d1034 LDRB r1,[sp,#0x34]
|
||
000738 4845 LDR r0,|L1.2128|
|
||
00073a 7781 STRB r1,[r0,#0x1e]
|
||
;;;425 MTPRead_fun_2( MTP_BSTATUS1, 1, &Rev_309_buf_B[0]);
|
||
00073c aa0c ADD r2,sp,#0x30
|
||
00073e 2101 MOVS r1,#1
|
||
000740 2043 MOVS r0,#0x43
|
||
000742 f7fffffe BL MTPRead_fun_2
|
||
;;;426 data_309_B.RAM_WrieRev_309.Bstrtus1.datas = Rev_309_buf_B[0];
|
||
000746 f89d1030 LDRB r1,[sp,#0x30]
|
||
00074a 4842 LDR r0,|L1.2132|
|
||
00074c 7781 STRB r1,[r0,#0x1e]
|
||
;;;427 RAM_309data.Bstrtus1.datas = data_309_A.RAM_WrieRev_309.Bstrtus1.datas | data_309_B.RAM_WrieRev_309.Bstrtus1.datas;
|
||
00074e 4840 LDR r0,|L1.2128|
|
||
000750 7f80 LDRB r0,[r0,#0x1e]
|
||
000752 4940 LDR r1,|L1.2132|
|
||
000754 7f89 LDRB r1,[r1,#0x1e]
|
||
000756 4308 ORRS r0,r0,r1
|
||
000758 493f LDR r1,|L1.2136|
|
||
00075a 7208 STRB r0,[r1,#8]
|
||
;;;428
|
||
;;;429 MTPRead_fun_1( MTP_BSTATUS2, 1, &Rev_309_buf_A[0]);
|
||
00075c aa0d ADD r2,sp,#0x34
|
||
00075e 2101 MOVS r1,#1
|
||
000760 2044 MOVS r0,#0x44
|
||
000762 f7fffffe BL MTPRead_fun_1
|
||
;;;430 data_309_A.RAM_WrieRev_309.Bstrtus2.datas = Rev_309_buf_A[0];
|
||
000766 f89d1034 LDRB r1,[sp,#0x34]
|
||
00076a 4839 LDR r0,|L1.2128|
|
||
00076c 77c1 STRB r1,[r0,#0x1f]
|
||
;;;431 MTPRead_fun_2( MTP_BSTATUS2, 1, &Rev_309_buf_B[0]);
|
||
00076e aa0c ADD r2,sp,#0x30
|
||
000770 2101 MOVS r1,#1
|
||
000772 2044 MOVS r0,#0x44
|
||
000774 f7fffffe BL MTPRead_fun_2
|
||
;;;432 data_309_B.RAM_WrieRev_309.Bstrtus2.datas = Rev_309_buf_B[0];
|
||
000778 f89d1030 LDRB r1,[sp,#0x30]
|
||
00077c 4835 LDR r0,|L1.2132|
|
||
00077e 77c1 STRB r1,[r0,#0x1f]
|
||
;;;433 RAM_309data.Bstrtus2.datas = data_309_A.RAM_WrieRev_309.Bstrtus2.datas | data_309_B.RAM_WrieRev_309.Bstrtus2.datas;
|
||
000780 4833 LDR r0,|L1.2128|
|
||
000782 7fc0 LDRB r0,[r0,#0x1f]
|
||
000784 4933 LDR r1,|L1.2132|
|
||
000786 7fc9 LDRB r1,[r1,#0x1f]
|
||
000788 4308 ORRS r0,r0,r1
|
||
00078a 4933 LDR r1,|L1.2136|
|
||
00078c 7248 STRB r0,[r1,#9]
|
||
;;;434
|
||
;;;435 MTPRead_fun_1( MTP_BSTATUS3, 1, &Rev_309_buf_A[0]);
|
||
00078e aa0d ADD r2,sp,#0x34
|
||
000790 2101 MOVS r1,#1
|
||
000792 2045 MOVS r0,#0x45
|
||
000794 f7fffffe BL MTPRead_fun_1
|
||
;;;436 data_309_A.RAM_WrieRev_309.Bstrtus3.datas = Rev_309_buf_A[0];
|
||
000798 f89d1034 LDRB r1,[sp,#0x34]
|
||
00079c 482c LDR r0,|L1.2128|
|
||
00079e f8801020 STRB r1,[r0,#0x20]
|
||
;;;437 MTPRead_fun_2( MTP_BSTATUS3, 1, &Rev_309_buf_B[0]);
|
||
0007a2 aa0c ADD r2,sp,#0x30
|
||
0007a4 2101 MOVS r1,#1
|
||
0007a6 2045 MOVS r0,#0x45
|
||
0007a8 f7fffffe BL MTPRead_fun_2
|
||
;;;438 data_309_B.RAM_WrieRev_309.Bstrtus3.datas = Rev_309_buf_B[0];
|
||
0007ac f89d1030 LDRB r1,[sp,#0x30]
|
||
0007b0 4828 LDR r0,|L1.2132|
|
||
0007b2 f8801020 STRB r1,[r0,#0x20]
|
||
;;;439 RAM_309data.Bstrtus3.datas = data_309_A.RAM_WrieRev_309.Bstrtus3.datas | data_309_B.RAM_WrieRev_309.Bstrtus3.datas;
|
||
0007b6 4826 LDR r0,|L1.2128|
|
||
0007b8 f8900020 LDRB r0,[r0,#0x20]
|
||
0007bc 4925 LDR r1,|L1.2132|
|
||
0007be f8911020 LDRB r1,[r1,#0x20]
|
||
0007c2 4308 ORRS r0,r0,r1
|
||
0007c4 4924 LDR r1,|L1.2136|
|
||
0007c6 7288 STRB r0,[r1,#0xa]
|
||
|L1.1992|
|
||
;;;440 }
|
||
;;;441
|
||
;;;442
|
||
;;;443 MTPRead_fun_1( MTP_TEMP1, 2, &Rev_309_buf_A[0]);
|
||
0007c8 aa0d ADD r2,sp,#0x34
|
||
0007ca 2102 MOVS r1,#2
|
||
0007cc 2046 MOVS r0,#0x46
|
||
0007ce f7fffffe BL MTPRead_fun_1
|
||
;;;444 data_309_A.RAM_WrieRev_309.TEMP1h_l = (Rev_309_buf_A[0] << 8) | Rev_309_buf_A[1];
|
||
0007d2 f89d0035 LDRB r0,[sp,#0x35]
|
||
0007d6 f89d1034 LDRB r1,[sp,#0x34]
|
||
0007da ea402101 ORR r1,r0,r1,LSL #8
|
||
0007de 481c LDR r0,|L1.2128|
|
||
0007e0 8441 STRH r1,[r0,#0x22]
|
||
;;;445 RAM_309data.TEMP1h_l = data_309_A.RAM_WrieRev_309.TEMP1h_l;
|
||
0007e2 8c40 LDRH r0,[r0,#0x22]
|
||
0007e4 491c LDR r1,|L1.2136|
|
||
0007e6 8188 STRH r0,[r1,#0xc]
|
||
;;;446
|
||
;;;447 MTPRead_fun_1( MTP_TEMP2, 2, &Rev_309_buf_A[0]);
|
||
0007e8 aa0d ADD r2,sp,#0x34
|
||
0007ea 2102 MOVS r1,#2
|
||
0007ec 2048 MOVS r0,#0x48
|
||
0007ee f7fffffe BL MTPRead_fun_1
|
||
;;;448 data_309_A.RAM_WrieRev_309.TEMP2h_l = (Rev_309_buf_A[0] << 8) | Rev_309_buf_A[1];
|
||
0007f2 f89d0035 LDRB r0,[sp,#0x35]
|
||
0007f6 f89d1034 LDRB r1,[sp,#0x34]
|
||
0007fa ea402101 ORR r1,r0,r1,LSL #8
|
||
0007fe 4814 LDR r0,|L1.2128|
|
||
000800 8481 STRH r1,[r0,#0x24]
|
||
;;;449 RAM_309data.TEMP2h_l = data_309_A.RAM_WrieRev_309.TEMP2h_l;
|
||
000802 8c80 LDRH r0,[r0,#0x24]
|
||
000804 4914 LDR r1,|L1.2136|
|
||
000806 81c8 STRH r0,[r1,#0xe]
|
||
;;;450
|
||
;;;451 MTPRead_fun_1( MTP_TEMP3, 2, &Rev_309_buf_A[0]);
|
||
000808 aa0d ADD r2,sp,#0x34
|
||
00080a 2102 MOVS r1,#2
|
||
00080c 204a MOVS r0,#0x4a
|
||
00080e f7fffffe BL MTPRead_fun_1
|
||
;;;452 data_309_A.RAM_WrieRev_309.TEMP3h_l = (Rev_309_buf_A[0] << 8) | Rev_309_buf_A[1];
|
||
000812 f89d0035 LDRB r0,[sp,#0x35]
|
||
000816 f89d1034 LDRB r1,[sp,#0x34]
|
||
00081a ea402101 ORR r1,r0,r1,LSL #8
|
||
00081e 480c LDR r0,|L1.2128|
|
||
000820 84c1 STRH r1,[r0,#0x26]
|
||
;;;453 RAM_309data.TEMP3h_l = data_309_A.RAM_WrieRev_309.TEMP3h_l;
|
||
000822 e01b B |L1.2140|
|
||
|L1.2084|
|
||
DCD Pass_CJ
|
||
|L1.2088|
|
||
DCD Bluttooth_buf
|
||
|L1.2092|
|
||
DCD Pass_bit
|
||
|L1.2096|
|
||
DCD Pass_init
|
||
|L1.2100|
|
||
DCD Pass_init_Lase
|
||
|L1.2104|
|
||
DCD Beep_Flag
|
||
|L1.2108|
|
||
DCD BlueActivate
|
||
|L1.2112|
|
||
DCD Ranjianyinjian
|
||
|L1.2116|
|
||
DCD Bluetooth_bit
|
||
|L1.2120|
|
||
DCD stop_orde
|
||
|L1.2124|
|
||
DCD Conf_309num
|
||
|L1.2128|
|
||
DCD data_309_A
|
||
|L1.2132|
|
||
DCD data_309_B
|
||
|L1.2136|
|
||
DCD RAM_309data
|
||
|L1.2140|
|
||
00085c 8cc0 LDRH r0,[r0,#0x26]
|
||
00085e 49fe LDR r1,|L1.3160|
|
||
000860 8208 STRH r0,[r1,#0x10]
|
||
;;;454
|
||
;;;455 MTPRead_fun_1( MTP_CUR, 2, &Rev_309_buf_A[0]);
|
||
000862 aa0d ADD r2,sp,#0x34
|
||
000864 2102 MOVS r1,#2
|
||
000866 204c MOVS r0,#0x4c
|
||
000868 f7fffffe BL MTPRead_fun_1
|
||
;;;456 data_309_A.RAM_WrieRev_309.Curh_l = (Rev_309_buf_A[0] << 8) | Rev_309_buf_A[1];
|
||
00086c f89d0035 LDRB r0,[sp,#0x35]
|
||
000870 f89d1034 LDRB r1,[sp,#0x34]
|
||
000874 ea402101 ORR r1,r0,r1,LSL #8
|
||
000878 48f8 LDR r0,|L1.3164|
|
||
00087a 8501 STRH r1,[r0,#0x28]
|
||
;;;457 RAM_309data.Curh_l = data_309_A.RAM_WrieRev_309.Curh_l;
|
||
00087c 8d00 LDRH r0,[r0,#0x28]
|
||
00087e 49f6 LDR r1,|L1.3160|
|
||
000880 8248 STRH r0,[r1,#0x12]
|
||
;;;458
|
||
;;;459 for(i=0;i<A_Cellnum;i++)
|
||
000882 2500 MOVS r5,#0
|
||
000884 e013 B |L1.2222|
|
||
|L1.2182|
|
||
;;;460 {
|
||
;;;461 MTPRead_fun_1( 0x4E+i*2, 2, &Rev_309_buf_A[0]);
|
||
000886 214e MOVS r1,#0x4e
|
||
000888 eb010145 ADD r1,r1,r5,LSL #1
|
||
00088c b2c8 UXTB r0,r1
|
||
00088e aa0d ADD r2,sp,#0x34
|
||
000890 2102 MOVS r1,#2
|
||
000892 f7fffffe BL MTPRead_fun_1
|
||
;;;462 RAM_309data.Cell.cellvol[i] = (Rev_309_buf_A[0] << 8) | Rev_309_buf_A[1];
|
||
000896 f89d0035 LDRB r0,[sp,#0x35]
|
||
00089a f89d1034 LDRB r1,[sp,#0x34]
|
||
00089e ea402101 ORR r1,r0,r1,LSL #8
|
||
0008a2 48ed LDR r0,|L1.3160|
|
||
0008a4 3014 ADDS r0,r0,#0x14
|
||
0008a6 f8201015 STRH r1,[r0,r5,LSL #1]
|
||
0008aa 1c68 ADDS r0,r5,#1 ;459
|
||
0008ac b2c5 UXTB r5,r0 ;459
|
||
|L1.2222|
|
||
0008ae 42bd CMP r5,r7 ;459
|
||
0008b0 dbe9 BLT |L1.2182|
|
||
;;;463 }
|
||
;;;464 for(i=0;i<B_Cellnum;i++)
|
||
0008b2 2500 MOVS r5,#0
|
||
0008b4 e014 B |L1.2272|
|
||
|L1.2230|
|
||
;;;465 {
|
||
;;;466 MTPRead_fun_2( 0x4E+i*2, 2, &Rev_309_buf_B[0]);
|
||
0008b6 214e MOVS r1,#0x4e
|
||
0008b8 eb010145 ADD r1,r1,r5,LSL #1
|
||
0008bc b2c8 UXTB r0,r1
|
||
0008be aa0c ADD r2,sp,#0x30
|
||
0008c0 2102 MOVS r1,#2
|
||
0008c2 f7fffffe BL MTPRead_fun_2
|
||
;;;467 RAM_309data.Cell.cellvol[i+A_Cellnum] = (Rev_309_buf_B[0] << 8) | Rev_309_buf_B[1];
|
||
0008c6 f89d0031 LDRB r0,[sp,#0x31]
|
||
0008ca f89d1030 LDRB r1,[sp,#0x30]
|
||
0008ce ea402101 ORR r1,r0,r1,LSL #8
|
||
0008d2 19ea ADDS r2,r5,r7
|
||
0008d4 48e0 LDR r0,|L1.3160|
|
||
0008d6 3014 ADDS r0,r0,#0x14
|
||
0008d8 f8201012 STRH r1,[r0,r2,LSL #1]
|
||
0008dc 1c68 ADDS r0,r5,#1 ;464
|
||
0008de b2c5 UXTB r5,r0 ;464
|
||
|L1.2272|
|
||
0008e0 4545 CMP r5,r8 ;464
|
||
0008e2 dbe8 BLT |L1.2230|
|
||
;;;468 }
|
||
;;;469 for(i=A_Cellnum+B_Cellnum;i<24;i++)
|
||
0008e4 eb070008 ADD r0,r7,r8
|
||
0008e8 b2c5 UXTB r5,r0
|
||
0008ea e006 B |L1.2298|
|
||
|L1.2284|
|
||
;;;470 {
|
||
;;;471 RAM_309data.Cell.cellvol[i]=0;
|
||
0008ec 2100 MOVS r1,#0
|
||
0008ee 48da LDR r0,|L1.3160|
|
||
0008f0 3014 ADDS r0,r0,#0x14
|
||
0008f2 f8201015 STRH r1,[r0,r5,LSL #1]
|
||
0008f6 1c68 ADDS r0,r5,#1 ;469
|
||
0008f8 b2c5 UXTB r5,r0 ;469
|
||
|L1.2298|
|
||
0008fa 2d18 CMP r5,#0x18 ;469
|
||
0008fc dbf6 BLT |L1.2284|
|
||
;;;472 }
|
||
;;;473
|
||
;;;474 MTPRead_fun_1( MTP_ADC2, 2, &Rev_309_buf_A[0]);
|
||
0008fe aa0d ADD r2,sp,#0x34
|
||
000900 2102 MOVS r1,#2
|
||
000902 206e MOVS r0,#0x6e
|
||
000904 f7fffffe BL MTPRead_fun_1
|
||
;;;475 data_309_A.RAM_WrieRev_309.CADcdh_l = (Rev_309_buf_A[0] << 8) | Rev_309_buf_A[1];
|
||
000908 f89d0035 LDRB r0,[sp,#0x35]
|
||
00090c f89d1034 LDRB r1,[sp,#0x34]
|
||
000910 ea402101 ORR r1,r0,r1,LSL #8
|
||
000914 48d1 LDR r0,|L1.3164|
|
||
000916 f8a0104a STRH r1,[r0,#0x4a]
|
||
;;;476 RAM_309data.CADcdh_l = data_309_A.RAM_WrieRev_309.CADcdh_l;
|
||
00091a f8b0004a LDRH r0,[r0,#0x4a]
|
||
00091e 49ce LDR r1,|L1.3160|
|
||
000920 f8a10044 STRH r0,[r1,#0x44]
|
||
;;;477
|
||
;;;478 MTPRead_fun_1( MTP_BFLAG1, 1, &Rev_309_buf_A[0]);
|
||
000924 aa0d ADD r2,sp,#0x34
|
||
000926 2101 MOVS r1,#1
|
||
000928 2070 MOVS r0,#0x70
|
||
00092a f7fffffe BL MTPRead_fun_1
|
||
;;;479 data_309_A.RAM_WrieRev_309.Bflag1.datas = Rev_309_buf_A[0];
|
||
00092e f89d1034 LDRB r1,[sp,#0x34]
|
||
000932 48ca LDR r0,|L1.3164|
|
||
000934 f880104c STRB r1,[r0,#0x4c]
|
||
;;;480 RAM_309data.Bflag1.datas = data_309_A.RAM_WrieRev_309.Bflag1.datas;
|
||
000938 f890004c LDRB r0,[r0,#0x4c]
|
||
00093c 49c6 LDR r1,|L1.3160|
|
||
00093e f8810046 STRB r0,[r1,#0x46]
|
||
;;;481
|
||
;;;482 MTPRead_fun_1( MTP_BFLAG2, 1, &Rev_309_buf_A[0]);
|
||
000942 aa0d ADD r2,sp,#0x34
|
||
000944 2101 MOVS r1,#1
|
||
000946 2071 MOVS r0,#0x71
|
||
000948 f7fffffe BL MTPRead_fun_1
|
||
;;;483 data_309_A.RAM_WrieRev_309.Bflag2.datas = Rev_309_buf_A[0];
|
||
00094c f89d1034 LDRB r1,[sp,#0x34]
|
||
000950 48c2 LDR r0,|L1.3164|
|
||
000952 f880104d STRB r1,[r0,#0x4d]
|
||
;;;484 RAM_309data.Bflag2.datas = data_309_A.RAM_WrieRev_309.Bflag2.datas;
|
||
000956 f890004d LDRB r0,[r0,#0x4d]
|
||
00095a 49bf LDR r1,|L1.3160|
|
||
00095c f8810047 STRB r0,[r1,#0x47]
|
||
;;;485
|
||
;;;486 MTPRead_fun_1( MTP_RSTSTAT, 1, &Rev_309_buf_A[0]);
|
||
000960 aa0d ADD r2,sp,#0x34
|
||
000962 2101 MOVS r1,#1
|
||
000964 2072 MOVS r0,#0x72
|
||
000966 f7fffffe BL MTPRead_fun_1
|
||
;;;487 data_309_A.RAM_WrieRev_309.Rststat.datas = Rev_309_buf_A[0];
|
||
00096a f89d1034 LDRB r1,[sp,#0x34]
|
||
00096e 48bb LDR r0,|L1.3164|
|
||
000970 f880104e STRB r1,[r0,#0x4e]
|
||
;;;488 RAM_309data.Rststat.datas = data_309_A.RAM_WrieRev_309.Rststat.datas;
|
||
000974 f890004e LDRB r0,[r0,#0x4e]
|
||
000978 49b7 LDR r1,|L1.3160|
|
||
00097a f8810048 STRB r0,[r1,#0x48]
|
||
;;;489
|
||
;;;490 MTPRead_fun_1( EEPROM_TR, 1, &Rev_309_buf_A[0]);
|
||
00097e aa0d ADD r2,sp,#0x34
|
||
000980 2101 MOVS r1,#1
|
||
000982 2019 MOVS r0,#0x19
|
||
000984 f7fffffe BL MTPRead_fun_1
|
||
;;;491 data_309_A.EEPROMWriRev_309.Tr = Rev_309_buf_A[0];
|
||
000988 f89d0034 LDRB r0,[sp,#0x34]
|
||
00098c 49b3 LDR r1,|L1.3164|
|
||
00098e 7648 STRB r0,[r1,#0x19]
|
||
;;;492 Rref = (6.8 + 0.05 * (float)(data_309_A.EEPROMWriRev_309.Tr&0x7f));
|
||
000990 7e49 LDRB r1,[r1,#0x19] ; data_309_A
|
||
000992 f001007f AND r0,r1,#0x7f
|
||
000996 f7fffffe BL __aeabi_i2f
|
||
00099a 9001 STR r0,[sp,#4]
|
||
00099c f7fffffe BL __aeabi_f2d
|
||
0009a0 4aaf LDR r2,|L1.3168|
|
||
0009a2 4bb0 LDR r3,|L1.3172|
|
||
0009a4 e9cd0102 STRD r0,r1,[sp,#8]
|
||
0009a8 f7fffffe BL __aeabi_dmul
|
||
0009ac f04f3233 MOV r2,#0x33333333
|
||
0009b0 4bad LDR r3,|L1.3176|
|
||
0009b2 e9cd0104 STRD r0,r1,[sp,#0x10]
|
||
0009b6 f7fffffe BL __aeabi_dadd
|
||
0009ba e9cd0106 STRD r0,r1,[sp,#0x18]
|
||
0009be f7fffffe BL __aeabi_d2f
|
||
0009c2 900b STR r0,[sp,#0x2c]
|
||
;;;493
|
||
;;;494 MTPRead_fun_1( MTP_TEMP1, 2, &Rev_309_buf_A[0]);
|
||
0009c4 aa0d ADD r2,sp,#0x34
|
||
0009c6 2102 MOVS r1,#2
|
||
0009c8 2046 MOVS r0,#0x46
|
||
0009ca f7fffffe BL MTPRead_fun_1
|
||
;;;495 data_309_A.RAM_WrieRev_309.TEMP1h_l = (Rev_309_buf_A[0] << 8) | Rev_309_buf_A[1];
|
||
0009ce f89d0035 LDRB r0,[sp,#0x35]
|
||
0009d2 f89d1034 LDRB r1,[sp,#0x34]
|
||
0009d6 ea402101 ORR r1,r0,r1,LSL #8
|
||
0009da 48a0 LDR r0,|L1.3164|
|
||
0009dc 8441 STRH r1,[r0,#0x22]
|
||
;;;496 Rt1 = (float)(data_309_A.RAM_WrieRev_309.TEMP1h_l * 1.0) /(float)(32768 - data_309_A.RAM_WrieRev_309.TEMP1h_l) * Rref;
|
||
0009de 4601 MOV r1,r0
|
||
0009e0 8c49 LDRH r1,[r1,#0x22]
|
||
0009e2 f5c14000 RSB r0,r1,#0x8000
|
||
0009e6 f7fffffe BL __aeabi_i2f
|
||
0009ea 499c LDR r1,|L1.3164|
|
||
0009ec 9006 STR r0,[sp,#0x18]
|
||
0009ee 8c48 LDRH r0,[r1,#0x22]
|
||
0009f0 f7fffffe BL __aeabi_ui2d
|
||
0009f4 2200 MOVS r2,#0
|
||
0009f6 4b9d LDR r3,|L1.3180|
|
||
0009f8 e9cd0100 STRD r0,r1,[sp,#0]
|
||
0009fc f7fffffe BL __aeabi_dmul
|
||
000a00 e9cd0102 STRD r0,r1,[sp,#8]
|
||
000a04 f7fffffe BL __aeabi_d2f
|
||
000a08 9005 STR r0,[sp,#0x14]
|
||
000a0a 9906 LDR r1,[sp,#0x18]
|
||
000a0c f7fffffe BL __aeabi_fdiv
|
||
000a10 9007 STR r0,[sp,#0x1c]
|
||
000a12 990b LDR r1,[sp,#0x2c]
|
||
000a14 f7fffffe BL __aeabi_fmul
|
||
000a18 900a STR r0,[sp,#0x28]
|
||
;;;497 RAM_309data.T1_tmp = Get_Temp((u32)(Rt1 * 1000));
|
||
000a1a 4995 LDR r1,|L1.3184|
|
||
000a1c 980a LDR r0,[sp,#0x28]
|
||
000a1e f7fffffe BL __aeabi_fmul
|
||
000a22 9006 STR r0,[sp,#0x18]
|
||
000a24 f7fffffe BL __aeabi_f2uiz
|
||
000a28 9007 STR r0,[sp,#0x1c]
|
||
000a2a f7fffffe BL Get_Temp
|
||
000a2e 498a LDR r1,|L1.3160|
|
||
000a30 f8810049 STRB r0,[r1,#0x49]
|
||
;;;498
|
||
;;;499 MTPRead_fun_1( MTP_TEMP2, 2, &Rev_309_buf_A[0]);
|
||
000a34 aa0d ADD r2,sp,#0x34
|
||
000a36 2102 MOVS r1,#2
|
||
000a38 2048 MOVS r0,#0x48
|
||
000a3a f7fffffe BL MTPRead_fun_1
|
||
;;;500 data_309_A.RAM_WrieRev_309.TEMP2h_l = (Rev_309_buf_A[0] << 8) | Rev_309_buf_A[1];
|
||
000a3e f89d0035 LDRB r0,[sp,#0x35]
|
||
000a42 f89d1034 LDRB r1,[sp,#0x34]
|
||
000a46 ea402101 ORR r1,r0,r1,LSL #8
|
||
000a4a 4884 LDR r0,|L1.3164|
|
||
000a4c 8481 STRH r1,[r0,#0x24]
|
||
;;;501 Rt1 = (float)(data_309_A.RAM_WrieRev_309.TEMP2h_l * 1.0) /(float)(32768 - data_309_A.RAM_WrieRev_309.TEMP2h_l) * Rref;
|
||
000a4e 4601 MOV r1,r0
|
||
000a50 8c89 LDRH r1,[r1,#0x24]
|
||
000a52 f5c14000 RSB r0,r1,#0x8000
|
||
000a56 f7fffffe BL __aeabi_i2f
|
||
000a5a 4980 LDR r1,|L1.3164|
|
||
000a5c 9006 STR r0,[sp,#0x18]
|
||
000a5e 8c88 LDRH r0,[r1,#0x24]
|
||
000a60 f7fffffe BL __aeabi_ui2d
|
||
000a64 2200 MOVS r2,#0
|
||
000a66 4b81 LDR r3,|L1.3180|
|
||
000a68 e9cd0100 STRD r0,r1,[sp,#0]
|
||
000a6c f7fffffe BL __aeabi_dmul
|
||
000a70 e9cd0102 STRD r0,r1,[sp,#8]
|
||
000a74 f7fffffe BL __aeabi_d2f
|
||
000a78 9005 STR r0,[sp,#0x14]
|
||
000a7a 9906 LDR r1,[sp,#0x18]
|
||
000a7c f7fffffe BL __aeabi_fdiv
|
||
000a80 9007 STR r0,[sp,#0x1c]
|
||
000a82 990b LDR r1,[sp,#0x2c]
|
||
000a84 f7fffffe BL __aeabi_fmul
|
||
000a88 900a STR r0,[sp,#0x28]
|
||
;;;502 RAM_309data.T2_tmp = Get_Temp((u32)(Rt1 * 1000));
|
||
000a8a 4979 LDR r1,|L1.3184|
|
||
000a8c 980a LDR r0,[sp,#0x28]
|
||
000a8e f7fffffe BL __aeabi_fmul
|
||
000a92 9006 STR r0,[sp,#0x18]
|
||
000a94 f7fffffe BL __aeabi_f2uiz
|
||
000a98 9007 STR r0,[sp,#0x1c]
|
||
000a9a f7fffffe BL Get_Temp
|
||
000a9e 496e LDR r1,|L1.3160|
|
||
000aa0 f881004a STRB r0,[r1,#0x4a]
|
||
;;;503
|
||
;;;504 MTPRead_fun_1( MTP_TEMP3, 2, &Rev_309_buf_A[0]);
|
||
000aa4 aa0d ADD r2,sp,#0x34
|
||
000aa6 2102 MOVS r1,#2
|
||
000aa8 204a MOVS r0,#0x4a
|
||
000aaa f7fffffe BL MTPRead_fun_1
|
||
;;;505 data_309_A.RAM_WrieRev_309.TEMP3h_l = (Rev_309_buf_A[0] << 8) | Rev_309_buf_A[1];
|
||
000aae f89d0035 LDRB r0,[sp,#0x35]
|
||
000ab2 f89d1034 LDRB r1,[sp,#0x34]
|
||
000ab6 ea402101 ORR r1,r0,r1,LSL #8
|
||
000aba 4868 LDR r0,|L1.3164|
|
||
000abc 84c1 STRH r1,[r0,#0x26]
|
||
;;;506 Rt1 = (float)(data_309_A.RAM_WrieRev_309.TEMP3h_l * 1.0) /(float)(32768 - data_309_A.RAM_WrieRev_309.TEMP3h_l) * Rref;
|
||
000abe 4601 MOV r1,r0
|
||
000ac0 8cc9 LDRH r1,[r1,#0x26]
|
||
000ac2 f5c14000 RSB r0,r1,#0x8000
|
||
000ac6 f7fffffe BL __aeabi_i2f
|
||
000aca 4964 LDR r1,|L1.3164|
|
||
000acc 9006 STR r0,[sp,#0x18]
|
||
000ace 8cc8 LDRH r0,[r1,#0x26]
|
||
000ad0 f7fffffe BL __aeabi_ui2d
|
||
000ad4 2200 MOVS r2,#0
|
||
000ad6 4b65 LDR r3,|L1.3180|
|
||
000ad8 e9cd0100 STRD r0,r1,[sp,#0]
|
||
000adc f7fffffe BL __aeabi_dmul
|
||
000ae0 e9cd0102 STRD r0,r1,[sp,#8]
|
||
000ae4 f7fffffe BL __aeabi_d2f
|
||
000ae8 9005 STR r0,[sp,#0x14]
|
||
000aea 9906 LDR r1,[sp,#0x18]
|
||
000aec f7fffffe BL __aeabi_fdiv
|
||
000af0 9007 STR r0,[sp,#0x1c]
|
||
000af2 990b LDR r1,[sp,#0x2c]
|
||
000af4 f7fffffe BL __aeabi_fmul
|
||
000af8 900a STR r0,[sp,#0x28]
|
||
;;;507 RAM_309data.T3_tmp = Get_Temp((u32)(Rt1 * 1000));
|
||
000afa 495d LDR r1,|L1.3184|
|
||
000afc 980a LDR r0,[sp,#0x28]
|
||
000afe f7fffffe BL __aeabi_fmul
|
||
000b02 9006 STR r0,[sp,#0x18]
|
||
000b04 f7fffffe BL __aeabi_f2uiz
|
||
000b08 9007 STR r0,[sp,#0x1c]
|
||
000b0a f7fffffe BL Get_Temp
|
||
000b0e 4952 LDR r1,|L1.3160|
|
||
000b10 f881004b STRB r0,[r1,#0x4b]
|
||
;;;508
|
||
;;;509 for(i=0;i<24;i++)
|
||
000b14 2500 MOVS r5,#0
|
||
000b16 e016 B |L1.2886|
|
||
|L1.2840|
|
||
;;;510 {
|
||
;;;511 RAM_309data.Cell_Num.cellvol[i] = RAM_309data.Cell.cellvol[i] / 6.403;
|
||
000b18 494f LDR r1,|L1.3160|
|
||
000b1a 3114 ADDS r1,r1,#0x14
|
||
000b1c f8310015 LDRH r0,[r1,r5,LSL #1]
|
||
000b20 f7fffffe BL __aeabi_ui2d
|
||
000b24 4a53 LDR r2,|L1.3188|
|
||
000b26 4b54 LDR r3,|L1.3192|
|
||
000b28 e9cd0104 STRD r0,r1,[sp,#0x10]
|
||
000b2c f7fffffe BL __aeabi_ddiv
|
||
000b30 e9cd0106 STRD r0,r1,[sp,#0x18]
|
||
000b34 f7fffffe BL __aeabi_d2uiz
|
||
000b38 b281 UXTH r1,r0
|
||
000b3a 4847 LDR r0,|L1.3160|
|
||
000b3c 304c ADDS r0,r0,#0x4c
|
||
000b3e f8201015 STRH r1,[r0,r5,LSL #1]
|
||
000b42 1c68 ADDS r0,r5,#1 ;509
|
||
000b44 b2c5 UXTB r5,r0 ;509
|
||
|L1.2886|
|
||
000b46 2d18 CMP r5,#0x18 ;509
|
||
000b48 dbe6 BLT |L1.2840|
|
||
;;;512 }
|
||
;;;513 ////////////////////////////////////////////////////////////////////////////
|
||
;;;514
|
||
;;;515 for(i = 0; i < (A_Cellnum + B_Cellnum); i++)
|
||
000b4a 2500 MOVS r5,#0
|
||
000b4c e01a B |L1.2948|
|
||
|L1.2894|
|
||
;;;516 {
|
||
;;;517 blue_datas.Rev_data.Singcellvol[i][0] = i + 1; //µç³ØºÅ
|
||
000b4e 1c68 ADDS r0,r5,#1
|
||
000b50 b2c1 UXTB r1,r0
|
||
000b52 eb050245 ADD r2,r5,r5,LSL #1
|
||
000b56 4849 LDR r0,|L1.3196|
|
||
000b58 5481 STRB r1,[r0,r2]
|
||
;;;518 blue_datas.Rev_data.Singcellvol[i][1] = RAM_309data.Cell_Num.cellvol[i] >> 8;
|
||
000b5a 483f LDR r0,|L1.3160|
|
||
000b5c 304c ADDS r0,r0,#0x4c
|
||
000b5e f8300015 LDRH r0,[r0,r5,LSL #1]
|
||
000b62 1201 ASRS r1,r0,#8
|
||
000b64 eb050245 ADD r2,r5,r5,LSL #1
|
||
000b68 4844 LDR r0,|L1.3196|
|
||
000b6a 4410 ADD r0,r0,r2
|
||
000b6c 7041 STRB r1,[r0,#1]
|
||
;;;519 blue_datas.Rev_data.Singcellvol[i][2] = RAM_309data.Cell_Num.cellvol[i];
|
||
000b6e 483a LDR r0,|L1.3160|
|
||
000b70 304c ADDS r0,r0,#0x4c
|
||
000b72 f8101015 LDRB r1,[r0,r5,LSL #1]
|
||
000b76 eb050245 ADD r2,r5,r5,LSL #1
|
||
000b7a 4840 LDR r0,|L1.3196|
|
||
000b7c 4410 ADD r0,r0,r2
|
||
000b7e 7081 STRB r1,[r0,#2]
|
||
000b80 1c68 ADDS r0,r5,#1 ;515
|
||
000b82 b2c5 UXTB r5,r0 ;515
|
||
|L1.2948|
|
||
000b84 eb070008 ADD r0,r7,r8 ;515
|
||
000b88 42a8 CMP r0,r5 ;515
|
||
000b8a dce0 BGT |L1.2894|
|
||
;;;520 }
|
||
;;;521 if((short)RAM_309data.T3_tmp >= 0)
|
||
000b8c 4832 LDR r0,|L1.3160|
|
||
000b8e f890004b LDRB r0,[r0,#0x4b] ; RAM_309data
|
||
000b92 2800 CMP r0,#0
|
||
000b94 db07 BLT |L1.2982|
|
||
;;;522 blue_datas.Rev_data.MosTmp = RAM_309data.T3_tmp; //MOS¹ÜζÈ
|
||
000b96 4830 LDR r0,|L1.3160|
|
||
000b98 f890004b LDRB r0,[r0,#0x4b] ; RAM_309data
|
||
000b9c 4937 LDR r1,|L1.3196|
|
||
000b9e 390e SUBS r1,r1,#0xe
|
||
000ba0 f8a1006e STRH r0,[r1,#0x6e]
|
||
000ba4 e008 B |L1.3000|
|
||
|L1.2982|
|
||
;;;523 else
|
||
;;;524 blue_datas.Rev_data.MosTmp = 100 - RAM_309data.T3_tmp; //MOS¹ÜζÈ
|
||
000ba6 482c LDR r0,|L1.3160|
|
||
000ba8 f890004b LDRB r0,[r0,#0x4b] ; RAM_309data
|
||
000bac f1c00064 RSB r0,r0,#0x64
|
||
000bb0 4932 LDR r1,|L1.3196|
|
||
000bb2 390e SUBS r1,r1,#0xe
|
||
000bb4 f8a1006e STRH r0,[r1,#0x6e]
|
||
|L1.3000|
|
||
;;;525
|
||
;;;526 if((short)RAM_309data.T2_tmp >= 0)
|
||
000bb8 4827 LDR r0,|L1.3160|
|
||
000bba f890004a LDRB r0,[r0,#0x4a] ; RAM_309data
|
||
000bbe 2800 CMP r0,#0
|
||
000bc0 db07 BLT |L1.3026|
|
||
;;;527 blue_datas.Rev_data.QualiTmp = RAM_309data.T2_tmp; //µç³ØÏäÄÚζÈ
|
||
000bc2 4825 LDR r0,|L1.3160|
|
||
000bc4 f890004a LDRB r0,[r0,#0x4a] ; RAM_309data
|
||
000bc8 492c LDR r1,|L1.3196|
|
||
000bca 390e SUBS r1,r1,#0xe
|
||
000bcc f8a10070 STRH r0,[r1,#0x70]
|
||
000bd0 e008 B |L1.3044|
|
||
|L1.3026|
|
||
;;;528 else
|
||
;;;529 blue_datas.Rev_data.QualiTmp = 100 - RAM_309data.T2_tmp; //µç³ØÏäÄÚζÈ
|
||
000bd2 4821 LDR r0,|L1.3160|
|
||
000bd4 f890004a LDRB r0,[r0,#0x4a] ; RAM_309data
|
||
000bd8 f1c00064 RSB r0,r0,#0x64
|
||
000bdc 4927 LDR r1,|L1.3196|
|
||
000bde 390e SUBS r1,r1,#0xe
|
||
000be0 f8a10070 STRH r0,[r1,#0x70]
|
||
|L1.3044|
|
||
;;;530
|
||
;;;531 if((short)RAM_309data.T1_tmp >= 0)
|
||
000be4 481c LDR r0,|L1.3160|
|
||
000be6 f8900049 LDRB r0,[r0,#0x49] ; RAM_309data
|
||
000bea 2800 CMP r0,#0
|
||
000bec db07 BLT |L1.3070|
|
||
;;;532 blue_datas.Rev_data.CellTmp = RAM_309data.T1_tmp; //µç³ØζÈ
|
||
000bee 481a LDR r0,|L1.3160|
|
||
000bf0 f8900049 LDRB r0,[r0,#0x49] ; RAM_309data
|
||
000bf4 4921 LDR r1,|L1.3196|
|
||
000bf6 390e SUBS r1,r1,#0xe
|
||
000bf8 f8a10072 STRH r0,[r1,#0x72]
|
||
000bfc e008 B |L1.3088|
|
||
|L1.3070|
|
||
;;;533 else
|
||
;;;534 blue_datas.Rev_data.CellTmp = 100 - RAM_309data.T1_tmp; //µç³ØζÈ
|
||
000bfe 4816 LDR r0,|L1.3160|
|
||
000c00 f8900049 LDRB r0,[r0,#0x49] ; RAM_309data
|
||
000c04 f1c00064 RSB r0,r0,#0x64
|
||
000c08 491c LDR r1,|L1.3196|
|
||
000c0a 390e SUBS r1,r1,#0xe
|
||
000c0c f8a10072 STRH r0,[r1,#0x72]
|
||
|L1.3088|
|
||
;;;535
|
||
;;;536 for(i = 0; i < (A_Cellnum + B_Cellnum); i++)
|
||
000c10 2500 MOVS r5,#0
|
||
000c12 e008 B |L1.3110|
|
||
|L1.3092|
|
||
;;;537 {
|
||
;;;538 sumVol +=RAM_309data.Cell_Num.cellvol[i];
|
||
000c14 4810 LDR r0,|L1.3160|
|
||
000c16 304c ADDS r0,r0,#0x4c
|
||
000c18 f8301015 LDRH r1,[r0,r5,LSL #1]
|
||
000c1c 9809 LDR r0,[sp,#0x24]
|
||
000c1e 4408 ADD r0,r0,r1
|
||
000c20 9009 STR r0,[sp,#0x24]
|
||
000c22 1c68 ADDS r0,r5,#1 ;536
|
||
000c24 b2c5 UXTB r5,r0 ;536
|
||
|L1.3110|
|
||
000c26 eb070008 ADD r0,r7,r8 ;536
|
||
000c2a 42a8 CMP r0,r5 ;536
|
||
000c2c dcf2 BGT |L1.3092|
|
||
;;;539 }
|
||
;;;540 blue_datas.Rev_data.CellZvol = sumVol/10.0; //×ܵçѹ
|
||
000c2e 9809 LDR r0,[sp,#0x24]
|
||
000c30 f7fffffe BL __aeabi_ui2d
|
||
000c34 2200 MOVS r2,#0
|
||
000c36 4b12 LDR r3,|L1.3200|
|
||
000c38 e9cd0104 STRD r0,r1,[sp,#0x10]
|
||
000c3c f7fffffe BL __aeabi_ddiv
|
||
000c40 e9cd0106 STRD r0,r1,[sp,#0x18]
|
||
000c44 f7fffffe BL __aeabi_d2uiz
|
||
000c48 490c LDR r1,|L1.3196|
|
||
000c4a 390e SUBS r1,r1,#0xe
|
||
000c4c f8a10074 STRH r0,[r1,#0x74]
|
||
;;;541
|
||
;;;542 if(data_309_A.RAM_WrieRev_309.Curh_l & 0x8000) //±íʾ·Åµç
|
||
000c50 4802 LDR r0,|L1.3164|
|
||
000c52 8d00 LDRH r0,[r0,#0x28]
|
||
000c54 e016 B |L1.3204|
|
||
000c56 0000 DCW 0x0000
|
||
|L1.3160|
|
||
DCD RAM_309data
|
||
|L1.3164|
|
||
DCD data_309_A
|
||
|L1.3168|
|
||
DCD 0x9999999a
|
||
|L1.3172|
|
||
DCD 0x3fa99999
|
||
|L1.3176|
|
||
DCD 0x401b3333
|
||
|L1.3180|
|
||
DCD 0x3ff00000
|
||
|L1.3184|
|
||
DCD 0x447a0000
|
||
|L1.3188|
|
||
DCD 0x083126e9
|
||
|L1.3192|
|
||
DCD 0x40199cac
|
||
|L1.3196|
|
||
DCD blue_datas+0xe
|
||
|L1.3200|
|
||
DCD 0x40240000
|
||
|L1.3204|
|
||
000c84 f4004000 AND r0,r0,#0x8000
|
||
000c88 b328 CBZ r0,|L1.3286|
|
||
;;;543 {
|
||
;;;544 Out_curr = (65535-data_309_A.RAM_WrieRev_309.Curh_l)*200.0/(26837*0.0010) / 10.0;
|
||
000c8a 49fe LDR r1,|L1.4228|
|
||
000c8c 8d09 LDRH r1,[r1,#0x28]
|
||
000c8e f64f72ff MOV r2,#0xffff
|
||
000c92 1a50 SUBS r0,r2,r1
|
||
000c94 f7fffffe BL __aeabi_i2d
|
||
000c98 2200 MOVS r2,#0
|
||
000c9a 4bfb LDR r3,|L1.4232|
|
||
000c9c e9cd0100 STRD r0,r1,[sp,#0]
|
||
000ca0 f7fffffe BL __aeabi_dmul
|
||
000ca4 4af9 LDR r2,|L1.4236|
|
||
000ca6 4bfa LDR r3,|L1.4240|
|
||
000ca8 e9cd0102 STRD r0,r1,[sp,#8]
|
||
000cac f7fffffe BL __aeabi_ddiv
|
||
000cb0 2200 MOVS r2,#0
|
||
000cb2 4bf8 LDR r3,|L1.4244|
|
||
000cb4 e9cd0104 STRD r0,r1,[sp,#0x10]
|
||
000cb8 f7fffffe BL __aeabi_ddiv
|
||
000cbc e9cd0106 STRD r0,r1,[sp,#0x18]
|
||
000cc0 f7fffffe BL __aeabi_d2uiz
|
||
000cc4 fa1ffb80 UXTH r11,r0
|
||
;;;545 if(Out_curr <= 80) Out_curr = 0;
|
||
000cc8 f1bb0f50 CMP r11,#0x50
|
||
000ccc dc01 BGT |L1.3282|
|
||
000cce f04f0b00 MOV r11,#0
|
||
|L1.3282|
|
||
;;;546 blue_datas.Rev_data.Currdata = Out_curr + 10000; //µçÁ÷
|
||
000cd2 e001 B |L1.3288|
|
||
|L1.3284|
|
||
000cd4 e2ef B |L1.4790|
|
||
|L1.3286|
|
||
000cd6 e006 B |L1.3302|
|
||
|L1.3288|
|
||
000cd8 f2427010 MOV r0,#0x2710
|
||
000cdc 4458 ADD r0,r0,r11
|
||
000cde 49ee LDR r1,|L1.4248|
|
||
000ce0 f8a10076 STRH r0,[r1,#0x76]
|
||
000ce4 e027 B |L1.3382|
|
||
|L1.3302|
|
||
;;;547 }
|
||
;;;548 else //±íʾ³äµç
|
||
;;;549 {
|
||
;;;550 Chg_curr = data_309_A.RAM_WrieRev_309.Curh_l * 200.0/(26837*0.0010) / 10.0;
|
||
000ce6 49e7 LDR r1,|L1.4228|
|
||
000ce8 8d08 LDRH r0,[r1,#0x28]
|
||
000cea f7fffffe BL __aeabi_ui2d
|
||
000cee 2200 MOVS r2,#0
|
||
000cf0 4be5 LDR r3,|L1.4232|
|
||
000cf2 e9cd0100 STRD r0,r1,[sp,#0]
|
||
000cf6 f7fffffe BL __aeabi_dmul
|
||
000cfa 4ae4 LDR r2,|L1.4236|
|
||
000cfc 4be4 LDR r3,|L1.4240|
|
||
000cfe e9cd0102 STRD r0,r1,[sp,#8]
|
||
000d02 f7fffffe BL __aeabi_ddiv
|
||
000d06 2200 MOVS r2,#0
|
||
000d08 4be2 LDR r3,|L1.4244|
|
||
000d0a e9cd0104 STRD r0,r1,[sp,#0x10]
|
||
000d0e f7fffffe BL __aeabi_ddiv
|
||
000d12 e9cd0106 STRD r0,r1,[sp,#0x18]
|
||
000d16 f7fffffe BL __aeabi_d2uiz
|
||
000d1a b280 UXTH r0,r0
|
||
000d1c 9008 STR r0,[sp,#0x20]
|
||
;;;551 if(Chg_curr <= 50) Chg_curr = 0;
|
||
000d1e 9808 LDR r0,[sp,#0x20]
|
||
000d20 2832 CMP r0,#0x32
|
||
000d22 dc01 BGT |L1.3368|
|
||
000d24 2000 MOVS r0,#0
|
||
000d26 9008 STR r0,[sp,#0x20]
|
||
|L1.3368|
|
||
;;;552 blue_datas.Rev_data.Currdata = 10000 - Chg_curr;
|
||
000d28 f2427110 MOV r1,#0x2710
|
||
000d2c 9808 LDR r0,[sp,#0x20]
|
||
000d2e 1a08 SUBS r0,r1,r0
|
||
000d30 49d9 LDR r1,|L1.4248|
|
||
000d32 f8a10076 STRH r0,[r1,#0x76]
|
||
|L1.3382|
|
||
;;;553 }
|
||
;;;554 blue_datas.Rev_data.Soc = 50; //SOC
|
||
000d36 2032 MOVS r0,#0x32
|
||
000d38 49d7 LDR r1,|L1.4248|
|
||
000d3a f8810078 STRB r0,[r1,#0x78]
|
||
;;;555 blue_datas.Rev_data.CellTmpSors = 0x03; //ĬÈÏ2
|
||
000d3e 2003 MOVS r0,#3
|
||
000d40 f8810079 STRB r0,[r1,#0x79]
|
||
;;;556 blue_datas.Rev_data.Bms_rl = 40 * 100; //BMSУ׼µç³ØÈÝÁ¿
|
||
000d44 f44f607a MOV r0,#0xfa0
|
||
000d48 f8a1007c STRH r0,[r1,#0x7c]
|
||
;;;557 blue_datas.Rev_data.CellOutrl = 0;
|
||
000d4c 2000 MOVS r0,#0
|
||
000d4e f8c10080 STR r0,[r1,#0x80] ; blue_datas
|
||
;;;558 blue_datas.Rev_data.Cellusnum = 0;
|
||
000d52 f8a1007a STRH r0,[r1,#0x7a]
|
||
;;;559 blue_datas.Rev_data.CellZnum = A_Cellnum + B_Cellnum;
|
||
000d56 eb070008 ADD r0,r7,r8
|
||
000d5a f8a10084 STRH r0,[r1,#0x84]
|
||
;;;560
|
||
;;;561 if(data_309_A.RAM_WrieRev_309.Bstrtus2.bits.OTD == 1 || data_309_A.RAM_WrieRev_309.Bstrtus2.bits.OTD == 1)
|
||
000d5e 48c9 LDR r0,|L1.4228|
|
||
000d60 7fc0 LDRB r0,[r0,#0x1f]
|
||
000d62 f3c000c0 UBFX r0,r0,#3,#1
|
||
000d66 b920 CBNZ r0,|L1.3442|
|
||
000d68 48c6 LDR r0,|L1.4228|
|
||
000d6a 7fc0 LDRB r0,[r0,#0x1f]
|
||
000d6c f3c000c0 UBFX r0,r0,#3,#1
|
||
000d70 b188 CBZ r0,|L1.3478|
|
||
|L1.3442|
|
||
;;;562 {
|
||
;;;563 blue_datas.Rev_data.CellhitData |= (1<<1);
|
||
000d72 48c9 LDR r0,|L1.4248|
|
||
000d74 f8b00086 LDRH r0,[r0,#0x86] ; blue_datas
|
||
000d78 f0400002 ORR r0,r0,#2
|
||
000d7c 49c6 LDR r1,|L1.4248|
|
||
000d7e f8a10086 STRH r0,[r1,#0x86]
|
||
;;;564 blue_datas.Rev_data.CellhitData |= (1<<4);
|
||
000d82 4608 MOV r0,r1
|
||
000d84 f8b00086 LDRH r0,[r0,#0x86] ; blue_datas
|
||
000d88 e000 B |L1.3468|
|
||
|L1.3466|
|
||
000d8a e292 B |L1.4786|
|
||
|L1.3468|
|
||
000d8c f0400010 ORR r0,r0,#0x10
|
||
000d90 f8a10086 STRH r0,[r1,#0x86]
|
||
000d94 e00e B |L1.3508|
|
||
|L1.3478|
|
||
;;;565 }
|
||
;;;566 else
|
||
;;;567 {
|
||
;;;568 blue_datas.Rev_data.CellhitData &= ~(1<<1);
|
||
000d96 48c0 LDR r0,|L1.4248|
|
||
000d98 f8b00086 LDRH r0,[r0,#0x86] ; blue_datas
|
||
000d9c f0200002 BIC r0,r0,#2
|
||
000da0 49bd LDR r1,|L1.4248|
|
||
000da2 f8a10086 STRH r0,[r1,#0x86]
|
||
;;;569 blue_datas.Rev_data.CellhitData &= ~(1<<4);
|
||
000da6 4608 MOV r0,r1
|
||
000da8 f8b00086 LDRH r0,[r0,#0x86] ; blue_datas
|
||
000dac f0200010 BIC r0,r0,#0x10
|
||
000db0 f8a10086 STRH r0,[r1,#0x86]
|
||
|L1.3508|
|
||
;;;570 }
|
||
;;;571 if(data_309_A.RAM_WrieRev_309.Bstrtus1.bits.OV == 1)
|
||
000db4 48b3 LDR r0,|L1.4228|
|
||
000db6 7f80 LDRB r0,[r0,#0x1e]
|
||
000db8 f0000001 AND r0,r0,#1
|
||
000dbc b140 CBZ r0,|L1.3536|
|
||
;;;572 blue_datas.Rev_data.CellhitData |= (1<<10);
|
||
000dbe 48b6 LDR r0,|L1.4248|
|
||
000dc0 f8b00086 LDRH r0,[r0,#0x86] ; blue_datas
|
||
000dc4 f4406080 ORR r0,r0,#0x400
|
||
000dc8 49b3 LDR r1,|L1.4248|
|
||
000dca f8a10086 STRH r0,[r1,#0x86]
|
||
000dce e007 B |L1.3552|
|
||
|L1.3536|
|
||
;;;573 else
|
||
;;;574 blue_datas.Rev_data.CellhitData &= ~(1<<10);
|
||
000dd0 48b1 LDR r0,|L1.4248|
|
||
000dd2 f8b00086 LDRH r0,[r0,#0x86] ; blue_datas
|
||
000dd6 f4206080 BIC r0,r0,#0x400
|
||
000dda 49af LDR r1,|L1.4248|
|
||
000ddc f8a10086 STRH r0,[r1,#0x86]
|
||
|L1.3552|
|
||
;;;575 if(data_309_A.RAM_WrieRev_309.Bstrtus1.bits.UV == 1)
|
||
000de0 48a8 LDR r0,|L1.4228|
|
||
000de2 7f80 LDRB r0,[r0,#0x1e]
|
||
000de4 f3c00040 UBFX r0,r0,#1,#1
|
||
000de8 b140 CBZ r0,|L1.3580|
|
||
;;;576 blue_datas.Rev_data.CellhitData |= (1<<11);
|
||
000dea 48ab LDR r0,|L1.4248|
|
||
000dec f8b00086 LDRH r0,[r0,#0x86] ; blue_datas
|
||
000df0 f4406000 ORR r0,r0,#0x800
|
||
000df4 49a8 LDR r1,|L1.4248|
|
||
000df6 f8a10086 STRH r0,[r1,#0x86]
|
||
000dfa e007 B |L1.3596|
|
||
|L1.3580|
|
||
;;;577 else
|
||
;;;578 blue_datas.Rev_data.CellhitData &= ~(1<<11);
|
||
000dfc 48a6 LDR r0,|L1.4248|
|
||
000dfe f8b00086 LDRH r0,[r0,#0x86] ; blue_datas
|
||
000e02 f4206000 BIC r0,r0,#0x800
|
||
000e06 49a4 LDR r1,|L1.4248|
|
||
000e08 f8a10086 STRH r0,[r1,#0x86]
|
||
|L1.3596|
|
||
;;;579 if(data_309_A.RAM_WrieRev_309.Bstrtus1.bits.OCD1 == 1)
|
||
000e0c 489d LDR r0,|L1.4228|
|
||
000e0e 7f80 LDRB r0,[r0,#0x1e]
|
||
000e10 f3c00080 UBFX r0,r0,#2,#1
|
||
000e14 b140 CBZ r0,|L1.3624|
|
||
;;;580 blue_datas.Rev_data.CellhitData |= (1<<5);
|
||
000e16 48a0 LDR r0,|L1.4248|
|
||
000e18 f8b00086 LDRH r0,[r0,#0x86] ; blue_datas
|
||
000e1c f0400020 ORR r0,r0,#0x20
|
||
000e20 499d LDR r1,|L1.4248|
|
||
000e22 f8a10086 STRH r0,[r1,#0x86]
|
||
000e26 e007 B |L1.3640|
|
||
|L1.3624|
|
||
;;;581 else
|
||
;;;582 blue_datas.Rev_data.CellhitData &= ~(1<<5);
|
||
000e28 489b LDR r0,|L1.4248|
|
||
000e2a f8b00086 LDRH r0,[r0,#0x86] ; blue_datas
|
||
000e2e f0200020 BIC r0,r0,#0x20
|
||
000e32 4999 LDR r1,|L1.4248|
|
||
000e34 f8a10086 STRH r0,[r1,#0x86]
|
||
|L1.3640|
|
||
;;;583 if(data_309_A.RAM_WrieRev_309.Bstrtus1.bits.OCD2 == 1)
|
||
000e38 4892 LDR r0,|L1.4228|
|
||
000e3a 7f80 LDRB r0,[r0,#0x1e]
|
||
000e3c f3c000c0 UBFX r0,r0,#3,#1
|
||
000e40 b148 CBZ r0,|L1.3670|
|
||
;;;584 blue_datas.Rev_data.CellhitData |= (1<<6);
|
||
000e42 4895 LDR r0,|L1.4248|
|
||
000e44 f8b00086 LDRH r0,[r0,#0x86] ; blue_datas
|
||
000e48 f0400040 ORR r0,r0,#0x40
|
||
000e4c 4992 LDR r1,|L1.4248|
|
||
000e4e f8a10086 STRH r0,[r1,#0x86]
|
||
000e52 e008 B |L1.3686|
|
||
|L1.3668|
|
||
000e54 e22e B |L1.4788|
|
||
|L1.3670|
|
||
;;;585 else
|
||
;;;586 blue_datas.Rev_data.CellhitData &= ~(1<<6);
|
||
000e56 4890 LDR r0,|L1.4248|
|
||
000e58 f8b00086 LDRH r0,[r0,#0x86] ; blue_datas
|
||
000e5c f0200040 BIC r0,r0,#0x40
|
||
000e60 498d LDR r1,|L1.4248|
|
||
000e62 f8a10086 STRH r0,[r1,#0x86]
|
||
|L1.3686|
|
||
;;;587 if(data_309_A.RAM_WrieRev_309.Bstrtus2.bits.UTC == 1 || data_309_A.RAM_WrieRev_309.Bstrtus2.bits.UTD == 1)
|
||
000e66 4887 LDR r0,|L1.4228|
|
||
000e68 7fc0 LDRB r0,[r0,#0x1f]
|
||
000e6a f0000001 AND r0,r0,#1
|
||
000e6e b920 CBNZ r0,|L1.3706|
|
||
000e70 4884 LDR r0,|L1.4228|
|
||
000e72 7fc0 LDRB r0,[r0,#0x1f]
|
||
000e74 f3c00080 UBFX r0,r0,#2,#1
|
||
000e78 b140 CBZ r0,|L1.3724|
|
||
|L1.3706|
|
||
;;;588 blue_datas.Rev_data.CellhitData |= (1<<9);
|
||
000e7a 4887 LDR r0,|L1.4248|
|
||
000e7c f8b00086 LDRH r0,[r0,#0x86] ; blue_datas
|
||
000e80 f4407000 ORR r0,r0,#0x200
|
||
000e84 4984 LDR r1,|L1.4248|
|
||
000e86 f8a10086 STRH r0,[r1,#0x86]
|
||
000e8a e007 B |L1.3740|
|
||
|L1.3724|
|
||
;;;589 else
|
||
;;;590 blue_datas.Rev_data.CellhitData &= ~(1<<9);
|
||
000e8c 4882 LDR r0,|L1.4248|
|
||
000e8e f8b00086 LDRH r0,[r0,#0x86] ; blue_datas
|
||
000e92 f4207000 BIC r0,r0,#0x200
|
||
000e96 4980 LDR r1,|L1.4248|
|
||
000e98 f8a10086 STRH r0,[r1,#0x86]
|
||
|L1.3740|
|
||
;;;591
|
||
;;;592 if(data_309_A.RAM_WrieRev_309.Bstrtus3.bits.CHG_FET==1)
|
||
000e9c 4879 LDR r0,|L1.4228|
|
||
000e9e f8900020 LDRB r0,[r0,#0x20]
|
||
000ea2 f3c00040 UBFX r0,r0,#1,#1
|
||
000ea6 b140 CBZ r0,|L1.3770|
|
||
;;;593 blue_datas.Rev_data.CellStrtu |= (1<<0);
|
||
000ea8 487b LDR r0,|L1.4248|
|
||
000eaa f8b00088 LDRH r0,[r0,#0x88] ; blue_datas
|
||
000eae f0400001 ORR r0,r0,#1
|
||
000eb2 4979 LDR r1,|L1.4248|
|
||
000eb4 f8a10088 STRH r0,[r1,#0x88]
|
||
000eb8 e007 B |L1.3786|
|
||
|L1.3770|
|
||
;;;594 else
|
||
;;;595 blue_datas.Rev_data.CellStrtu &= ~(1<<0);
|
||
000eba 4877 LDR r0,|L1.4248|
|
||
000ebc f8b00088 LDRH r0,[r0,#0x88] ; blue_datas
|
||
000ec0 f0200001 BIC r0,r0,#1
|
||
000ec4 4974 LDR r1,|L1.4248|
|
||
000ec6 f8a10088 STRH r0,[r1,#0x88]
|
||
|L1.3786|
|
||
;;;596
|
||
;;;597 if(data_309_A.RAM_WrieRev_309.Bstrtus3.bits.DSG_FET==1)
|
||
000eca 486e LDR r0,|L1.4228|
|
||
000ecc f8900020 LDRB r0,[r0,#0x20]
|
||
000ed0 f0000001 AND r0,r0,#1
|
||
000ed4 b140 CBZ r0,|L1.3816|
|
||
;;;598 blue_datas.Rev_data.CellStrtu |= (1<<1);
|
||
000ed6 4870 LDR r0,|L1.4248|
|
||
000ed8 f8b00088 LDRH r0,[r0,#0x88] ; blue_datas
|
||
000edc f0400002 ORR r0,r0,#2
|
||
000ee0 496d LDR r1,|L1.4248|
|
||
000ee2 f8a10088 STRH r0,[r1,#0x88]
|
||
000ee6 e007 B |L1.3832|
|
||
|L1.3816|
|
||
;;;599 else
|
||
;;;600 blue_datas.Rev_data.CellStrtu &= ~(1<<1);
|
||
000ee8 486b LDR r0,|L1.4248|
|
||
000eea f8b00088 LDRH r0,[r0,#0x88] ; blue_datas
|
||
000eee f0200002 BIC r0,r0,#2
|
||
000ef2 4969 LDR r1,|L1.4248|
|
||
000ef4 f8a10088 STRH r0,[r1,#0x88]
|
||
|L1.3832|
|
||
;;;601
|
||
;;;602 if(data_309_A.RAM_WrieRev_309.Balanceh_l.datas != 0 || data_309_B.RAM_WrieRev_309.Balanceh_l.datas != 0)
|
||
000ef8 4862 LDR r0,|L1.4228|
|
||
000efa 8b80 LDRH r0,[r0,#0x1c]
|
||
000efc b910 CBNZ r0,|L1.3844|
|
||
000efe 4867 LDR r0,|L1.4252|
|
||
000f00 8b80 LDRH r0,[r0,#0x1c]
|
||
000f02 b140 CBZ r0,|L1.3862|
|
||
|L1.3844|
|
||
;;;603 blue_datas.Rev_data.CellStrtu |= (1<<2);
|
||
000f04 4864 LDR r0,|L1.4248|
|
||
000f06 f8b00088 LDRH r0,[r0,#0x88] ; blue_datas
|
||
000f0a f0400004 ORR r0,r0,#4
|
||
000f0e 4962 LDR r1,|L1.4248|
|
||
000f10 f8a10088 STRH r0,[r1,#0x88]
|
||
000f14 e007 B |L1.3878|
|
||
|L1.3862|
|
||
;;;604 else
|
||
;;;605 blue_datas.Rev_data.CellStrtu &= ~(1<<2);
|
||
000f16 4860 LDR r0,|L1.4248|
|
||
000f18 f8b00088 LDRH r0,[r0,#0x88] ; blue_datas
|
||
000f1c f0200004 BIC r0,r0,#4
|
||
000f20 495d LDR r1,|L1.4248|
|
||
000f22 f8a10088 STRH r0,[r1,#0x88]
|
||
|L1.3878|
|
||
;;;606
|
||
;;;607 blue_datas.Rev_data.CellStrtu |= 0x0008;
|
||
000f26 485c LDR r0,|L1.4248|
|
||
000f28 f8b00088 LDRH r0,[r0,#0x88] ; blue_datas
|
||
000f2c f0400008 ORR r0,r0,#8
|
||
000f30 4959 LDR r1,|L1.4248|
|
||
000f32 f8a10088 STRH r0,[r1,#0x88]
|
||
;;;608
|
||
;;;609 blue_datas.Rev_data.CellTime = 0;
|
||
000f36 2000 MOVS r0,#0
|
||
000f38 6008 STR r0,[r1,#0] ; blue_datas
|
||
;;;610 if(Out_curr == 0 && Chg_curr == 0)
|
||
000f3a f1bb0f00 CMP r11,#0
|
||
000f3e d103 BNE |L1.3912|
|
||
000f40 9808 LDR r0,[sp,#0x20]
|
||
000f42 b908 CBNZ r0,|L1.3912|
|
||
;;;611 blue_datas.Rev_data.sturt = 0;
|
||
000f44 2000 MOVS r0,#0
|
||
000f46 7108 STRB r0,[r1,#4]
|
||
|L1.3912|
|
||
;;;612 if(Out_curr>0) blue_datas.Rev_data.sturt = 3;
|
||
000f48 f1bb0f00 CMP r11,#0
|
||
000f4c dd02 BLE |L1.3924|
|
||
000f4e 2003 MOVS r0,#3
|
||
000f50 4951 LDR r1,|L1.4248|
|
||
000f52 7108 STRB r0,[r1,#4]
|
||
|L1.3924|
|
||
;;;613 if(Chg_curr>0) blue_datas.Rev_data.sturt = 2;
|
||
000f54 9808 LDR r0,[sp,#0x20]
|
||
000f56 2800 CMP r0,#0
|
||
000f58 dd02 BLE |L1.3936|
|
||
000f5a 2002 MOVS r0,#2
|
||
000f5c 494e LDR r1,|L1.4248|
|
||
000f5e 7108 STRB r0,[r1,#4]
|
||
|L1.3936|
|
||
;;;614
|
||
;;;615 memcpy(blue_datas.Rev_data.xinhao,broad_name,9);
|
||
000f60 484d LDR r0,|L1.4248|
|
||
000f62 1d40 ADDS r0,r0,#5
|
||
000f64 494e LDR r1,|L1.4256|
|
||
000f66 680a LDR r2,[r1,#0] ; broad_name
|
||
000f68 6002 STR r2,[r0,#0] ; blue_datas
|
||
000f6a 684a LDR r2,[r1,#4] ; broad_name
|
||
000f6c 6042 STR r2,[r0,#4] ; blue_datas
|
||
000f6e 7a09 LDRB r1,[r1,#8] ; broad_name
|
||
000f70 7201 STRB r1,[r0,#8]
|
||
;;;616 /////////////////////////////////////////////////////////////////////////////
|
||
;;;617 /*°æ±¾ºÅÐÅÏ¢*/
|
||
;;;618 sendbuffer[0] = REVCELLTIME;
|
||
000f72 2076 MOVS r0,#0x76
|
||
000f74 f88d0038 STRB r0,[sp,#0x38]
|
||
;;;619 sendbuffer[1] = blue_datas.Rev_data.CellTime >> 24;
|
||
000f78 4847 LDR r0,|L1.4248|
|
||
000f7a 6800 LDR r0,[r0,#0] ; blue_datas
|
||
000f7c 0e00 LSRS r0,r0,#24
|
||
000f7e f88d0039 STRB r0,[sp,#0x39]
|
||
;;;620 sendbuffer[2] = blue_datas.Rev_data.CellTime >> 16;
|
||
000f82 4845 LDR r0,|L1.4248|
|
||
000f84 6800 LDR r0,[r0,#0] ; blue_datas
|
||
000f86 0c00 LSRS r0,r0,#16
|
||
000f88 f88d003a STRB r0,[sp,#0x3a]
|
||
;;;621 sendbuffer[3] = blue_datas.Rev_data.CellTime >> 8;
|
||
000f8c 4842 LDR r0,|L1.4248|
|
||
000f8e 8800 LDRH r0,[r0,#0] ; blue_datas
|
||
000f90 0a00 LSRS r0,r0,#8
|
||
000f92 f88d003b STRB r0,[sp,#0x3b]
|
||
;;;622 sendbuffer[4] = blue_datas.Rev_data.CellTime;
|
||
000f96 4840 LDR r0,|L1.4248|
|
||
000f98 7800 LDRB r0,[r0,#0] ; blue_datas
|
||
000f9a f88d003c STRB r0,[sp,#0x3c]
|
||
;;;623
|
||
;;;624 sendbuffer[5] = REVSTRUCT;
|
||
000f9e 2077 MOVS r0,#0x77
|
||
000fa0 f88d003d STRB r0,[sp,#0x3d]
|
||
;;;625 sendbuffer[6] = blue_datas.Rev_data.sturt;
|
||
000fa4 483c LDR r0,|L1.4248|
|
||
000fa6 7900 LDRB r0,[r0,#4] ; blue_datas
|
||
000fa8 f88d003e STRB r0,[sp,#0x3e]
|
||
;;;626
|
||
;;;627 sendbuffer[7] = REVXINGHAO;
|
||
000fac 2078 MOVS r0,#0x78
|
||
000fae f88d003f STRB r0,[sp,#0x3f]
|
||
;;;628 memcpy(&sendbuffer[8],blue_datas.Rev_data.xinhao,9);
|
||
000fb2 4839 LDR r0,|L1.4248|
|
||
000fb4 1d40 ADDS r0,r0,#5
|
||
000fb6 6801 LDR r1,[r0,#0] ; blue_datas
|
||
000fb8 9110 STR r1,[sp,#0x40]
|
||
000fba 6841 LDR r1,[r0,#4] ; blue_datas
|
||
000fbc 9111 STR r1,[sp,#0x44]
|
||
000fbe 7a00 LDRB r0,[r0,#8] ; blue_datas
|
||
000fc0 f88d0048 STRB r0,[sp,#0x48]
|
||
;;;629
|
||
;;;630 temp = 17;
|
||
000fc4 2411 MOVS r4,#0x11
|
||
;;;631 sendbuffer[0+temp] = REVSINGCELLVOL;
|
||
000fc6 2079 MOVS r0,#0x79
|
||
000fc8 a90e ADD r1,sp,#0x38
|
||
000fca 5508 STRB r0,[r1,r4]
|
||
;;;632 sendbuffer[1+temp] = blue_datas.Rev_data.CellZnum * 3;
|
||
000fcc 4832 LDR r0,|L1.4248|
|
||
000fce f8900084 LDRB r0,[r0,#0x84] ; blue_datas
|
||
000fd2 eb000040 ADD r0,r0,r0,LSL #1
|
||
000fd6 b2c1 UXTB r1,r0
|
||
000fd8 1c60 ADDS r0,r4,#1
|
||
000fda aa0e ADD r2,sp,#0x38
|
||
000fdc 5411 STRB r1,[r2,r0]
|
||
;;;633
|
||
;;;634 for(i=0;i<blue_datas.Rev_data.CellZnum;i++)
|
||
000fde 2500 MOVS r5,#0
|
||
000fe0 e022 B |L1.4136|
|
||
|L1.4066|
|
||
;;;635 {
|
||
;;;636 sendbuffer[i*3+2+temp] = blue_datas.Rev_data.Singcellvol[i][0];
|
||
000fe2 eb050145 ADD r1,r5,r5,LSL #1
|
||
000fe6 482c LDR r0,|L1.4248|
|
||
000fe8 300e ADDS r0,r0,#0xe
|
||
000fea 5c41 LDRB r1,[r0,r1]
|
||
000fec eb050045 ADD r0,r5,r5,LSL #1
|
||
000ff0 1c80 ADDS r0,r0,#2
|
||
000ff2 4420 ADD r0,r0,r4
|
||
000ff4 aa0e ADD r2,sp,#0x38
|
||
000ff6 5411 STRB r1,[r2,r0]
|
||
;;;637 sendbuffer[i*3+3+temp] = blue_datas.Rev_data.Singcellvol[i][1];
|
||
000ff8 eb050145 ADD r1,r5,r5,LSL #1
|
||
000ffc 4826 LDR r0,|L1.4248|
|
||
000ffe 300e ADDS r0,r0,#0xe
|
||
001000 4408 ADD r0,r0,r1
|
||
001002 7841 LDRB r1,[r0,#1]
|
||
001004 eb050045 ADD r0,r5,r5,LSL #1
|
||
001008 1cc0 ADDS r0,r0,#3
|
||
00100a 4420 ADD r0,r0,r4
|
||
00100c 5411 STRB r1,[r2,r0]
|
||
;;;638 sendbuffer[i*3+4+temp] = blue_datas.Rev_data.Singcellvol[i][2];
|
||
00100e eb050145 ADD r1,r5,r5,LSL #1
|
||
001012 4821 LDR r0,|L1.4248|
|
||
001014 300e ADDS r0,r0,#0xe
|
||
001016 4408 ADD r0,r0,r1
|
||
001018 7881 LDRB r1,[r0,#2]
|
||
00101a eb050045 ADD r0,r5,r5,LSL #1
|
||
00101e 1d00 ADDS r0,r0,#4
|
||
001020 4420 ADD r0,r0,r4
|
||
001022 5411 STRB r1,[r2,r0]
|
||
001024 1c68 ADDS r0,r5,#1 ;634
|
||
001026 b2c5 UXTB r5,r0 ;634
|
||
|L1.4136|
|
||
001028 481b LDR r0,|L1.4248|
|
||
00102a f8b00084 LDRH r0,[r0,#0x84] ;634 ; blue_datas
|
||
00102e 42a8 CMP r0,r5 ;634
|
||
001030 dcd7 BGT |L1.4066|
|
||
;;;639 }
|
||
;;;640
|
||
;;;641 sendbuffer[sendbuffer[1+temp] + 2+temp] = REVPOWTMP;
|
||
001032 2180 MOVS r1,#0x80
|
||
001034 1c60 ADDS r0,r4,#1
|
||
001036 aa0e ADD r2,sp,#0x38
|
||
001038 5c10 LDRB r0,[r2,r0]
|
||
00103a 1c80 ADDS r0,r0,#2
|
||
00103c 4420 ADD r0,r0,r4
|
||
00103e 5411 STRB r1,[r2,r0]
|
||
;;;642 sendbuffer[sendbuffer[1+temp] + 3+temp] = blue_datas.Rev_data.MosTmp >> 8;
|
||
001040 4815 LDR r0,|L1.4248|
|
||
001042 f8b0006e LDRH r0,[r0,#0x6e] ; blue_datas
|
||
001046 1201 ASRS r1,r0,#8
|
||
001048 1c60 ADDS r0,r4,#1
|
||
00104a 5c10 LDRB r0,[r2,r0]
|
||
00104c 1cc0 ADDS r0,r0,#3
|
||
00104e 4420 ADD r0,r0,r4
|
||
001050 5411 STRB r1,[r2,r0]
|
||
;;;643 sendbuffer[sendbuffer[1+temp] + 4+temp] = blue_datas.Rev_data.MosTmp;
|
||
001052 4811 LDR r0,|L1.4248|
|
||
001054 f890106e LDRB r1,[r0,#0x6e] ; blue_datas
|
||
001058 1c60 ADDS r0,r4,#1
|
||
00105a 5c10 LDRB r0,[r2,r0]
|
||
00105c 1d00 ADDS r0,r0,#4
|
||
00105e 4420 ADD r0,r0,r4
|
||
001060 5411 STRB r1,[r2,r0]
|
||
;;;644
|
||
;;;645 sendbuffer[sendbuffer[1+temp] + 5+temp] = REVEQUALI;
|
||
001062 2181 MOVS r1,#0x81
|
||
001064 1c60 ADDS r0,r4,#1
|
||
001066 5c10 LDRB r0,[r2,r0]
|
||
001068 1d40 ADDS r0,r0,#5
|
||
00106a 4420 ADD r0,r0,r4
|
||
00106c 5411 STRB r1,[r2,r0]
|
||
;;;646 sendbuffer[sendbuffer[1+temp] + 6+temp] = blue_datas.Rev_data.QualiTmp >> 8;
|
||
00106e 480a LDR r0,|L1.4248|
|
||
001070 f8b00070 LDRH r0,[r0,#0x70] ; blue_datas
|
||
001074 1201 ASRS r1,r0,#8
|
||
001076 1c60 ADDS r0,r4,#1
|
||
001078 5c10 LDRB r0,[r2,r0]
|
||
00107a 1d80 ADDS r0,r0,#6
|
||
00107c 4420 ADD r0,r0,r4
|
||
00107e 5411 STRB r1,[r2,r0]
|
||
;;;647 sendbuffer[sendbuffer[1+temp] + 7+temp] = blue_datas.Rev_data.QualiTmp;
|
||
001080 4805 LDR r0,|L1.4248|
|
||
001082 e00f B |L1.4260|
|
||
|L1.4228|
|
||
DCD data_309_A
|
||
|L1.4232|
|
||
DCD 0x40690000
|
||
|L1.4236|
|
||
DCD 0xa1cac083
|
||
|L1.4240|
|
||
DCD 0x403ad645
|
||
|L1.4244|
|
||
DCD 0x40240000
|
||
|L1.4248|
|
||
DCD blue_datas
|
||
|L1.4252|
|
||
DCD data_309_B
|
||
|L1.4256|
|
||
DCD broad_name
|
||
|L1.4260|
|
||
0010a4 f8901070 LDRB r1,[r0,#0x70] ; blue_datas
|
||
0010a8 1c60 ADDS r0,r4,#1
|
||
0010aa 5c10 LDRB r0,[r2,r0]
|
||
0010ac 1dc0 ADDS r0,r0,#7
|
||
0010ae 4420 ADD r0,r0,r4
|
||
0010b0 5411 STRB r1,[r2,r0]
|
||
;;;648
|
||
;;;649 sendbuffer[sendbuffer[1+temp] + 8+temp] = REVCELLTMP;
|
||
0010b2 2182 MOVS r1,#0x82
|
||
0010b4 1c60 ADDS r0,r4,#1
|
||
0010b6 5c10 LDRB r0,[r2,r0]
|
||
0010b8 3008 ADDS r0,r0,#8
|
||
0010ba 4420 ADD r0,r0,r4
|
||
0010bc 5411 STRB r1,[r2,r0]
|
||
;;;650 sendbuffer[sendbuffer[1+temp] + 9+temp] = blue_datas.Rev_data.CellTmp >> 8;
|
||
0010be 4880 LDR r0,|L1.4800|
|
||
0010c0 f8b00072 LDRH r0,[r0,#0x72] ; blue_datas
|
||
0010c4 1201 ASRS r1,r0,#8
|
||
0010c6 1c60 ADDS r0,r4,#1
|
||
0010c8 5c10 LDRB r0,[r2,r0]
|
||
0010ca 3009 ADDS r0,r0,#9
|
||
0010cc 4420 ADD r0,r0,r4
|
||
0010ce 5411 STRB r1,[r2,r0]
|
||
;;;651 sendbuffer[sendbuffer[1+temp] + 10+temp] = blue_datas.Rev_data.CellTmp;
|
||
0010d0 487b LDR r0,|L1.4800|
|
||
0010d2 f8901072 LDRB r1,[r0,#0x72] ; blue_datas
|
||
0010d6 1c60 ADDS r0,r4,#1
|
||
0010d8 5c10 LDRB r0,[r2,r0]
|
||
0010da 300a ADDS r0,r0,#0xa
|
||
0010dc 4420 ADD r0,r0,r4
|
||
0010de 5411 STRB r1,[r2,r0]
|
||
;;;652
|
||
;;;653 sendbuffer[sendbuffer[1+temp] + 11+temp] = REVCELLZVOL;
|
||
0010e0 2183 MOVS r1,#0x83
|
||
0010e2 1c60 ADDS r0,r4,#1
|
||
0010e4 5c10 LDRB r0,[r2,r0]
|
||
0010e6 300b ADDS r0,r0,#0xb
|
||
0010e8 4420 ADD r0,r0,r4
|
||
0010ea 5411 STRB r1,[r2,r0]
|
||
;;;654 sendbuffer[sendbuffer[1+temp] + 12+temp] = blue_datas.Rev_data.CellZvol >> 8;
|
||
0010ec 4874 LDR r0,|L1.4800|
|
||
0010ee f8b00074 LDRH r0,[r0,#0x74] ; blue_datas
|
||
0010f2 1201 ASRS r1,r0,#8
|
||
0010f4 1c60 ADDS r0,r4,#1
|
||
0010f6 5c10 LDRB r0,[r2,r0]
|
||
0010f8 300c ADDS r0,r0,#0xc
|
||
0010fa 4420 ADD r0,r0,r4
|
||
0010fc 5411 STRB r1,[r2,r0]
|
||
;;;655 sendbuffer[sendbuffer[1+temp] + 13+temp] = blue_datas.Rev_data.CellZvol;
|
||
0010fe 4870 LDR r0,|L1.4800|
|
||
001100 f8901074 LDRB r1,[r0,#0x74] ; blue_datas
|
||
001104 1c60 ADDS r0,r4,#1
|
||
001106 5c10 LDRB r0,[r2,r0]
|
||
001108 300d ADDS r0,r0,#0xd
|
||
00110a 4420 ADD r0,r0,r4
|
||
00110c 5411 STRB r1,[r2,r0]
|
||
;;;656
|
||
;;;657 sendbuffer[sendbuffer[1+temp] + 14+temp] = REVCURR;
|
||
00110e 2184 MOVS r1,#0x84
|
||
001110 1c60 ADDS r0,r4,#1
|
||
001112 5c10 LDRB r0,[r2,r0]
|
||
001114 300e ADDS r0,r0,#0xe
|
||
001116 4420 ADD r0,r0,r4
|
||
001118 5411 STRB r1,[r2,r0]
|
||
;;;658 sendbuffer[sendbuffer[1+temp] + 15+temp] = blue_datas.Rev_data.Currdata >> 8;
|
||
00111a 4869 LDR r0,|L1.4800|
|
||
00111c f8b00076 LDRH r0,[r0,#0x76] ; blue_datas
|
||
001120 1201 ASRS r1,r0,#8
|
||
001122 1c60 ADDS r0,r4,#1
|
||
001124 5c10 LDRB r0,[r2,r0]
|
||
001126 300f ADDS r0,r0,#0xf
|
||
001128 4420 ADD r0,r0,r4
|
||
00112a 5411 STRB r1,[r2,r0]
|
||
;;;659 sendbuffer[sendbuffer[1+temp] + 16+temp] = blue_datas.Rev_data.Currdata;
|
||
00112c 4864 LDR r0,|L1.4800|
|
||
00112e f8901076 LDRB r1,[r0,#0x76] ; blue_datas
|
||
001132 1c60 ADDS r0,r4,#1
|
||
001134 5c10 LDRB r0,[r2,r0]
|
||
001136 3010 ADDS r0,r0,#0x10
|
||
001138 4420 ADD r0,r0,r4
|
||
00113a 5411 STRB r1,[r2,r0]
|
||
;;;660
|
||
;;;661 sendbuffer[sendbuffer[1+temp] + 17+temp] = REVSRL;
|
||
00113c 2185 MOVS r1,#0x85
|
||
00113e 1c60 ADDS r0,r4,#1
|
||
001140 5c10 LDRB r0,[r2,r0]
|
||
001142 3011 ADDS r0,r0,#0x11
|
||
001144 4420 ADD r0,r0,r4
|
||
001146 5411 STRB r1,[r2,r0]
|
||
;;;662 sendbuffer[sendbuffer[1+temp] + 18+temp] = blue_datas.Rev_data.Soc;
|
||
001148 485d LDR r0,|L1.4800|
|
||
00114a f8901078 LDRB r1,[r0,#0x78] ; blue_datas
|
||
00114e 1c60 ADDS r0,r4,#1
|
||
001150 5c10 LDRB r0,[r2,r0]
|
||
001152 3012 ADDS r0,r0,#0x12
|
||
001154 4420 ADD r0,r0,r4
|
||
001156 5411 STRB r1,[r2,r0]
|
||
;;;663
|
||
;;;664 sendbuffer[sendbuffer[1+temp] + 19+temp] = CELLTMPNUM;
|
||
001158 2186 MOVS r1,#0x86
|
||
00115a 1c60 ADDS r0,r4,#1
|
||
00115c 5c10 LDRB r0,[r2,r0]
|
||
00115e 3013 ADDS r0,r0,#0x13
|
||
001160 4420 ADD r0,r0,r4
|
||
001162 5411 STRB r1,[r2,r0]
|
||
;;;665 sendbuffer[sendbuffer[1+temp] + 20+temp] = blue_datas.Rev_data.CellTmpSors;
|
||
001164 4856 LDR r0,|L1.4800|
|
||
001166 f8901079 LDRB r1,[r0,#0x79] ; blue_datas
|
||
00116a 1c60 ADDS r0,r4,#1
|
||
00116c 5c10 LDRB r0,[r2,r0]
|
||
00116e 3014 ADDS r0,r0,#0x14
|
||
001170 4420 ADD r0,r0,r4
|
||
001172 5411 STRB r1,[r2,r0]
|
||
;;;666
|
||
;;;667 sendbuffer[sendbuffer[1+temp] + 21+temp] = CELLUSNUM;
|
||
001174 2187 MOVS r1,#0x87
|
||
001176 1c60 ADDS r0,r4,#1
|
||
001178 5c10 LDRB r0,[r2,r0]
|
||
00117a 3015 ADDS r0,r0,#0x15
|
||
00117c 4420 ADD r0,r0,r4
|
||
00117e 5411 STRB r1,[r2,r0]
|
||
;;;668 sendbuffer[sendbuffer[1+temp] + 22+temp] = blue_datas.Rev_data.Cellusnum >> 8;
|
||
001180 484f LDR r0,|L1.4800|
|
||
001182 f8b0007a LDRH r0,[r0,#0x7a] ; blue_datas
|
||
001186 1201 ASRS r1,r0,#8
|
||
001188 1c60 ADDS r0,r4,#1
|
||
00118a 5c10 LDRB r0,[r2,r0]
|
||
00118c 3016 ADDS r0,r0,#0x16
|
||
00118e 4420 ADD r0,r0,r4
|
||
001190 5411 STRB r1,[r2,r0]
|
||
;;;669 sendbuffer[sendbuffer[1+temp] + 23+temp] = blue_datas.Rev_data.Cellusnum;
|
||
001192 484b LDR r0,|L1.4800|
|
||
001194 f890107a LDRB r1,[r0,#0x7a] ; blue_datas
|
||
001198 1c60 ADDS r0,r4,#1
|
||
00119a 5c10 LDRB r0,[r2,r0]
|
||
00119c 3017 ADDS r0,r0,#0x17
|
||
00119e 4420 ADD r0,r0,r4
|
||
0011a0 5411 STRB r1,[r2,r0]
|
||
;;;670
|
||
;;;671 sendbuffer[sendbuffer[1+temp] + 24+temp] = CELLZRL;
|
||
0011a2 2189 MOVS r1,#0x89
|
||
0011a4 1c60 ADDS r0,r4,#1
|
||
0011a6 5c10 LDRB r0,[r2,r0]
|
||
0011a8 3018 ADDS r0,r0,#0x18
|
||
0011aa 4420 ADD r0,r0,r4
|
||
0011ac 5411 STRB r1,[r2,r0]
|
||
;;;672 sendbuffer[sendbuffer[1+temp] + 25+temp] = blue_datas.Rev_data.CellOutrl >> 24;
|
||
0011ae 4844 LDR r0,|L1.4800|
|
||
0011b0 f8d00080 LDR r0,[r0,#0x80] ; blue_datas
|
||
0011b4 0e01 LSRS r1,r0,#24
|
||
0011b6 1c60 ADDS r0,r4,#1
|
||
0011b8 5c10 LDRB r0,[r2,r0]
|
||
0011ba 3019 ADDS r0,r0,#0x19
|
||
0011bc 4420 ADD r0,r0,r4
|
||
0011be 5411 STRB r1,[r2,r0]
|
||
;;;673 sendbuffer[sendbuffer[1+temp] + 26+temp] = blue_datas.Rev_data.CellOutrl >> 16;
|
||
0011c0 483f LDR r0,|L1.4800|
|
||
0011c2 f8d00080 LDR r0,[r0,#0x80] ; blue_datas
|
||
0011c6 f3c04107 UBFX r1,r0,#16,#8
|
||
0011ca 1c60 ADDS r0,r4,#1
|
||
0011cc 5c10 LDRB r0,[r2,r0]
|
||
0011ce 301a ADDS r0,r0,#0x1a
|
||
0011d0 4420 ADD r0,r0,r4
|
||
0011d2 5411 STRB r1,[r2,r0]
|
||
;;;674 sendbuffer[sendbuffer[1+temp] + 27+temp] = blue_datas.Rev_data.CellOutrl >> 8;
|
||
0011d4 483a LDR r0,|L1.4800|
|
||
0011d6 f8b00080 LDRH r0,[r0,#0x80] ; blue_datas
|
||
0011da f3c02107 UBFX r1,r0,#8,#8
|
||
0011de 1c60 ADDS r0,r4,#1
|
||
0011e0 5c10 LDRB r0,[r2,r0]
|
||
0011e2 301b ADDS r0,r0,#0x1b
|
||
0011e4 4420 ADD r0,r0,r4
|
||
0011e6 5411 STRB r1,[r2,r0]
|
||
;;;675 sendbuffer[sendbuffer[1+temp] + 28+temp] = blue_datas.Rev_data.CellOutrl;
|
||
0011e8 4835 LDR r0,|L1.4800|
|
||
0011ea f8901080 LDRB r1,[r0,#0x80] ; blue_datas
|
||
0011ee 1c60 ADDS r0,r4,#1
|
||
0011f0 5c10 LDRB r0,[r2,r0]
|
||
0011f2 301c ADDS r0,r0,#0x1c
|
||
0011f4 4420 ADD r0,r0,r4
|
||
0011f6 5411 STRB r1,[r2,r0]
|
||
;;;676
|
||
;;;677 sendbuffer[sendbuffer[1+temp] + 29+temp] = CELLZCS;
|
||
0011f8 218a MOVS r1,#0x8a
|
||
0011fa 1c60 ADDS r0,r4,#1
|
||
0011fc 5c10 LDRB r0,[r2,r0]
|
||
0011fe 301d ADDS r0,r0,#0x1d
|
||
001200 4420 ADD r0,r0,r4
|
||
001202 5411 STRB r1,[r2,r0]
|
||
;;;678 sendbuffer[sendbuffer[1+temp] + 30+temp] = blue_datas.Rev_data.CellZnum >> 8;
|
||
001204 482e LDR r0,|L1.4800|
|
||
001206 f8b00084 LDRH r0,[r0,#0x84] ; blue_datas
|
||
00120a 1201 ASRS r1,r0,#8
|
||
00120c 1c60 ADDS r0,r4,#1
|
||
00120e 5c10 LDRB r0,[r2,r0]
|
||
001210 301e ADDS r0,r0,#0x1e
|
||
001212 4420 ADD r0,r0,r4
|
||
001214 5411 STRB r1,[r2,r0]
|
||
;;;679 sendbuffer[sendbuffer[1+temp] + 31+temp] = blue_datas.Rev_data.CellZnum;
|
||
001216 482a LDR r0,|L1.4800|
|
||
001218 f8901084 LDRB r1,[r0,#0x84] ; blue_datas
|
||
00121c 1c60 ADDS r0,r4,#1
|
||
00121e 5c10 LDRB r0,[r2,r0]
|
||
001220 301f ADDS r0,r0,#0x1f
|
||
001222 4420 ADD r0,r0,r4
|
||
001224 5411 STRB r1,[r2,r0]
|
||
;;;680
|
||
;;;681 sendbuffer[sendbuffer[1+temp] + 32+temp] = CELLHIT;
|
||
001226 218b MOVS r1,#0x8b
|
||
001228 1c60 ADDS r0,r4,#1
|
||
00122a 5c10 LDRB r0,[r2,r0]
|
||
00122c 3020 ADDS r0,r0,#0x20
|
||
00122e 4420 ADD r0,r0,r4
|
||
001230 5411 STRB r1,[r2,r0]
|
||
;;;682 sendbuffer[sendbuffer[1+temp] + 33+temp] = blue_datas.Rev_data.CellhitData >> 8;
|
||
001232 4823 LDR r0,|L1.4800|
|
||
001234 f8b00086 LDRH r0,[r0,#0x86] ; blue_datas
|
||
001238 1201 ASRS r1,r0,#8
|
||
00123a 1c60 ADDS r0,r4,#1
|
||
00123c 5c10 LDRB r0,[r2,r0]
|
||
00123e 3021 ADDS r0,r0,#0x21
|
||
001240 4420 ADD r0,r0,r4
|
||
001242 5411 STRB r1,[r2,r0]
|
||
;;;683 sendbuffer[sendbuffer[1+temp] + 34+temp] = blue_datas.Rev_data.CellhitData;
|
||
001244 481e LDR r0,|L1.4800|
|
||
001246 f8901086 LDRB r1,[r0,#0x86] ; blue_datas
|
||
00124a 1c60 ADDS r0,r4,#1
|
||
00124c 5c10 LDRB r0,[r2,r0]
|
||
00124e 3022 ADDS r0,r0,#0x22
|
||
001250 4420 ADD r0,r0,r4
|
||
001252 5411 STRB r1,[r2,r0]
|
||
;;;684
|
||
;;;685 sendbuffer[sendbuffer[1+temp] + 35+temp] = CELLSTURT;
|
||
001254 218c MOVS r1,#0x8c
|
||
001256 1c60 ADDS r0,r4,#1
|
||
001258 5c10 LDRB r0,[r2,r0]
|
||
00125a 3023 ADDS r0,r0,#0x23
|
||
00125c 4420 ADD r0,r0,r4
|
||
00125e 5411 STRB r1,[r2,r0]
|
||
;;;686 sendbuffer[sendbuffer[1+temp] + 36+temp] = blue_datas.Rev_data.CellStrtu >> 8;
|
||
001260 4817 LDR r0,|L1.4800|
|
||
001262 f8b00088 LDRH r0,[r0,#0x88] ; blue_datas
|
||
001266 1201 ASRS r1,r0,#8
|
||
001268 1c60 ADDS r0,r4,#1
|
||
00126a 5c10 LDRB r0,[r2,r0]
|
||
00126c 3024 ADDS r0,r0,#0x24
|
||
00126e 4420 ADD r0,r0,r4
|
||
001270 5411 STRB r1,[r2,r0]
|
||
;;;687 sendbuffer[sendbuffer[1+temp] + 37+temp] = blue_datas.Rev_data.CellStrtu;
|
||
001272 4813 LDR r0,|L1.4800|
|
||
001274 f8901088 LDRB r1,[r0,#0x88] ; blue_datas
|
||
001278 1c60 ADDS r0,r4,#1
|
||
00127a 5c10 LDRB r0,[r2,r0]
|
||
00127c 3025 ADDS r0,r0,#0x25
|
||
00127e 4420 ADD r0,r0,r4
|
||
001280 5411 STRB r1,[r2,r0]
|
||
;;;688
|
||
;;;689
|
||
;;;690
|
||
;;;691 send_len = sendbuffer[1+temp] + 38+temp;
|
||
001282 1c60 ADDS r0,r4,#1
|
||
001284 a90e ADD r1,sp,#0x38
|
||
001286 5c08 LDRB r0,[r1,r0]
|
||
001288 3026 ADDS r0,r0,#0x26
|
||
00128a 4420 ADD r0,r0,r4
|
||
00128c fa1ffa80 UXTH r10,r0
|
||
;;;692
|
||
;;;693 Send_TString_BMS(start_orde,22); //·¢Ë͸øMCU¿ªÊ¼¶Ô309¶Áд
|
||
001290 2116 MOVS r1,#0x16
|
||
001292 480c LDR r0,|L1.4804|
|
||
001294 f7fffffe BL Send_TString_BMS
|
||
;;;694 /*·¢ËÍÊý¾Ý*/
|
||
;;;695 BlueSend_GpsFun(Bms_num,orde,Type,sendbuffer,send_len,recnum);
|
||
001298 9859 LDR r0,[sp,#0x164]
|
||
00129a ab0e ADD r3,sp,#0x38
|
||
00129c e9cda000 STRD r10,r0,[sp,#0]
|
||
0012a0 9a5a LDR r2,[sp,#0x168]
|
||
0012a2 995b LDR r1,[sp,#0x16c]
|
||
0012a4 985d LDR r0,[sp,#0x174]
|
||
0012a6 f7fffffe BL BlueSend_GpsFun
|
||
;;;696 Beep_Flag = 1;
|
||
0012aa 2001 MOVS r0,#1
|
||
0012ac 4906 LDR r1,|L1.4808|
|
||
0012ae 7008 STRB r0,[r1,#0]
|
||
;;;697 }
|
||
0012b0 bf00 NOP
|
||
|L1.4786|
|
||
;;;698 }
|
||
0012b2 bf00 NOP
|
||
|L1.4788|
|
||
;;;699 break;
|
||
0012b4 e000 B |L1.4792|
|
||
|L1.4790|
|
||
;;;700 default:
|
||
;;;701 break;
|
||
0012b6 bf00 NOP
|
||
|L1.4792|
|
||
0012b8 bf00 NOP ;223
|
||
|L1.4794|
|
||
;;;702 }
|
||
;;;703 }
|
||
;;;704 }
|
||
;;;705 }
|
||
0012ba b05f ADD sp,sp,#0x17c
|
||
0012bc e8bd8ff0 POP {r4-r11,pc}
|
||
ENDP
|
||
|
||
|L1.4800|
|
||
DCD blue_datas
|
||
|L1.4804|
|
||
DCD start_orde
|
||
|L1.4808|
|
||
DCD Beep_Flag
|
||
|
||
AREA ||.bss||, DATA, NOINIT, ALIGN=2
|
||
|
||
Bluttooth_buf
|
||
% 360
|
||
blue_datas
|
||
% 140
|
||
|
||
AREA ||.data||, DATA, ALIGN=0
|
||
|
||
Pass_init
|
||
000000 41414242 DCB 0x41,0x41,0x42,0x42
|
||
000004 31323334 DCB 0x31,0x32,0x33,0x34
|
||
000008 353600 DCB 0x35,0x36,0x00
|
||
Pass_init_Lase
|
||
00000b 41 DCB 0x41
|
||
00000c 41424231 DCB 0x41,0x42,0x42,0x31
|
||
000010 32333435 DCB 0x32,0x33,0x34,0x35
|
||
000014 3600 DCB 0x36,0x00
|
||
Pass_CJ
|
||
000016 4141 DCB 0x41,0x41
|
||
000018 42423535 DCB 0x42,0x42,0x35,0x35
|
||
00001c 33333232 DCB 0x33,0x33,0x32,0x32
|
||
000020 00 DCB 0x00
|
||
Pass_bit
|
||
000021 00 DCB 0x00
|
||
BlueActivate
|
||
000022 01 DCB 0x01
|