|
@@ -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
|
|