comparison loadtools/ltflash.c @ 64:a481d648278a

fc-loadtool: "quick program" command implemented
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Fri, 28 Jun 2013 04:49:09 +0000
parents 6fb41cfa773d
children a7da6648a7f8
comparison
equal deleted inserted replaced
63:cc1d2413991a 64:a481d648278a
245 if (selected_flash_device->nbanks == 2 && !bank) 245 if (selected_flash_device->nbanks == 2 && !bank)
246 printf("\nFlash device has 2 banks; flash2 command available\n"); 246 printf("\nFlash device has 2 banks; flash2 command available\n");
247 return(0); 247 return(0);
248 } 248 }
249 249
250 flashcmd_quickprog(argc, argv, bank)
251 char **argv;
252 {
253 char *targv[4], targ_base[10];
254 int stat;
255
256 if (argc != 4) {
257 inv: fprintf(stderr, "usage: %s %s hex-offset hex-data-string\n",
258 argv[0], argv[1]);
259 return(-1);
260 }
261 sprintf(targ_base, "%lx", (u_long) flash_bank_info[bank].base_addr);
262 targv[0] = "AMFB";
263 targv[1] = targ_base;
264 targv[2] = 0;
265 tpinterf_make_cmd(targv);
266 if (tpinterf_send_cmd() < 0)
267 return(-1);
268 stat = tpinterf_pass_output(1);
269 if (stat)
270 return(stat);
271 targv[0] = "AMFW";
272 targv[1] = argv[2];
273 targv[2] = argv[3];
274 targv[3] = 0;
275 if (tpinterf_make_cmd(targv) < 0) {
276 fprintf(stderr, "error: unable to form AMFW target command\n");
277 return(-1);
278 }
279 if (tpinterf_send_cmd() < 0)
280 return(-1);
281 return tpinterf_pass_output(1);
282 }
283
250 extern int flashcmd_erase(); 284 extern int flashcmd_erase();
251 extern int flashcmd_sectors(); 285 extern int flashcmd_sectors();
252 286
253 static struct cmdtab { 287 static struct cmdtab {
254 char *cmd; 288 char *cmd;
257 {"blankchk", flashcmd_blankchk}, 291 {"blankchk", flashcmd_blankchk},
258 {"dump2bin", flashcmd_dump2file}, 292 {"dump2bin", flashcmd_dump2file},
259 {"dump2srec", flashcmd_dump2file}, 293 {"dump2srec", flashcmd_dump2file},
260 {"erase", flashcmd_erase}, 294 {"erase", flashcmd_erase},
261 {"info", flashcmd_info}, 295 {"info", flashcmd_info},
296 {"quickprog", flashcmd_quickprog},
262 {"sectors", flashcmd_sectors}, 297 {"sectors", flashcmd_sectors},
263 {0, 0} 298 {0, 0}
264 }; 299 };
265 300
266 cmd_flash(argc, argv) 301 cmd_flash(argc, argv)