Show summary after successful programming.
Also, treat failure to reset afterwards as a warning, rather than a fatal error.
This commit is contained in:
parent
711ffbfd1a
commit
f4de94bd46
|
@ -543,10 +543,11 @@ static int do_cmd_prog(char **arg, int prog_flags)
|
||||||
if (prog_flush(&prog) < 0)
|
if (prog_flush(&prog) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (device_ctl(DEVICE_CTL_RESET) < 0) {
|
printc("Done, %d bytes written\n", prog.total_written);
|
||||||
printc_err("prog: failed to reset after programming\n");
|
|
||||||
return -1;
|
if (device_ctl(DEVICE_CTL_RESET) < 0)
|
||||||
}
|
printc_err("warning: prog: "
|
||||||
|
"failed to reset after programming\n");
|
||||||
|
|
||||||
unmark_modified(MODIFY_SYMS);
|
unmark_modified(MODIFY_SYMS);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -49,6 +49,7 @@ int prog_flush(struct prog_data *prog)
|
||||||
if (device_writemem(prog->addr, prog->buf, prog->len) < 0)
|
if (device_writemem(prog->addr, prog->buf, prog->len) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
prog->total_written += prog->len;
|
||||||
prog->addr += prog->len;
|
prog->addr += prog->len;
|
||||||
prog->len = 0;
|
prog->len = 0;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -25,11 +25,15 @@
|
||||||
|
|
||||||
struct prog_data {
|
struct prog_data {
|
||||||
char section[64];
|
char section[64];
|
||||||
|
|
||||||
uint8_t buf[PROG_BUFSIZE];
|
uint8_t buf[PROG_BUFSIZE];
|
||||||
address_t addr;
|
address_t addr;
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
int flags;
|
int flags;
|
||||||
int have_erased;
|
int have_erased;
|
||||||
|
|
||||||
|
address_t total_written;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define PROG_WANT_ERASE 0x01
|
#define PROG_WANT_ERASE 0x01
|
||||||
|
|
Loading…
Reference in New Issue