recoverparam.c

来自「一个uclinux下进行网络数据处理,及串口读取,CGI配置」· C语言 代码 · 共 50 行

C
50
字号
#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 + =
减小字号Ctrl + -
显示快捷键?