📄 recoverparam.c
字号:
#include<stdio.h>#include<stdlib.h>//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////HEAD:filename(32bytes)+filelength(4bytes)+filecontents(filelength)///////////////////////////////////////////////////////////////////////////int recover_file_from_flash(unsigned long addr){ FILE *fp; unsigned long i,j,len; unsigned short value_w,temp_w; char fname[32]; bzero(fname,32); ////////////////////////////////////////////////////////////////////////// //Judge if this is a valid file if(*(unsigned short *)addr==0xFFFF) return -1; ////////////////////////////////////////////////////////////////////////// //get filename strncpy(fname,(unsigned char *)addr,32); addr+=32; ////////////////////////////////////////////////////////////////////////// //write file length len=*(unsigned long *)addr; addr+=4; ////////////////////////////////////////////////////////////////////////// fp=fopen(fname,"w"); if(fp==NULL){ printf("open file error"); return 1; } for(i=0;i<len;i++){ fwrite((unsigned char *)(addr+i),sizeof(unsigned char),1,fp); } fclose(fp); return 0;}//write /etc/config/start to the last sector on the second FLASHint main(int argc,char *argv[]){ unsigned long addr; addr = 0xffff0000; //recover the communication parameters if (recover_file_from_flash(addr)!=0) printf("recover error.\n");}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -