Pārlūkot izejas kodu

MBIC 코드 최적화
- 불필요한 Printf 문 제거
- Data Recv 할 때 Crc Check 문 저건에 No Error 조건 추가
- MBIC Boot Loader 동작 시 CRC Printf 문 추가
- Flash Init 할 때 현재 Bank 의 Crc 추가
- Factory Set 기능 추가
- MBIC Type 추가
- 불필요한 함수 제거

PYJ 5 gadi atpakaļ
vecāks
revīzija
097641dde5

+ 3 - 0
Bluecell_Inc/Bluecell_operate.h

@@ -625,6 +625,9 @@ enum DATATYPE
625 625
     Bluecell_TimeSetting,
626 626
     Bluecell_Factory_Set,
627 627
     Bluecell_CarrierOnOff,
628
+    Bluecell_PCBVersionSet,
629
+    Bluecell_SerialNumberSet,
630
+    Bluecell_ManufactureDateSet,    
628 631
 };
629 632
 typedef enum{    
630 633
 	DLI_P1_Level_Table_Number = 0x00,

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 210 - 698
Bluecell_Src/Bluecell_operate.c


+ 26 - 23
Bluecell_Src/MBIC_Bootloader.c

@@ -250,6 +250,7 @@ void MBIC_Bootloader_FirmwareUpdate(uint8_t* data){
250 250
     switch(cmd){
251 251
         case MBIC_Notice_REQ:
252 252
             EraseInit = false;
253
+            CRCERR = false;
253 254
             Download_Option = 0;
254 255
             Curr_Download_DataIndex = 0;
255 256
             Prev_Download_DataIndex = 0;
@@ -266,7 +267,7 @@ void MBIC_Bootloader_FirmwareUpdate(uint8_t* data){
266 267
             data[MBIC_PAYLOADSTART + index++] = 1;
267 268
             Download_Option = data[MBIC_PAYLOADSTART + 4];
268 269
             /*DOWNLOAD DELAY REQUEST*/
269
-            data[MBIC_PAYLOADSTART + index++] = 10;
270
+            data[MBIC_PAYLOADSTART + index++] = 3;
270 271
             /*DOWNLOAD Reserve*/
271 272
             data[MBIC_PAYLOADSTART + index++] = 0;
272 273
             data[MBIC_PAYLOADSTART + index++] = 0;
@@ -374,8 +375,7 @@ void MBIC_Bootloader_FirmwareUpdate(uint8_t* data){
374 375
                                 | Bank1data[MBIC_BOOT_LENGTH + 1] << 16
375 376
                                 | Bank1data[MBIC_BOOT_LENGTH + 2] << 8
376 377
                                 | Bank1data[MBIC_BOOT_LENGTH + 3];
377
-                FirmFile_Length += 128;
378
-                Crcret = CRC16_Generate(&Bank1data[MBIC_BOOT_MARK], FirmFile_Length);
378
+                Crcret = CRC16_Generate(&Bank1data[MBIC_BOOT_MARK], FirmFile_Length + 128);
379 379
                 printf("Bank 1 CRC Calc\r\n");                
380 380
             }
381 381
             else {
@@ -383,15 +383,16 @@ void MBIC_Bootloader_FirmwareUpdate(uint8_t* data){
383 383
                                 | Bank2data[MBIC_BOOT_LENGTH + 1] << 16
384 384
                                 | Bank2data[MBIC_BOOT_LENGTH + 2] << 8
385 385
                                 | Bank2data[MBIC_BOOT_LENGTH + 3];   
386
-                FirmFile_Length += 128;
387
-                Crcret = CRC16_Generate(&Bank2data[MBIC_BOOT_MARK], FirmFile_Length);
386
+                Crcret = CRC16_Generate(&Bank2data[MBIC_BOOT_MARK], FirmFile_Length + 128);
388 387
                 printf("Bank 2 CRC Calc\r\n");
389 388
             }
390
-            RecvCrc = data[MBIC_PAYLOADSTART] << 8 | data[MBIC_PAYLOADSTART + 1];
391
-
392
-            printf("FirmFile_Length : %x \r\n",FirmFile_Length + 128);
393
-            printf("FILE CRC RET : %x \r\n",Crcret);
394
-        
389
+            RecvCrc = data[MBIC_PAYLOADSTART + 4] << 8 | data[MBIC_PAYLOADSTART + 5];
390
+            
391
+            printf("FirmFile_Length : %d Byte \r\n",((FirmFile_Length  * 1024) + 128));
392
+            printf("FILE CRC RET : %x  : Recv CRC : %x \r\n",Crcret,RecvCrc);
393
+            if(RecvCrc != Crcret){
394
+                CRCERR = true; // CRC ERR Occur 
395
+            }
395 396
             data[MBIC_PAYLOADSTART + index++] = ((Crcret & 0xFF00) >> 8);
396 397
             data[MBIC_PAYLOADSTART + index++] = ((Crcret & 0x00FF));
397 398
 #if 0 // PYJ.2020.06.29_BEGIN -- 
@@ -423,23 +424,23 @@ void MBIC_Bootloader_FirmwareUpdate(uint8_t* data){
423 424
 //              bluecell_Currdatastatus.CPUVERSION3 = Bank2data[MBIC_BOOT_VERSION + 2]; 
424 425
 //              printf("Bank2data[MBIC_BOOT_VERSION] : %d \r\n",Bank2data[MBIC_BOOT_VERSION + 2]);
425 426
 //          }   
426
-          bluecell_Currdatastatus.CPU_Bank1_Image_Version1 = Bank1data[MBIC_BOOT_VERSION];
427
-          bluecell_Currdatastatus.CPU_Bank1_Image_Version2 = Bank1data[MBIC_BOOT_VERSION + 1];
428
-          bluecell_Currdatastatus.CPU_Bank1_Image_Version3 = Bank1data[MBIC_BOOT_VERSION + 2];
427
+            bluecell_Currdatastatus.CPU_Bank1_Image_Version1 = Bank1data[MBIC_BOOT_VERSION];
428
+            bluecell_Currdatastatus.CPU_Bank1_Image_Version2 = Bank1data[MBIC_BOOT_VERSION + 1];
429
+            bluecell_Currdatastatus.CPU_Bank1_Image_Version3 = Bank1data[MBIC_BOOT_VERSION + 2];
429 430
 
430 431
             bluecell_Currdatastatus.CPU_Bank2_Image_Version1 = Bank2data[MBIC_BOOT_VERSION];
431 432
             bluecell_Currdatastatus.CPU_Bank2_Image_Version2 = Bank2data[MBIC_BOOT_VERSION + 1];
432 433
             bluecell_Currdatastatus.CPU_Bank2_Image_Version3 = Bank2data[MBIC_BOOT_VERSION + 2];
433
-            
434
-             bluecell_Currdatastatus.CPU_Bank1_Image_BuildTime1 = Bank1data[MBIC_BOOT_CREATION_TIME];
434
+
435
+            bluecell_Currdatastatus.CPU_Bank1_Image_BuildTime1 = Bank1data[MBIC_BOOT_CREATION_TIME];
435 436
             bluecell_Currdatastatus.CPU_Bank1_Image_BuildTime2 = Bank1data[MBIC_BOOT_CREATION_TIME + 1];
436 437
             bluecell_Currdatastatus.CPU_Bank1_Image_BuildTime3 = Bank1data[MBIC_BOOT_CREATION_TIME + 2];         
437 438
             bluecell_Currdatastatus.CPU_Bank1_Image_BuildTime4 = Bank1data[MBIC_BOOT_CREATION_TIME + 3];         
438 439
             bluecell_Currdatastatus.CPU_Bank1_Image_BuildTime5 = Bank1data[MBIC_BOOT_CREATION_TIME + 4];         
439 440
             bluecell_Currdatastatus.CPU_Bank1_Image_BuildTime6 = Bank1data[MBIC_BOOT_CREATION_TIME + 5];   
440 441
 
441
-            
442
-             bluecell_Currdatastatus.CPU_Bank2_Image_BuildTime1 = Bank2data[MBIC_BOOT_CREATION_TIME];
442
+
443
+            bluecell_Currdatastatus.CPU_Bank2_Image_BuildTime1 = Bank2data[MBIC_BOOT_CREATION_TIME];
443 444
             bluecell_Currdatastatus.CPU_Bank2_Image_BuildTime2 = Bank2data[MBIC_BOOT_CREATION_TIME + 1];
444 445
             bluecell_Currdatastatus.CPU_Bank2_Image_BuildTime3 = Bank2data[MBIC_BOOT_CREATION_TIME + 2];         
445 446
             bluecell_Currdatastatus.CPU_Bank2_Image_BuildTime4 = Bank2data[MBIC_BOOT_CREATION_TIME + 3];         
@@ -451,7 +452,7 @@ void MBIC_Bootloader_FirmwareUpdate(uint8_t* data){
451 452
                 tmpstr[i] = Bank1data[MBIC_BOOT_FILENAME + i];
452 453
                 else
453 454
                  tmpstr[i] = 0x20;
454
-                printf("%x",tmpstr[i]);
455
+//                printf("%x",tmpstr[i]);
455 456
             }  
456 457
             tmpstr = &bluecell_Currdatastatus.CPU_Bank2_Image_Name;
457 458
             for(int i = 0 ; i< 41; i++){
@@ -460,11 +461,11 @@ void MBIC_Bootloader_FirmwareUpdate(uint8_t* data){
460 461
                 else
461 462
                  tmpstr[i] = 0x20;
462 463
 
463
-                printf("%x",tmpstr[i]);
464
+//                printf("%x",tmpstr[i]);
464 465
             }               
465
-            printf("Curr Version : %02x.%02x.%02x \r\n",bluecell_Currdatastatus.CPUVERSION1,bluecell_Currdatastatus.CPUVERSION2,bluecell_Currdatastatus.CPUVERSION3);
466
-            printf("Bank1data Version : %02x.%02x.%02x \r\n", Bank1data[MBIC_BOOT_VERSION + 0], Bank1data[MBIC_BOOT_VERSION + 1], Bank1data[MBIC_BOOT_VERSION + 2]);
467
-            printf("Bank2data Version : %02x.%02x.%02x \r\n", Bank2data[MBIC_BOOT_VERSION + 0], Bank2data[MBIC_BOOT_VERSION + 1], Bank2data[MBIC_BOOT_VERSION + 2]);            
466
+//            printf("Curr Version : %02x.%02x.%02x \r\n",bluecell_Currdatastatus.CPUVERSION1,bluecell_Currdatastatus.CPUVERSION2,bluecell_Currdatastatus.CPUVERSION3);
467
+//            printf("Bank1data Version : %02x.%02x.%02x \r\n", Bank1data[MBIC_BOOT_VERSION + 0], Bank1data[MBIC_BOOT_VERSION + 1], Bank1data[MBIC_BOOT_VERSION + 2]);
468
+//            printf("Bank2data Version : %02x.%02x.%02x \r\n", Bank2data[MBIC_BOOT_VERSION + 0], Bank2data[MBIC_BOOT_VERSION + 1], Bank2data[MBIC_BOOT_VERSION + 2]);            
468 469
         
469 470
         break;
470 471
         case MBIC_Complete_Notice_REQ_REQ:
@@ -472,10 +473,12 @@ void MBIC_Bootloader_FirmwareUpdate(uint8_t* data){
472 473
             cmd = MBIC_Complete_Notice_RSP;
473 474
             if(CRCERR == false){
474 475
                 data[MBIC_PAYLOADSTART + index++] = 1;  
476
+                printf("Crc Success \r\n");
475 477
             }else{
476 478
                 data[MBIC_PAYLOADSTART + index++] = 0;  
479
+                printf("Crc Failed \r\n");                
477 480
             }
478
-                data[MBIC_PAYLOADSTART + index++] = 1;    
481
+            data[MBIC_PAYLOADSTART + index++] = 1;    
479 482
             
480 483
             bluecell_Currdatastatus.CPU_Bank2_Image_BuildTime1 = Bank2data[MBIC_BOOT_CREATION_TIME + 0];
481 484
             bluecell_Currdatastatus.CPU_Bank2_Image_BuildTime2 = Bank2data[MBIC_BOOT_CREATION_TIME + 1];

+ 3 - 3
Bluecell_Src/eeprom.c

@@ -122,9 +122,9 @@ void EEPROM_M24C08_Init(void){
122 122
 
123 123
     
124 124
     HAL_Delay(200);
125
-    printf("MBIC_ULO_ALC_Atten1_H  %x / MBIC_ULO_ALC_Atten1_L: %x \r\n",bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_H,bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_L);        
126
-    printf("ATT_UL1_H  %x / ATT_UL1_L: %x \r\n",bluecell_Currdatastatus.ATT_UL1_H,bluecell_Currdatastatus.ATT_UL1_L);    
127
-    printf("bluecell_User_UL1_H  %x / bluecell_User_UL1_L: %x \r\n",bluecell_Currdatastatus.bluecell_User_UL1_H,bluecell_Currdatastatus.bluecell_User_UL1_L);
125
+//    printf("MBIC_ULO_ALC_Atten1_H  %x / MBIC_ULO_ALC_Atten1_L: %x \r\n",bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_H,bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_L);        
126
+//    printf("ATT_UL1_H  %x / ATT_UL1_L: %x \r\n",bluecell_Currdatastatus.ATT_UL1_H,bluecell_Currdatastatus.ATT_UL1_L);    
127
+//    printf("bluecell_User_UL1_H  %x / bluecell_User_UL1_L: %x \r\n",bluecell_Currdatastatus.bluecell_User_UL1_H,bluecell_Currdatastatus.bluecell_User_UL1_L);
128 128
 
129 129
     printf("===========================================================================\r\n");
130 130
     printf("ATT TableDL 1_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Att_DL1.Table_Length,Att_DL1.Table_Ref);

+ 66 - 8
Bluecell_Src/flash.c

@@ -95,8 +95,11 @@ void Flash_InitRead() // ?占쏙옙湲고븿?占쏙옙
95 95
     bluecell_Currdatastatus.CPUVERSION1 = Currdata[MBIC_BOOT_VERSION + 0];
96 96
     bluecell_Currdatastatus.CPUVERSION2 = Currdata[MBIC_BOOT_VERSION + 1];
97 97
     bluecell_Currdatastatus.CPUVERSION3 = Currdata[MBIC_BOOT_VERSION + 2];
98
-    for(int i =0; i < 3; i++)
99
-        printf("Bank1data[MBIC_BOOT_VERSION] : %d \r\n",Bank1data[MBIC_BOOT_VERSION + i]);
98
+//    printf("Curr Version : ");
99
+//    for(int i =0; i < 3; i++){
100
+//        printf("%d.",Bank1data[MBIC_BOOT_VERSION + i]);
101
+//    }
102
+//    printf("\r\n");
100 103
     
101 104
     if(bluecell_Currdatastatus.CPUVERSION3  == Bank1data[MBIC_BOOT_VERSION + 2]){
102 105
         bluecell_Currdatastatus.CPU_Current_Bank = HFR_BANK1_SEL;
@@ -138,11 +141,11 @@ void Flash_InitRead() // ?占쏙옙湲고븿?占쏙옙
138 141
         }
139 142
 
140 143
 
141
-        printf("%c",pdata[i]);
144
+//        printf("%c",pdata[i]);
142 145
     }
143 146
     printf("\r\n");
144 147
 
145
-    printf("20%d Y / %d M / %d D / %d H / %d M / %d S  \r\n",
148
+    printf("Curr Bank  : 20%d Y / %d M / %d D / %d H / %d M / %d S  \r\n",
146 149
         Currdata[MBIC_BOOT_CREATION_TIME + 0],
147 150
         Currdata[MBIC_BOOT_CREATION_TIME + 1],
148 151
         Currdata[MBIC_BOOT_CREATION_TIME + 2],
@@ -150,6 +153,22 @@ void Flash_InitRead() // ?占쏙옙湲고븿?占쏙옙
150 153
         Currdata[MBIC_BOOT_CREATION_TIME + 4],
151 154
         Currdata[MBIC_BOOT_CREATION_TIME + 5]        
152 155
     );
156
+    printf("Bank1  : 20%d Y / %d M / %d D / %d H / %d M / %d S  \r\n",
157
+        Bank1data[MBIC_BOOT_CREATION_TIME + 0],
158
+        Bank1data[MBIC_BOOT_CREATION_TIME + 1],
159
+        Bank1data[MBIC_BOOT_CREATION_TIME + 2],
160
+        Bank1data[MBIC_BOOT_CREATION_TIME + 3],
161
+        Bank1data[MBIC_BOOT_CREATION_TIME + 4],
162
+        Bank1data[MBIC_BOOT_CREATION_TIME + 5]        
163
+    );
164
+    printf("Bank2  : 20%d Y / %d M / %d D / %d H / %d M / %d S  \r\n",
165
+        Bank2data[MBIC_BOOT_CREATION_TIME + 0],
166
+        Bank2data[MBIC_BOOT_CREATION_TIME + 1],
167
+        Bank2data[MBIC_BOOT_CREATION_TIME + 2],
168
+        Bank2data[MBIC_BOOT_CREATION_TIME + 3],
169
+        Bank2data[MBIC_BOOT_CREATION_TIME + 4],
170
+        Bank2data[MBIC_BOOT_CREATION_TIME + 5]        
171
+    );    
153 172
 
154 173
     printf("MBIC BANK %d Booting \r\n",bluecell_Currdatastatus.CPU_Current_Bank);    
155 174
 
@@ -181,9 +200,31 @@ void Flash_InitRead() // ?占쏙옙湲고븿?占쏙옙
181 200
     }
182 201
 #endif // PYJ.2019.03.27_END -- 
183 202
     uint32_t crcret = 0,FileCrc = 0;
203
+    uint32_t currcrcret = 0,currFileCrc = 0;
204
+    
184 205
     int32_t CrcLength = 0;
185 206
  
186 207
 
208
+    currFileCrc = 
209
+    ((Currdata[MBIC_BOOT_CRC] << 24 ) 
210
+    | Currdata[MBIC_BOOT_CRC + 1]<<16 
211
+    | Currdata[MBIC_BOOT_CRC + 2]<<8   
212
+    | Currdata[MBIC_BOOT_CRC + 3]);
213
+    CrcLength=
214
+    ((Currdata[MBIC_BOOT_LENGTH] << 24 ) 
215
+    | Currdata[MBIC_BOOT_LENGTH + 1]<<16 
216
+    | Currdata[MBIC_BOOT_LENGTH + 2]<<8   
217
+    | Currdata[MBIC_BOOT_LENGTH + 3]);       
218
+     if(CrcLength > 0 && CrcLength <= 0x1FFFF )
219
+        currcrcret = crc32(&Currdata[MBIC_BOOT_DATA], CrcLength);
220
+    printf("File CRC : %x CrcLength : %d \r\n",currFileCrc,CrcLength);
221
+    if(currcrcret != currFileCrc){
222
+        printf("CRC ERROR : %x , File CRC : %x \r\n",currcrcret,currFileCrc);
223
+    }
224
+    else{
225
+        printf("CRC SUCCESS  : %x , File CRC : %x \r\n",currcrcret,currFileCrc);  
226
+    }
227
+    
187 228
 
188 229
 
189 230
     
@@ -199,6 +240,7 @@ void Flash_InitRead() // ?占쏙옙湲고븿?占쏙옙
199 240
     | Bank1data[MBIC_BOOT_LENGTH + 3]);
200 241
     if(CrcLength > 0 && CrcLength <= 0x1FFFF )
201 242
         crcret = crc32(&Bank1data[MBIC_BOOT_DATA], CrcLength);
243
+        printf("File CRC : %x CrcLength : %d \r\n",FileCrc,CrcLength);
202 244
     if(crcret != FileCrc){
203 245
         bluecell_Currdatastatus.CPU_Bank1_Image_Version1 = 0xFF;
204 246
         bluecell_Currdatastatus.CPU_Bank1_Image_Version2 = 0xFF;
@@ -238,6 +280,10 @@ void Flash_InitRead() // ?占쏙옙湲고븿?占쏙옙
238 280
         printf("CRC ERROR : %x , File CRC : %x \r\n",crcret,FileCrc);
239 281
     }
240 282
     else{
283
+        if(currcrcret == crcret){
284
+            if(bluecell_Currdatastatus.CPU_Bank_Select == 5)
285
+                bluecell_Currdatastatus.CPU_Current_Bank = HFR_BANK1_SEL;
286
+        }
241 287
         printf("CRC SUCCESS  : %x , File CRC : %x \r\n",crcret,FileCrc);  
242 288
         bluecell_Currdatastatus.CPU_Bank1_Image_BuildTime1 = Bank1data[MBIC_BOOT_CREATION_TIME + 0];
243 289
         bluecell_Currdatastatus.CPU_Bank1_Image_BuildTime2 = Bank1data[MBIC_BOOT_CREATION_TIME + 1];
@@ -276,6 +322,7 @@ void Flash_InitRead() // ?占쏙옙湲고븿?占쏙옙
276 322
     | Bank2data[MBIC_BOOT_LENGTH + 3]);       
277 323
      if(CrcLength > 0 && CrcLength <= 0x1FFFF )
278 324
         crcret = crc32(&Bank2data[MBIC_BOOT_DATA], CrcLength);
325
+         printf("File CRC : %x CrcLength : %d \r\n",FileCrc,CrcLength);
279 326
     if(crcret != FileCrc){
280 327
    
281 328
    
@@ -309,6 +356,13 @@ void Flash_InitRead() // ?占쏙옙湲고븿?占쏙옙
309 356
         printf("CRC ERROR : %x , File CRC : %x \r\n",crcret,FileCrc);
310 357
     }
311 358
     else{
359
+        if(currcrcret == crcret){
360
+            if(bluecell_Currdatastatus.CPU_Bank_Select == 6)
361
+                bluecell_Currdatastatus.CPU_Current_Bank = HFR_BANK2_SEL;
362
+
363
+        }
364
+
365
+        
312 366
         printf("CRC SUCCESS  : %x , File CRC : %x \r\n",crcret,FileCrc);  
313 367
         bluecell_Currdatastatus.CPU_Bank2_Image_BuildTime1 = Bank2data[MBIC_BOOT_CREATION_TIME + 0];
314 368
         bluecell_Currdatastatus.CPU_Bank2_Image_BuildTime2 = Bank2data[MBIC_BOOT_CREATION_TIME + 1];
@@ -323,7 +377,7 @@ void Flash_InitRead() // ?占쏙옙湲고븿?占쏙옙
323 377
         pdata = & bluecell_Currdatastatus.CPU_Bank2_Image_Name;
324 378
         for(int i = 0 ; i< 41; i++){
325 379
             if(i < 32){
326
-                 pdata[i] = Currdata[MBIC_BOOT_FILENAME + i];
380
+                 pdata[i] = Bank2data[MBIC_BOOT_FILENAME + i];
327 381
             }
328 382
             else{
329 383
              pdata[i] = 0x20;
@@ -332,10 +386,14 @@ void Flash_InitRead() // ?占쏙옙湲고븿?占쏙옙
332 386
    
333 387
    
334 388
     }
389
+
390
+printf("Bank Sel : %d  CurrBank : %d \r\n",bluecell_Currdatastatus.CPU_Bank_Select,bluecell_Currdatastatus.CPU_Current_Bank);
391
+
392
+        
335 393
     
336
-           pdata = & bluecell_Currdatastatus.CPU_Bank2_Image_Version1;
337
-            for(int i = 0; i < 41; i++)
338
-                printf("pdata : %x ",pdata[i]);
394
+//           pdata = & bluecell_Currdatastatus.CPU_Bank2_Image_Version1;
395
+//            for(int i = 0; i < 41; i++)
396
+//                printf("pdata : %x ",pdata[i]);
339 397
 
340 398
 }
341 399
 

+ 3 - 3
Bluecell_Src/uart.c

@@ -110,8 +110,8 @@ void GetDataFromUartQueue(UART_HandleTypeDef *huart)
110 110
             if(uart_buf[0] == 0xbe){
111 111
                 Length = uart_buf[BLUECELL_LENGTH_H] << 8  |  uart_buf[BLUECELL_LENGTH_L] ;
112 112
                 CrcChk = uart_buf[Length + 1] << 8 | uart_buf[Length  + 2] ;
113
-         //       if(CRC16_Check(&uart_buf[BLUECELL_TYPE], Length,CrcChk))
114
-            	Bluecell_Operate(uart_buf);
113
+                if(CRC16_Check(&uart_buf[BLUECELL_TYPE], Length,CrcChk) == NO_ERROR)
114
+                  	Bluecell_Operate(uart_buf);
115 115
             }else if(uart_buf[0] == MBIC_PREAMBLE0
116 116
                    &&uart_buf[1] == MBIC_PREAMBLE1
117 117
                    &&uart_buf[2] == MBIC_PREAMBLE2
@@ -121,7 +121,7 @@ void GetDataFromUartQueue(UART_HandleTypeDef *huart)
121 121
                {
122 122
                     Length = ((uart_buf[MBIC_LENGTH_0] << 8) | uart_buf[MBIC_LENGTH_1]);
123 123
                     CrcChk = ((uart_buf[MBIC_PAYLOADSTART + Length ] << 8) | (uart_buf[MBIC_PAYLOADSTART + Length + 1]));
124
-                    if(CRC16_Check(&uart_buf[MBIC_PAYLOADSTART], Length,CrcChk))
124
+                    if(CRC16_Check(&uart_buf[MBIC_PAYLOADSTART], Length,CrcChk) == NO_ERROR)
125 125
                         MBIC_Operate(uart_buf);
126 126
                     else
127 127
                       printf("CRC ERROR \r\n");

+ 2 - 0
Src/main.c

@@ -281,6 +281,7 @@ int main(void)
281 281
         int32_t CrcLength = 0;
282 282
         
283 283
         
284
+#if 0 // PYJ.2020.07.13_BEGIN -- 
284 285
         
285 286
         CurrApiAddress = FLASH_MBICUSER_START_ADDR;
286 287
            Bank1Address = FLASH_USER_BANK1_START_ADDR;
@@ -317,6 +318,7 @@ int main(void)
317 318
         if(CrcLength > 0 && CrcLength <= 0x1FFFF )
318 319
          crcret = CRC16_Generate(Bank2data, CrcLength );
319 320
         printf("Bank 2 Crc ret : %x  Length : %x :  %d  \r\n", crcret,CrcLength,CrcLength );
321
+#endif // PYJ.2020.07.13_END -- 
320 322
 
321 323
   PE43711_PinInit();
322 324
   EEPROM_M24C08_Init();