X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao-tools%2Fao-rawload%2Fao-rawload.c;h=0098b6589c8e9294e9bbda642d13bc20b03809af;hp=d9ee571829e4ed0eab88dd0cc43ee3f881a3b0f2;hb=7ac8efea5d60b81adccdc1e38ac4c13facfae7c9;hpb=5481082b18226a0de6b377215b3b330bdbc4a6c6 diff --git a/ao-tools/ao-rawload/ao-rawload.c b/ao-tools/ao-rawload/ao-rawload.c index d9ee5718..0098b658 100644 --- a/ao-tools/ao-rawload/ao-rawload.c +++ b/ao-tools/ao-rawload/ao-rawload.c @@ -19,16 +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 ] [--device ] file.ihx\n", program); + fprintf(stderr, "usage: %s [--tty ] [--device ] [--run] file.ihx\n", program); exit(1); } @@ -45,6 +47,7 @@ main (int argc, char **argv) char *tty = NULL; char *device = NULL; int c; + int run = 0; while ((c = getopt_long(argc, argv, "T:D:", options, NULL)) != -1) { switch (c) { @@ -54,6 +57,9 @@ main (int argc, char **argv) case 'D': device = optarg; break; + case 'r': + run = 1; + break; default: usage(argv[0]); break; @@ -105,6 +111,10 @@ main (int argc, char **argv) ccdbg_close(dbg); exit(1); } + if (run) { + ccdbg_set_pc(dbg, image->address); + ccdbg_resume(dbg); + } ccdbg_close(dbg); exit (0); }