# HG changeset patch # User Michael Spacefalcon # Date 1403139422 0 # Node ID 833e8fa933309b5ac4d50cd8d993bc75425064e1 # Parent 4f8a9b2229e9e6f34aeee41e2675226b942b30cb fc-loadtool -r (reattach) option implemented diff -r 4f8a9b2229e9 -r 833e8fa93330 loadtools/ltmain.c --- a/loadtools/ltmain.c Thu Jun 19 00:23:28 2014 +0000 +++ b/loadtools/ltmain.c Thu Jun 19 00:57:02 2014 +0000 @@ -16,6 +16,10 @@ extern void (*default_exit)(); extern int gta_modem_poweron; +extern struct baudrate *find_baudrate_by_name(); + +static struct baudrate *reattach; + main(argc, argv) char **argv; { @@ -24,7 +28,7 @@ int c; char command[512]; - while ((c = getopt(argc, argv, "a:b:c:C:h:H:i:n")) != EOF) + while ((c = getopt(argc, argv, "a:b:c:C:h:H:i:nr:")) != EOF) switch (c) { case 'a': iramimage.filename = optarg; @@ -50,6 +54,11 @@ case 'n': gta_modem_poweron = 0; continue; + case 'r': + reattach = find_baudrate_by_name(optarg); + if (!reattach) + exit(1); /* error msg already printed */ + continue; case '?': default: usage: fprintf(stderr, @@ -63,15 +72,19 @@ iramimage.filename = default_loadagent_image; open_target_serial(); - perform_compal_stage(1); - perform_romload(); - putchar('\n'); - if (tpinterf_pass_output(1) < 0) - exit(1); - putchar('\n'); - if (hw_init_script[0]) { - printf("Executing init script %s\n", hw_init_script); - loadtool_exec_script(hw_init_script); + if (reattach) + switch_baud_rate(reattach); + else { + perform_compal_stage(1); + perform_romload(); + putchar('\n'); + if (tpinterf_pass_output(1) < 0) + exit(1); + putchar('\n'); + if (hw_init_script[0]) { + printf("Executing init script %s\n", hw_init_script); + loadtool_exec_script(hw_init_script); + } } for (;;) { if (isatty(0)) {