|
@@ -30,6 +30,7 @@ int main()
|
|
FILE *fpVerify;
|
|
FILE *fpVerify;
|
|
uint8_t progressStr[10] = {0};
|
|
uint8_t progressStr[10] = {0};
|
|
uint8_t rate = 0;
|
|
uint8_t rate = 0;
|
|
|
|
+ int retry = 3;
|
|
|
|
|
|
buf = malloc(32*1024 + 50);
|
|
buf = malloc(32*1024 + 50);
|
|
// chkBuf = malloc(64*1024);
|
|
// chkBuf = malloc(64*1024);
|
|
@@ -48,24 +49,45 @@ int main()
|
|
printf("Image size: %d\n", totalSize);
|
|
printf("Image size: %d\n", totalSize);
|
|
|
|
|
|
//开始擦除
|
|
//开始擦除
|
|
- fpErase = fopen("/var/www/goahead/tmp/Erase.log", "w");
|
|
|
|
- if(NULL == fpErase)
|
|
|
|
|
|
+ retry = 3;
|
|
|
|
+ do
|
|
{
|
|
{
|
|
- printf("Create Erase.log file fail!\n");
|
|
|
|
- }
|
|
|
|
- fputs("Erasing", fpErase);
|
|
|
|
|
|
+ fpErase = fopen("/var/www/goahead/tmp/Erase.log", "w");
|
|
|
|
+ if(NULL == fpErase)
|
|
|
|
+ {
|
|
|
|
+ printf("Create Erase.log file fail! retry...\n");
|
|
|
|
+ retry--;
|
|
|
|
+ usleep(10);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ break;
|
|
|
|
+ }while(retry);
|
|
|
|
+
|
|
|
|
+ if(fpErase != NULL)
|
|
|
|
+ fputs("Erasing", fpErase);
|
|
|
|
+
|
|
fclose(fpErase);
|
|
fclose(fpErase);
|
|
|
|
|
|
printf("Chip erase ...\n");
|
|
printf("Chip erase ...\n");
|
|
sf_chip_erase(5);
|
|
sf_chip_erase(5);
|
|
printf("Chip erase finished!\n");
|
|
printf("Chip erase finished!\n");
|
|
|
|
|
|
- fpErase = fopen("/var/www/goahead/tmp/Erase.log", "w");
|
|
|
|
- if(NULL == fpErase)
|
|
|
|
- {
|
|
|
|
- printf("Create Erase.log file fail!\n");
|
|
|
|
- }
|
|
|
|
- fputs("Erase OK", fpErase);
|
|
|
|
|
|
+ retry = 3;
|
|
|
|
+ do{
|
|
|
|
+ fpErase = fopen("/var/www/goahead/tmp/Erase.log", "w");
|
|
|
|
+ if(NULL == fpErase)
|
|
|
|
+ {
|
|
|
|
+ printf("Create Erase.log file fail! retry...\n");
|
|
|
|
+ retry--;
|
|
|
|
+ usleep(10);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ break;
|
|
|
|
+ }while(retry);
|
|
|
|
+
|
|
|
|
+ if(fpErase != NULL)
|
|
|
|
+ fputs("Erase OK", fpErase);
|
|
|
|
+
|
|
fclose(fpErase);
|
|
fclose(fpErase);
|
|
|
|
|
|
|
|
|
|
@@ -77,7 +99,10 @@ int main()
|
|
printf("Create UpdateProgress.log file fail!\n");
|
|
printf("Create UpdateProgress.log file fail!\n");
|
|
//return -1;
|
|
//return -1;
|
|
}
|
|
}
|
|
- fputs("0", fprogress);
|
|
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ fputs("0", fprogress);
|
|
|
|
+ }
|
|
fclose(fprogress);
|
|
fclose(fprogress);
|
|
|
|
|
|
do{
|
|
do{
|
|
@@ -111,8 +136,11 @@ int main()
|
|
printf("Create UpdateProgress.log file fail!\n");
|
|
printf("Create UpdateProgress.log file fail!\n");
|
|
//return -1;
|
|
//return -1;
|
|
}
|
|
}
|
|
- sprintf(progressStr, "%d", rate);
|
|
|
|
- fputs(progressStr, fprogress);
|
|
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ sprintf(progressStr, "%d", rate);
|
|
|
|
+ fputs(progressStr, fprogress);
|
|
|
|
+ }
|
|
fclose(fprogress);
|
|
fclose(fprogress);
|
|
}while(writeSize < totalSize);
|
|
}while(writeSize < totalSize);
|
|
|
|
|
|
@@ -123,12 +151,22 @@ int main()
|
|
//Verify
|
|
//Verify
|
|
printf("Verigy successful.\n");
|
|
printf("Verigy successful.\n");
|
|
//用来保存校验结果
|
|
//用来保存校验结果
|
|
- fpVerify = fopen("/var/www/goahead/tmp/Verify.log", "w");
|
|
|
|
- if(NULL == fpVerify)
|
|
|
|
- {
|
|
|
|
- printf("Create UpdateProgress.log file fail!\n");
|
|
|
|
- }
|
|
|
|
- fputs("Verify OK", fpVerify);
|
|
|
|
|
|
+ retry = 3;
|
|
|
|
+ do{
|
|
|
|
+ fpVerify = fopen("/var/www/goahead/tmp/Verify.log", "w");
|
|
|
|
+ if(NULL == fpVerify)
|
|
|
|
+ {
|
|
|
|
+ printf("Create UpdateProgress.log file fail! retry...\n");
|
|
|
|
+ retry--;
|
|
|
|
+ usleep(10);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ break;
|
|
|
|
+ }while(retry);
|
|
|
|
+
|
|
|
|
+ if(fpVerify != NULL)
|
|
|
|
+ fputs("Verify OK", fpVerify);
|
|
|
|
+
|
|
fclose(fpVerify);
|
|
fclose(fpVerify);
|
|
|
|
|
|
fclose(fp);
|
|
fclose(fp);
|