main.c

来自「atmel flash 烧写源代码」· C语言 代码 · 共 65 行

C
65
字号
#include <stdio.h>#include "lib_flash_at49.h"#include "flash_at49_data.c"unsigned long base_addr = 0x1000000;unsigned long load_addr = 0x11FFF00;#define BSIZE 16384char buffer[BSIZE];int main(int argc, char *argv[]) {  int i;  FILE *f;#ifdef TRIVIAL  if (argc==1) {    char *p = (char*) load_addr;    for(i=0;i<256;i++) {      if (*p < 32 || *p > 126) {	printf(".");      }      else {	printf("%c",*p);      }      p++;    }    printf("\n");  }  else if (argc==2) {    flash_at49_init_write ( (flash_word *) base_addr,					(flash_word *) load_addr ,					&FlashTable[2]);    flash_at49_erase_write_block(argv[1],strlen(argv[1])+1);  }  else {    printf("Usage: atmel-flash [what]");    exit(1);  }#else  if (argc!=3) {    printf("Usage: atmel-flash [file] [addr (hex)]");    exit(1);  }  f = fopen(argv[1]);  if (!f) {    perror("Cannot open input file");    exit(1);  }  load_addr = strtol(argv[2],NULL,16);  if (load_addr==0) {    printf("Invalid load address\n");    exit(1);  }  flash_at49_init_write ( (flash_word *) base_addr,			  (flash_word *) load_addr ,			  &FlashTable[2]);  while( (i = fread(buffer,1,BSIZE,f)) > 0 ) {    flash_at49_erase_write_block(buffer,i);  }  fclose(f);#endif}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?