X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ao-tools%2Fao-rawload%2Fao-rawload.c;h=a4746b195411ac8d73bb237774f12cea3020b808;hb=93ecaf7f18f8f4c15953c2e80dc9e1b20d04fdfa;hp=1f1537b9f12d59eb49f6de87c7e96ed39e7e1e1f;hpb=9b03d620722dc54630539afba40720c30de69b2d;p=fw%2Faltos diff --git a/ao-tools/ao-rawload/ao-rawload.c b/ao-tools/ao-rawload/ao-rawload.c index 1f1537b9..a4746b19 100644 --- a/ao-tools/ao-rawload/ao-rawload.c +++ b/ao-tools/ao-rawload/ao-rawload.c @@ -19,15 +19,18 @@ #include #include #include "ccdbg.h" +#include "cc.h" static const struct option options[] = { { .name = "tty", .has_arg = 1, .val = 'T' }, + { .name = "device", .has_arg = 1, .val = 'D' }, + { .name = "run", .has_arg = 0, .val = 'r' }, { 0, 0, 0, 0}, }; static void usage(char *program) { - fprintf(stderr, "usage: %s [--tty ] file.ihx\n", program); + fprintf(stderr, "usage: %s [--tty ] [--device ] [--run] file.ihx\n", program); exit(1); } @@ -42,13 +45,21 @@ main (int argc, char **argv) char *filename; FILE *file; char *tty = NULL; + char *device = NULL; int c; + int run = 0; - while ((c = getopt_long(argc, argv, "T:", options, NULL)) != -1) { + while ((c = getopt_long(argc, argv, "rT:D:", options, NULL)) != -1) { switch (c) { case 'T': tty = optarg; break; + case 'D': + device = optarg; + break; + case 'r': + run = 1; + break; default: usage(argv[0]); break; @@ -56,7 +67,7 @@ main (int argc, char **argv) } filename = argv[optind]; if (filename == NULL) { - fprintf(stderr, "usage: %s \n", argv[0]); + usage(argv[0]); exit(1); } file = fopen(filename, "r"); @@ -75,6 +86,8 @@ main (int argc, char **argv) } ccdbg_hex_file_free(hex); + if (!tty) + tty = cc_usbdevs_find_by_arg(device, "TIDongle"); dbg = ccdbg_open(tty); if (!dbg) exit (1); @@ -98,8 +111,10 @@ main (int argc, char **argv) ccdbg_close(dbg); exit(1); } - ccdbg_set_pc(dbg, image->address); - ccdbg_resume(dbg); + if (run) { + ccdbg_set_pc(dbg, image->address); + ccdbg_resume(dbg); + } ccdbg_close(dbg); exit (0); }