diff options
-rw-r--r-- | flash_rom.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/flash_rom.c b/flash_rom.c index 13bb182a..d57957d4 100644 --- a/flash_rom.c +++ b/flash_rom.c @@ -141,7 +141,7 @@ int verify_flash (struct flashchip * flash, char * buf, int verbose) volatile char * bios = flash->virt_addr; printf("Verifying address: "); - while (i++ < total_size) { + while (i < total_size) { if (verbose) printf("0x%08x", i); if (*(bios+i) != *(buf+i)) { @@ -150,6 +150,7 @@ int verify_flash (struct flashchip * flash, char * buf, int verbose) } if (verbose) printf("\b\b\b\b\b\b\b\b\b\b"); + i++ } if (verbose) printf("\n"); @@ -178,12 +179,12 @@ int main (int argc, char * argv[]) FILE * image; struct flashchip * flash; int opt; - int read_it = 0, write_it = 0, verify_it = 0; + int read_it = 0, write_it = 0, verify_it = 0, verbose = 0; char *filename = NULL; setbuf(stdout, NULL); - while ((opt = getopt(argc, argv, "rwvc:")) != EOF) { + while ((opt = getopt(argc, argv, "rwvVc:")) != EOF) { switch (opt) { case 'r': read_it = 1; @@ -197,6 +198,9 @@ int main (int argc, char * argv[]) case 'c': chip_to_probe = strdup(optarg); break; + case 'V': + verbose = 1; + break; default: usage(argv[0]); break; @@ -257,6 +261,6 @@ int main (int argc, char * argv[]) if (write_it || (!read_it && !verify_it)) flash->write (flash, buf); if (verify_it) - verify_flash (flash, buf, /* verbose = */ 0); + verify_flash (flash, buf, verbose); return 0; } |