瀏覽代碼

EEPROM_수정 구현중

PYJ 5 年之前
父節點
當前提交
243864226c

+ 10 - 112
Bluecell_Inc/Bluecell_operate.h

@@ -59,6 +59,7 @@ ETX
59 59
 
60 60
 #define MBIC_BANK1_NUM 1
61 61
 #define MBIC_BANK2_NUM 2
62
+#define HeaderSize 4 //Header 1 CRC 2 Tail 1
62 63
 
63 64
 typedef enum{
64 65
 	AllDataReq = 0,      // -> Response 80
@@ -142,6 +143,8 @@ typedef enum{
142 143
     ALC_Alarm_UL4_Index,            
143 144
     ALC_Alarm_UL_Index_MAX,            
144 145
 };
146
+#define DLUL_TABLE_MAX_VALUE  0
147
+
145 148
 typedef enum{
146 149
     AGC_Table_DL1_Ref_Index = 0,
147 150
     AGC_Table_DL2_Ref_Index,        
@@ -149,6 +152,7 @@ typedef enum{
149 152
     AGC_Table_DL4_Ref_Index,            
150 153
     AGC_Table_DL_Ref_Index_MAX,      
151 154
 };
155
+#define TABLE_REF_MAX_INDEX 70    
152 156
 typedef enum{
153 157
     ALC_Table_UL1_Ref_Index = 0,
154 158
     ALC_Table_UL2_Ref_Index,        
@@ -311,113 +315,7 @@ typedef enum{
311 315
     MBIC_Table_INDEX ,        
312 316
 }MBIC_ALC_TableIndex;
313 317
 
314
-//5~ - 25 
315
-typedef struct{
316
-    int8_t DET_DL_0;
317
-    int8_t DET_DL_1;
318
-    int8_t DET_DL_2;
319
-    int8_t DET_DL_3;
320
-    int8_t DET_DL_4;
321
-    int8_t DET_DL_5;
322
-    int8_t DET_DL_6;
323
-    int8_t DET_DL_7;
324
-    int8_t DET_DL_8;
325
-    int8_t DET_DL_9;
326
-    int8_t DET_DL_10;
327
-    int8_t DET_DL_11;
328
-    int8_t DET_DL_12;
329
-    int8_t DET_DL_13;
330
-    int8_t DET_DL_14;
331
-    int8_t DET_DL_15;
332
-    int8_t DET_DL_16;
333
-    int8_t DET_DL_17;
334
-    int8_t DET_DL_18;
335
-    int8_t DET_DL_19;
336
-    int8_t DET_DL_20;
337
-    int8_t DET_DL_21;
338
-    int8_t DET_DL_22;
339
-    int8_t DET_DL_23;
340
-    int8_t DET_DL_24;
341
-    int8_t DET_DL_25;
342
-    int8_t DET_DL_26;
343
-    int8_t DET_DL_27;
344
-    int8_t DET_DL_28;
345
-    int8_t DET_DL_29;
346
-    int8_t DET_DL_30;
347
-}AGC_dBm_t;
348
-typedef struct{
349
-    int8_t DET_UL_0;
350
-    int8_t DET_UL_1;
351
-    int8_t DET_UL_2;
352
-    int8_t DET_UL_3;
353
-    int8_t DET_UL_4;
354
-    int8_t DET_UL_5;
355
-    int8_t DET_UL_6;
356
-    int8_t DET_UL_7;
357
-    int8_t DET_UL_8;
358
-    int8_t DET_UL_9;
359
-    int8_t DET_UL_10;
360
-    int8_t DET_UL_11;
361
-    int8_t DET_UL_12;
362
-    int8_t DET_UL_13;
363
-    int8_t DET_UL_14;
364
-    int8_t DET_UL_15;
365
-    int8_t DET_UL_16;
366
-    int8_t DET_UL_17;
367
-    int8_t DET_UL_18;
368
-    int8_t DET_UL_19;
369
-    int8_t DET_UL_20;
370
-    int8_t DET_UL_21;
371
-    int8_t DET_UL_22;
372
-    int8_t DET_UL_23;
373
-    int8_t DET_UL_24;
374
-    int8_t DET_UL_25;
375
-    int8_t DET_UL_26;
376
-    int8_t DET_UL_27;
377
-    int8_t DET_UL_28;
378
-    int8_t DET_UL_29;
379
-    int8_t DET_UL_30;
380
-    int8_t DET_UL_31;
381
-    int8_t DET_UL_32;
382
-    int8_t DET_UL_33;
383
-    int8_t DET_UL_34;
384
-    int8_t DET_UL_35;
385
-    int8_t DET_UL_36;
386
-    int8_t DET_UL_37;
387
-    int8_t DET_UL_38;
388
-    int8_t DET_UL_39;
389
-    int8_t DET_UL_40;
390
-    int8_t DET_UL_41;
391
-    int8_t DET_UL_42;
392
-    int8_t DET_UL_43;
393
-    int8_t DET_UL_44;
394
-    int8_t DET_UL_45;
395
-    int8_t DET_UL_46;
396
-    int8_t DET_UL_47;
397
-    int8_t DET_UL_48;
398
-    int8_t DET_UL_49;
399
-    int8_t DET_UL_50;
400
-    int8_t DET_UL_51;
401
-    int8_t DET_UL_52;
402
-    int8_t DET_UL_53;
403
-    int8_t DET_UL_54;
404
-    int8_t DET_UL_55;
405
-    int8_t DET_UL_56;
406
-    int8_t DET_UL_57;
407
-    int8_t DET_UL_58;
408
-    int8_t DET_UL_59;
409
-    int8_t DET_UL_60;
410
-    int8_t DET_UL_61;
411
-    int8_t DET_UL_62;
412
-    int8_t DET_UL_63;
413
-    int8_t DET_UL_64;
414
-    int8_t DET_UL_65;
415
-    int8_t DET_UL_66;
416
-    int8_t DET_UL_67;
417
-    int8_t DET_UL_68;
418
-    int8_t DET_UL_69;
419
-
420
-}ALC_dBm_t;
318
+
421 319
 typedef enum{
422 320
 DLI_RF_Path1_ON_OFF = 0x30,
423 321
 DLI_RF_Path2_ON_OFF,
@@ -767,8 +665,8 @@ typedef enum{
767 665
 typedef struct{
768 666
     uint8_t bluecell_header;
769 667
     uint8_t bluecell_type;
770
-    uint8_t bluecell_length;
771
-    uint8_t bluecell_crcindex;
668
+    uint8_t bluecell_length_H;
669
+    uint8_t bluecell_length_L;
772 670
     uint8_t Selftest1;
773 671
     uint8_t Selftest2;
774 672
     uint8_t Selftest3;
@@ -1131,7 +1029,7 @@ typedef struct{
1131 1029
     uint8_t Table_xx_x_28_dBm;
1132 1030
     uint8_t Table_xx_x_29_dBm;
1133 1031
     uint8_t Table_xx_x_30_dBm;
1134
-    uint8_t Table_Ref;
1032
+    int8_t Table_Ref;
1135 1033
     uint8_t Table_Length;
1136 1034
 }ATT_TABLE_st;
1137 1035
 typedef struct{
@@ -1293,7 +1191,7 @@ typedef struct{
1293 1191
     uint8_t Table_Det_xx47_dBm_L	;
1294 1192
     uint8_t Table_Det_xx48_dBm_H	;
1295 1193
     uint8_t Table_Det_xx48_dBm_L	;
1296
-    uint8_t Table_Ref	;
1194
+    int8_t Table_Ref	;
1297 1195
     uint8_t Table_Length	;
1298 1196
 }DET_TABLEDL_st;
1299 1197
 typedef struct{
@@ -1455,7 +1353,7 @@ typedef struct{
1455 1353
       uint8_t Table_Det_XX32_dBm_L  ;
1456 1354
       uint8_t Table_Det_XX33_dBm_H  ;   
1457 1355
       uint8_t Table_Det_XX33_dBm_L  ;
1458
-      uint8_t Table_Ref  ;   
1356
+      int8_t Table_Ref  ;   
1459 1357
       uint8_t Table_Length  ;
1460 1358
 }DET_TABLEUL_st;
1461 1359
 

+ 1 - 1
Bluecell_Inc/eeprom.h

@@ -9,7 +9,7 @@
9 9
 #define EEPROM_H_
10 10
 
11 11
 
12
-#define EEPROM_M24C08_ID                  0xA0
12
+#define EEPROM_M24C32_ID                  0xA0
13 13
 #define EEPROM_Block0_ADDRESS             EEPROM_M24C08_ID
14 14
 #define EEPROM_ATT_BASE					  0x0000 + 96
15 15
 

+ 1 - 1
Bluecell_Inc/flash.h

@@ -32,7 +32,7 @@
32 32
 
33 33
 
34 34
 
35
-
35
+#define FLASH_USER_TABLE_START_ADDR ((uint32_t)0x0807F000‬)
36 36
 
37 37
 
38 38
 #define FirmwareUpdataAck  0x11

File diff suppressed because it is too large
+ 399 - 258
Bluecell_Src/Bluecell_operate.c


+ 9 - 3
Bluecell_Src/CRC.c

@@ -203,10 +203,16 @@ uint8_t Chksum_Create(uint8_t *data)
203 203
 etError CRC16_Check(uint8_t* buf_ptr, int len,uint16_t checksum)
204 204
 {
205 205
     uint16_t crc = 0;
206
+    etError ret = CHECKSUM_ERROR;
206 207
     for (uint32_t counter = 0; counter < len; counter++)
207 208
         crc = (uint16_t)((crc << 8) ^ crc16_tab[(uint32_t)(((crc >> 8) ^ buf_ptr[counter]) & 0x00FF)]);
208
-    printf("REAL CRC %x / IN CRC : %x \r\n",crc,checksum);
209
-    return (crc == checksum ? CHECKSUM_ERROR : NO_ERROR);
209
+
210
+    //ret = (crc == checksum ? CHECKSUM_ERROR : NO_ERROR);
211
+    if(crc == checksum){
212
+	ret = NO_ERROR;
213
+    }
214
+    printf("REAL CRC %x / IN CRC : %x len : %d   Ret : %d \r\n",crc,checksum,len,ret);
215
+    return ret;
210 216
 }
211 217
 
212 218
 
@@ -219,7 +225,7 @@ uint16_t CRC16_Generate(uint8_t* buf_ptr, int len)
219 225
 //      printf("%d CRC : %x  buf_ptr : %x Counter %d\r\n",a,crc,buf_ptr[counter],counter);
220 226
       a++;
221 227
     }
222
-    printf("len : %d \r\n",len);
228
+    printf("Generate REAL CRC %x len : %d \r\n",crc,len);
223 229
     return crc;
224 230
 }   
225 231
 

+ 124 - 62
Bluecell_Src/eeprom.c

@@ -14,6 +14,7 @@
14 14
 
15 15
 /* Includes ------------------------------------------------------------------*/   
16 16
 HAL_StatusTypeDef EEPROM_M24C08_ByteRead(uint16_t devid,uint16_t Address,uint8_t* data,uint8_t size);
17
+#define MAXEEPROM_LENG 32
17 18
 
18 19
 
19 20
 extern BLUESTATUS_st bluecell_Currdatastatus;
@@ -37,6 +38,63 @@ typedef enum{
37 38
     Test_UL3 = 0,
38 39
     Test_UL4 = 0,    
39 40
 };
41
+#define EEPROM_ADDRESS_M24C08_BLOCK0      0xA0
42
+#define EEPROM_ADDRESS_M24C08_BLOCK1      0xA2
43
+#define EEPROM_ADDRESS_M24C08_BLOCK2      0xA4
44
+#define EEPROM_ADDRESS_M24C08_BLOCK3      0xA6
45
+#define EEPROM_OK                       0
46
+#define EEPROM_FAIL                     1   
47
+#define EEPROM_TIMEOUT                  2   
48
+
49
+#define AGC_Table_Ref_INDEX 95
50
+#define ALC_Table_Ref_INDEX 159
51
+__IO uint16_t  EEPROMAddress = 0;
52
+__IO uint16_t  EEPROMPageSize = 0;
53
+#define EEPROM_MAX_TRIALS               300
54
+static HAL_StatusTypeDef I2Cx_IsDeviceReady(uint16_t DevAddress, uint32_t Trials)
55
+{ 
56
+  return (HAL_I2C_IsDeviceReady(&hi2c2, DevAddress, Trials, 3000));
57
+}
58
+HAL_StatusTypeDef EEPROM_I2C_IO_IsDeviceReady(uint16_t DevAddress, uint32_t Trials)
59
+{ 
60
+  return (I2Cx_IsDeviceReady(DevAddress, Trials));
61
+}
62
+
63
+static uint32_t EEPROM_I2C_Init(void)
64
+{
65
+
66
+  /*Select the EEPROM address for M24C32 or M24C64 and check if OK*/
67
+  EEPROMAddress = EEPROM_M24C32_ID;
68
+  EEPROMPageSize = MAXEEPROM_LENG;
69
+  if (EEPROM_I2C_IO_IsDeviceReady(EEPROMAddress, EEPROM_MAX_TRIALS) != HAL_OK) 
70
+  {
71
+    EEPROMPageSize = 16;
72
+    /*Select the EEPROM address for M24C08 (BLOCK0) and check if OK*/
73
+    EEPROMAddress = EEPROM_ADDRESS_M24C08_BLOCK0;
74
+    if (EEPROM_I2C_IO_IsDeviceReady(EEPROMAddress, EEPROM_MAX_TRIALS) != HAL_OK) 
75
+    {
76
+      /*Select the EEPROM address for M24C08 (BLOCK1) and check if OK*/
77
+      EEPROMAddress = EEPROM_ADDRESS_M24C08_BLOCK1;
78
+      if (EEPROM_I2C_IO_IsDeviceReady(EEPROMAddress, EEPROM_MAX_TRIALS) != HAL_OK) 
79
+      {
80
+        /*Select the EEPROM address for M24C08 (BLOCK2) and check if OK*/
81
+        EEPROMAddress = EEPROM_ADDRESS_M24C08_BLOCK2;
82
+        if (EEPROM_I2C_IO_IsDeviceReady(EEPROMAddress, EEPROM_MAX_TRIALS) != HAL_OK) 
83
+        {
84
+          /*Select the EEPROM address for M24C08 (BLOCK3) and check if OK*/
85
+          EEPROMAddress = EEPROM_ADDRESS_M24C08_BLOCK3;
86
+          if (EEPROM_I2C_IO_IsDeviceReady(EEPROMAddress, EEPROM_MAX_TRIALS) != HAL_OK) 
87
+          {
88
+            return EEPROM_FAIL;
89
+          }
90
+        }
91
+      }
92
+    }
93
+  }
94
+
95
+  return EEPROM_OK;
96
+}
97
+
40 98
 void EEPROM_M24C08_Init(void){
41 99
     uint8_t* data = 0;
42 100
     int16_t DL_Main_Atten[4] = {0,};
@@ -63,61 +121,59 @@ void EEPROM_M24C08_Init(void){
63 121
 
64 122
     int16_t DL_Shutdown_ThreadHold = 0;        
65 123
     int16_t UL_Shutdown_ThreadHold = 0; 
124
+    
66 125
 
67 126
 //    DL_High_ThreasHold = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten4_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten4_L;
68 127
 //    ALC_TEMP[0] = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_L;
69 128
 //    ALC_TEMP[1] = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten2_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten2_L;
70 129
 //    ALC_TEMP[2] = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten3_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten3_L;
71 130
 //    ALC_TEMP[3] = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten4_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten4_L;
72
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_WINDOW_STATUS_ADDRESDS,&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st) );
73
-
74
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
75
-
76
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_DL1_TABLE_ADDRESDS,&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
77
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_DL2_TABLE_ADDRESDS,&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
78
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_DL3_TABLE_ADDRESDS,&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
79
-
80
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_DL4_TABLE_ADDRESDS,&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
81
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_UL1_TABLE_ADDRESDS,&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
82
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_UL2_TABLE_ADDRESDS,&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
83
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_UL3_TABLE_ADDRESDS,&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
84
-
85
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_UL4_TABLE_ADDRESDS,&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
86
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_DL1_TABLE_ADDRESDS,&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
87
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_DL2_TABLE_ADDRESDS,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
88
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_DL3_TABLE_ADDRESDS,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
131
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_WINDOW_STATUS_ADDRESDS,&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st) );
132
+
133
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
134
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_DL1_TABLE_ADDRESDS,&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
135
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_DL2_TABLE_ADDRESDS,&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
136
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_DL3_TABLE_ADDRESDS,&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
137
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_DL4_TABLE_ADDRESDS,&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
138
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_UL1_TABLE_ADDRESDS,&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
139
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_UL2_TABLE_ADDRESDS,&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
140
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_UL3_TABLE_ADDRESDS,&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
141
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_UL4_TABLE_ADDRESDS,&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
142
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_DET_DL1_TABLE_ADDRESDS,&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
143
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_DET_DL2_TABLE_ADDRESDS,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
144
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_DET_DL3_TABLE_ADDRESDS,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
89 145
 
90 146
     uint8_t* tmpdata;
91
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_DL4_TABLE_ADDRESDS,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
147
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_DET_DL4_TABLE_ADDRESDS,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
92 148
     tmpdata = &Det_UL1.Table_Det_15_dBm_H;
93 149
 //    for(int i =0; i < sizeof(DET_TABLEUL_st) ; i++){
94 150
 //        printf("[%d]%f \r\n",i,(tmpdata[i * 2] << 8 | tmpdata[i*2+1])*0.001);
95 151
 //    }
96 152
 //    printf("");
97
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_UL1_TABLE_ADDRESDS,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
153
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_DET_UL1_TABLE_ADDRESDS,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
98 154
 //    data = &Det_UL2.Table_Det_15_dBm_H;
99 155
 //    for(int i = 0; i < sizeof(DET_TABLEUL_st) ; i ++ ){
100 156
 //        printf("[%d] %x \r\n",i,data[i]);       
101 157
 //    }    
102
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_UL2_TABLE_ADDRESDS,&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
158
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_DET_UL2_TABLE_ADDRESDS,&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
103 159
 //    data = &Det_UL3.Table_Det_15_dBm_H;
104 160
 //    for(int i = 0; i < sizeof(DET_TABLEUL_st) ; i ++ ){
105 161
 //        printf("[%d] %x \r\n",i,data[i]);       
106 162
 //    }    
107
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_UL3_TABLE_ADDRESDS,&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
108
-
163
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_DET_UL3_TABLE_ADDRESDS,&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
109 164
 
110
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_UL4_TABLE_ADDRESDS,&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
111
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_DL1_TABLE_ADDRESDS,&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
112
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_DL2_TABLE_ADDRESDS,&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
113
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_DL3_TABLE_ADDRESDS,&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
114 165
 
166
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_DET_UL4_TABLE_ADDRESDS,&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
167
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_TEMP_DL1_TABLE_ADDRESDS,&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
168
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_TEMP_DL2_TABLE_ADDRESDS,&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
169
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_TEMP_DL3_TABLE_ADDRESDS,&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
115 170
 
116
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_DL4_TABLE_ADDRESDS,&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
117
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
118
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
119
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
120 171
 
172
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_TEMP_DL4_TABLE_ADDRESDS,&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
173
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
174
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
175
+    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
176
+    Table_Init();
121 177
 #if 0 // PYJ.2020.06.28_BEGIN -- 
122 178
     DL_Main_Atten[Test_DL1] = (bluecell_Currdatastatus.ATT_DL1_H << 8) | bluecell_Currdatastatus.ATT_DL1_L;
123 179
     DL_Main_Atten[Test_DL2] = bluecell_Currdatastatus.ATT_DL2_H << 8 | bluecell_Currdatastatus.ATT_DL2_L;
@@ -184,7 +240,7 @@ void EEPROM_M24C08_Init(void){
184 240
 //    bluecell_Currdatastatus.CPUVERSION1 =  0;
185 241
 //    bluecell_Currdatastatus.CPUVERSION2 = 0;
186 242
 //    bluecell_Currdatastatus.CPUVERSION3 = 8;
187
-#if 1 // PYJ.2020.06.28_BEGIN -- 
243
+#if 0 // PYJ.2020.06.28_BEGIN -- 
188 244
 
189 245
     Att_DL1.Table_Ref = ATTENTABLEDL_REF;
190 246
     Att_DL2.Table_Ref = ATTENTABLEDL_REF;
@@ -210,38 +266,38 @@ void EEPROM_M24C08_Init(void){
210 266
     Temp_UL2.Table_Ref= ATTENTABLE_TEMP_REF;
211 267
     Temp_UL3.Table_Ref= ATTENTABLE_TEMP_REF;
212 268
     Temp_UL4.Table_Ref= ATTENTABLE_TEMP_REF;        
213
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
214
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL1_TABLE_ADDRESDS,&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
215
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL2_TABLE_ADDRESDS,&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
216
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL3_TABLE_ADDRESDS,&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
269
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
270
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_DL1_TABLE_ADDRESDS,&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
271
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_DL2_TABLE_ADDRESDS,&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
272
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_DL3_TABLE_ADDRESDS,&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
217 273
 
218
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL4_TABLE_ADDRESDS,&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
219
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL1_TABLE_ADDRESDS,&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
220
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL2_TABLE_ADDRESDS,&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
221
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL3_TABLE_ADDRESDS,&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
274
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_DL4_TABLE_ADDRESDS,&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
275
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_UL1_TABLE_ADDRESDS,&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
276
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_UL2_TABLE_ADDRESDS,&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
277
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_UL3_TABLE_ADDRESDS,&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
222 278
 
223
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL4_TABLE_ADDRESDS,&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
224
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL1_TABLE_ADDRESDS,&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
225
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL2_TABLE_ADDRESDS,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
226
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL3_TABLE_ADDRESDS,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
279
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_UL4_TABLE_ADDRESDS,&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
280
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_DET_DL1_TABLE_ADDRESDS,&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
281
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_DET_DL2_TABLE_ADDRESDS,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
282
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_DET_DL3_TABLE_ADDRESDS,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
227 283
 
228 284
 
229
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL4_TABLE_ADDRESDS,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
230
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL1_TABLE_ADDRESDS,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
231
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL2_TABLE_ADDRESDS,&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
232
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL3_TABLE_ADDRESDS,&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
285
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_DET_DL4_TABLE_ADDRESDS,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
286
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_DET_UL1_TABLE_ADDRESDS,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
287
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_DET_UL2_TABLE_ADDRESDS,&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
288
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_DET_UL3_TABLE_ADDRESDS,&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
233 289
 
234 290
 
235
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL4_TABLE_ADDRESDS,&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
236
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL1_TABLE_ADDRESDS,&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
237
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL2_TABLE_ADDRESDS,&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
238
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL3_TABLE_ADDRESDS,&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
291
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_DET_UL4_TABLE_ADDRESDS,&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
292
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_TEMP_DL1_TABLE_ADDRESDS,&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
293
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_TEMP_DL2_TABLE_ADDRESDS,&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
294
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_TEMP_DL3_TABLE_ADDRESDS,&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
239 295
 
240 296
 
241
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL4_TABLE_ADDRESDS,&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
242
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
243
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
244
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
297
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_TEMP_DL4_TABLE_ADDRESDS,&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
298
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
299
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
300
+      EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
245 301
 
246 302
 #endif // PYJ.2020.06.28_END -- 
247 303
 
@@ -276,13 +332,13 @@ void eepromtest(){
276 332
     memset(&eepdata[0],0x33,100);
277 333
     for(int i = 0; i < 100; i ++ ){
278 334
         printf("data[%d] : %x \r\n",i,eepdata[i]);
279
-        EEPROM_M24C08_Bytewrite(EEPROM_M24C08_ID,EEPROM_ATT_BASE + i,&eepdata[i],1);
335
+        EEPROM_M24C08_Bytewrite(EEPROM_M24C32_ID,EEPROM_ATT_BASE + i,&eepdata[i],1);
280 336
     }  
281 337
     for(int i = 0; i < 100; i ++ ){
282
-        EEPROM_M24C08_ByteRead(EEPROM_M24C08_ID,EEPROM_ATT_BASE + i,&eepdata[i],1);
338
+        EEPROM_M24C08_ByteRead(EEPROM_M24C32_ID,EEPROM_ATT_BASE + i,&eepdata[i],1);
283 339
         printf("data[%d] : %x \r\n",i,eepdata[i]);
284 340
     }  
285
-//    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_BASE,&eepdata[0],100);
341
+//    EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_BASE,&eepdata[0],100);
286 342
 //    for(int i = 0; i < 100; i ++ ){
287 343
 //        printf("data[%d] : %x \r\n",i,eepdata[i]);
288 344
 //    }    
@@ -290,12 +346,13 @@ void eepromtest(){
290 346
 }
291 347
 #endif // PYJ.2020.04.23_END -- 
292 348
 
293
-#define MAXEEPROM_LENG 32
349
+
294 350
 
295 351
 HAL_StatusTypeDef EEPROM_M24C08_Read(uint8_t devid,uint16_t Address,uint8_t* data,uint16_t size){
296 352
    HAL_StatusTypeDef ret = HAL_ERROR;
297 353
    uint8_t sizecnt = 0,sizeremain = 0; 
298 354
    uint16_t addrees_inc = 0;
355
+
299 356
    sizecnt = size /MAXEEPROM_LENG;
300 357
    sizeremain = size % MAXEEPROM_LENG;
301 358
    addrees_inc = 0;
@@ -305,6 +362,7 @@ HAL_StatusTypeDef EEPROM_M24C08_Read(uint8_t devid,uint16_t Address,uint8_t* dat
305 362
   // uint16_t addrees_inc = 0;
306 363
 //   ret = HAL_I2C_Mem_Read(&hi2c2, devid | ((Address & 0x0300) >> 7),((Address )),  I2C_MEMADD_SIZE_8BIT, &data[0], size, 1024);
307 364
 
365
+   EEPROM_I2C_Init();
308 366
 
309 367
 #if 1 // PYJ.2020.06.28_BEGIN -- 
310 368
    ret = HAL_I2C_Mem_Read(&hi2c2, devid ,((Address )),  I2C_MEMADD_SIZE_16BIT, &data[0], size, 0xFFFF);
@@ -329,7 +387,7 @@ HAL_StatusTypeDef EEPROM_M24C08_Read(uint8_t devid,uint16_t Address,uint8_t* dat
329 387
 #endif // PYJ.2020.06.28_END -- 
330 388
 
331 389
 
332
-//    HAL_Delay(20);
390
+    HAL_Delay(20);
333 391
 
334 392
     return ret;   
335 393
 }
@@ -340,6 +398,7 @@ HAL_StatusTypeDef EEPROM_M24C08_write(uint8_t devid,uint16_t Address,uint8_t* da
340 398
     sizecnt = size /MAXEEPROM_LENG;
341 399
     sizeremain = size % MAXEEPROM_LENG;
342 400
     addrees_inc = 0;
401
+    EEPROM_I2C_Init();    
343 402
 #if 0 // PYJ.2020.04.25_BEGIN -- 
344 403
        for(int i = 0 ; i <sizecnt; i++ ){
345 404
             addrees_inc = i * 16;
@@ -361,12 +420,15 @@ HAL_StatusTypeDef EEPROM_M24C08_write(uint8_t devid,uint16_t Address,uint8_t* da
361 420
     if(sizecnt > 0){
362 421
         for(int i = 0 ; i < sizecnt; i++ ){
363 422
              addrees_inc = i * MAXEEPROM_LENG;
364
-             ret = HAL_I2C_Mem_Write(&hi2c2, devid  ,((Address + addrees_inc) & 0xFFFF) ,  I2C_MEMADD_SIZE_16BIT, &data[addrees_inc], MAXEEPROM_LENG, 1024);
423
+
424
+
425
+            EEPROM_I2C_Init();
426
+             ret = HAL_I2C_Mem_Write(&hi2c2, devid  ,((Address + addrees_inc) & 0xFFFF) ,  I2C_MEMADD_SIZE_16BIT, &data[addrees_inc], MAXEEPROM_LENG, 0xFFFF);
427
+             HAL_Delay(20);
365 428
 
366 429
              if(ret == HAL_ERROR)
367 430
                  printf("Write ERR\r\n");
368 431
              
369
-             HAL_Delay(20);
370 432
         }
371 433
         addrees_inc += MAXEEPROM_LENG;
372 434
     }

+ 2 - 1
Bluecell_Src/flash.c

@@ -4,6 +4,7 @@
4 4
  *  Created on: 2019. 7. 15.
5 5
  *      Author: parkyj
6 6
  */
7
+#include <stdio.h>
7 8
 #include "flash.h"
8 9
 #include "MBIC_Bootloader.h"
9 10
 #include "bluecell_operate.h"
@@ -591,7 +592,7 @@ void MBIC_DataErase_Func(uint8_t bank_num){
591 592
 
592 593
     if(EraseInit == false){
593 594
           Bluecell_StructCpy(&DownloadPrevdata[0],&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st));
594
-          EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_WINDOW_STATUS_ADDRESDS),&DownloadPrevdata[0],sizeof(BLUESTATUS_st));        
595
+          EEPROM_M24C08_write(EEPROM_M24C32_ID ,(EEPROM_WINDOW_STATUS_ADDRESDS),&DownloadPrevdata[0],sizeof(BLUESTATUS_st));        
595 596
         HAL_FLASH_Unlock();
596 597
 #if 0 // PYJ.2020.06.24_BEGIN -- 
597 598
         EraseInitStruct.TypeErase   = FLASH_TYPEERASE_PAGES;

+ 8 - 8
Bluecell_Src/uart.c

@@ -56,7 +56,7 @@ void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
56 56
     if (pQueue->data >= QUEUE_BUFFER_LENGTH)
57 57
         GetDataFromUartQueue(huart);
58 58
     HAL_UART_Receive_DMA(&hTerminal, pQueue->Buffer + pQueue->head, 1);
59
-    HAL_UART_Receive_DMA(&hTest, pQueue->Buffer + pQueue->head, 1);
59
+    //HAL_UART_Receive_DMA(&hTest, pQueue->Buffer + pQueue->head, 1);
60 60
    // Set_UartRcv(true);
61 61
 }
62 62
 
@@ -73,7 +73,7 @@ void PutDataToUartQueue(UART_HandleTypeDef *huart, uint8_t data)
73 73
    // HAL_UART_Receive_DMA(&hTerminal,  pQueue->Buffer + pQueue->head, 10);
74 74
 }
75 75
 
76
-volatile uint8_t uart_buf[QUEUE_BUFFER_LENGTH];
76
+uint8_t uart_buf[QUEUE_BUFFER_LENGTH];
77 77
 void GetDataFromUartQueue(UART_HandleTypeDef *huart)
78 78
 {
79 79
     volatile static int cnt;
@@ -100,7 +100,7 @@ void GetDataFromUartQueue(UART_HandleTypeDef *huart)
100 100
 //        printf("data cnt zero !!!  \r\n");
101 101
         //RF_Ctrl_Main(&uart_buf[Header]);
102 102
 //        HAL_UART_Transmit(dst, &temp_buf[BLUECELL_HEADER00], 11, 3000);
103
-#if 0// PYJ.2019.07.15_BEGIN --
103
+#if MBIC_DEBUG_DEFINE// PYJ.2019.07.15_BEGIN --
104 104
             printf("\r\n[RX]");
105 105
             for(int i = 0; i < cnt; i++){
106 106
                 printf("%02x ",uart_buf[i]);
@@ -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
@@ -120,8 +120,8 @@ void GetDataFromUartQueue(UART_HandleTypeDef *huart)
120 120
                if(Chksum_Check(uart_buf,MBIC_HEADER_SIZE - 4,uart_buf[MBIC_CHECKSHUM_INDEX]))
121 121
                {
122 122
                     Length = ((uart_buf[MBIC_LENGTH_0] << 8) | uart_buf[MBIC_LENGTH_1]);
123
-                    CrcChk = ((uart_buf[MBIC_PAYLOADSTART + Length + 1] << 8) | (uart_buf[MBIC_PAYLOADSTART + Length + 2]));
124
-                    if(CRC16_Check(&uart_buf[MBIC_PAYLOADSTART], Length,CrcChk))
123
+                    CrcChk = ((uart_buf[MBIC_PAYLOADSTART + Length] << 8) | (uart_buf[MBIC_PAYLOADSTART + Length + 1]));
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");
@@ -156,6 +156,7 @@ void Uart1_Data_Send(uint8_t* data,uint16_t size){
156 156
 //    printf("\r\n [TX] : ");
157 157
 //    for(int i = 0; i< size; i++)
158 158
 //        printf("%02x ",data[i]);
159
+//printf("\r\n");
159 160
 //    printf("};\r\n\tCOUNT : %d \r\n",size);
160 161
 //    printf("\r\n");
161 162
 //    printf("\r\n [TX] : {");
@@ -164,7 +165,6 @@ void Uart1_Data_Send(uint8_t* data,uint16_t size){
164 165
 //        data[i] = 0;
165 166
 //    }
166 167
 //    printf("};\r\n\tCOUNT : %d \r\n",size);
167
-//    printf("\r\n");
168 168
     
169 169
 }
170 170
 

+ 1 - 1
Inc/main.h

@@ -193,7 +193,7 @@ extern I2C_HandleTypeDef hi2c2;
193 193
 #define ADC_AVERAGECNT 100
194 194
 #define ADC1_CNT 4
195 195
 #define ADC3_CNT 5
196
-
196
+#define MBIC_DEBUG_DEFINE 0
197 197
 /* USER CODE END Private defines */
198 198
 
199 199
 #ifdef __cplusplus

+ 1 - 1
STM32F103ZET_JDASMBIC.elf.launch

@@ -57,5 +57,5 @@
57 57
 </listAttribute>
58 58
 <stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;reserved-for-future-use&quot;/&gt;&#13;&#10;"/>
59 59
 <stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
60
-<stringAttribute key="saved_expressions&lt;seperator&gt;Unknown" value="uart_buf,0x08005000,0x8005000,Bank2data,data,Currdata,Currdata[MBIC_BOOT_VERSION + 2],Bank1data"/>
60
+<stringAttribute key="saved_expressions&lt;seperator&gt;Unknown" value="uart_buf,0x08005000,0x8005000,Bank2data,data,Currdata,Currdata[MBIC_BOOT_VERSION + 2],Bank1data,src,Att_DL1,Att_DL1.Table_0_0_dBm,0x2000FC64,Bluecell_TableSave"/>
61 61
 </launchConfiguration>

+ 15 - 12
Src/main.c

@@ -239,6 +239,7 @@ extern const uint16_t crc16_tab[256];
239 239
 
240 240
 main(void)  {
241 241
   /* USER CODE BEGIN 1 */
242
+  uint16_t crcret = 0;
242 243
 
243 244
   /* USER CODE END 1 */
244 245
 
@@ -280,21 +281,22 @@ main(void)  {
280 281
 
281 282
 
282 283
 
283
-  setbuf(stdout, NULL);
284
-   uint32_t  CurrApiAddress = 0,Bank1Address=0,Bank2Address = 0;
285
-        int32_t CrcLength = 0;
284
+    setbuf(stdout, NULL);
285
+    uint32_t  CurrApiAddress = 0,Bank1Address=0,Bank2Address = 0;
286
+    int32_t CrcLength = 0;
286 287
         
287 288
         
289
+#if 1 // PYJ.2020.06.30_BEGIN -- 
288 290
         
289
-        CurrApiAddress = FLASH_MBICUSER_START_ADDR;
290
-           Bank1Address = FLASH_USER_BANK1_START_ADDR;
291
-           Bank2Address = FLASH_USER_BANK2_START_ADDR;
292
-        
293
-           uint8_t* Currdata = (uint8_t*)CurrApiAddress;
294
-           uint8_t* Bank1data = (uint8_t*)Bank1Address;
295
-           uint8_t* Bank2data = (uint8_t*)Bank2Address;
296
-        
297
-        uint16_t crcret = 0;
291
+    CurrApiAddress = FLASH_MBICUSER_START_ADDR;
292
+    Bank1Address = FLASH_USER_BANK1_START_ADDR;
293
+    Bank2Address = FLASH_USER_BANK2_START_ADDR;
294
+
295
+    uint8_t* Currdata = (uint8_t*)CurrApiAddress;
296
+    uint8_t* Bank1data = (uint8_t*)Bank1Address;
297
+    uint8_t* Bank2data = (uint8_t*)Bank2Address;
298
+
299
+   
298 300
         
299 301
         CrcLength=
300 302
         ((Bank1data[MBIC_BOOT_LENGTH] << 24 ) 
@@ -318,6 +320,7 @@ main(void)  {
318 320
         CrcLength += 128;
319 321
          crcret = CRC16_Generate(Bank2data, CrcLength );
320 322
         printf("Bank 2 Crc ret : %x  Length : %x :  %d  \r\n", crcret,CrcLength,CrcLength );
323
+#endif // PYJ.2020.06.30_END -- 
321 324
 
322 325
   PE43711_PinInit();
323 326
   EEPROM_M24C08_Init();