comparison loadtools/ltmain.c @ 29:dacf45e3d20f

loadtool: scripting functionality implemented
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sat, 04 May 2013 07:15:51 +0000
parents ae6294b8a015
children 16315ed6401a
comparison
equal deleted inserted replaced
28:768a3d012931 29:dacf45e3d20f
10 #include "srecreader.h" 10 #include "srecreader.h"
11 11
12 extern char *target_ttydev; 12 extern char *target_ttydev;
13 extern struct srecreader iramimage; 13 extern struct srecreader iramimage;
14 extern char default_loadagent_image[]; 14 extern char default_loadagent_image[];
15 15 extern char hw_init_script[];
16 extern void (*default_exit)(); 16 extern void (*default_exit)();
17
18 char loadtool_command[512];
19 17
20 main(argc, argv) 18 main(argc, argv)
21 char **argv; 19 char **argv;
22 { 20 {
23 extern char *optarg; 21 extern char *optarg;
24 extern int optind; 22 extern int optind;
25 int c; 23 int c;
24 char command[512];
26 25
27 while ((c = getopt(argc, argv, "a:h:H:i:")) != EOF) 26 while ((c = getopt(argc, argv, "a:h:H:i:")) != EOF)
28 switch (c) { 27 switch (c) {
29 case 'a': 28 case 'a':
30 iramimage.filename = optarg; 29 iramimage.filename = optarg;
53 open_target_serial(); 52 open_target_serial();
54 perform_romload(); 53 perform_romload();
55 putchar('\n'); 54 putchar('\n');
56 if (tpinterf_pass_output(1) < 0) 55 if (tpinterf_pass_output(1) < 0)
57 exit(1); 56 exit(1);
57 putchar('\n');
58 if (hw_init_script) {
59 printf("Executing init script %s\n", hw_init_script);
60 loadtool_exec_script(hw_init_script);
61 }
58 for (;;) { 62 for (;;) {
59 if (isatty(0)) { 63 if (isatty(0)) {
60 fputs("loadtool> ", stdout); 64 fputs("loadtool> ", stdout);
61 fflush(stdout); 65 fflush(stdout);
62 } 66 }
63 if (!fgets(loadtool_command, sizeof loadtool_command, stdin)) 67 if (!fgets(command, sizeof command, stdin))
64 default_exit(); 68 default_exit();
65 loadtool_dispatch_cmd(); 69 loadtool_dispatch_cmd(command, 0);
66 } 70 }
67 } 71 }