|
|
@@ -301,31 +301,10 @@ struct command_context *setup_command_handler(Jim_Interp *interp) |
|
|
|
return cmd_ctx; |
|
|
|
} |
|
|
|
|
|
|
|
/* normally this is the main() function entry, but if OpenOCD is linked |
|
|
|
* into application, then this fn will not be invoked, but rather that |
|
|
|
* application will have it's own implementation of main(). */ |
|
|
|
int openocd_main(int argc, char *argv[]) |
|
|
|
static int main2(int argc, char *argv[], struct command_context *cmd_ctx) |
|
|
|
{ |
|
|
|
int ret; |
|
|
|
|
|
|
|
/* initialize commandline interface */ |
|
|
|
struct command_context *cmd_ctx; |
|
|
|
|
|
|
|
cmd_ctx = setup_command_handler(NULL); |
|
|
|
|
|
|
|
if (util_init(cmd_ctx) != ERROR_OK) |
|
|
|
return EXIT_FAILURE; |
|
|
|
|
|
|
|
if (ioutil_init(cmd_ctx) != ERROR_OK) |
|
|
|
return EXIT_FAILURE; |
|
|
|
|
|
|
|
LOG_OUTPUT("For bug reports, read\n\t" |
|
|
|
"http://openocd.berlios.de/doc/doxygen/bugs.html" |
|
|
|
"\n"); |
|
|
|
|
|
|
|
command_context_mode(cmd_ctx, COMMAND_CONFIG); |
|
|
|
command_set_output_handler(cmd_ctx, configuration_output_handler, NULL); |
|
|
|
|
|
|
|
if (parse_cmdline_args(cmd_ctx, argc, argv) != ERROR_OK) |
|
|
|
return EXIT_FAILURE; |
|
|
|
|
|
|
@@ -348,15 +327,43 @@ int openocd_main(int argc, char *argv[]) |
|
|
|
{ |
|
|
|
ret = command_run_line(cmd_ctx, "init"); |
|
|
|
if (ERROR_OK != ret) |
|
|
|
ret = EXIT_FAILURE; |
|
|
|
return EXIT_FAILURE; |
|
|
|
} |
|
|
|
|
|
|
|
/* handle network connections */ |
|
|
|
if (ERROR_OK == ret) |
|
|
|
server_loop(cmd_ctx); |
|
|
|
server_loop(cmd_ctx); |
|
|
|
|
|
|
|
server_quit(); |
|
|
|
|
|
|
|
return ret; |
|
|
|
} |
|
|
|
|
|
|
|
/* normally this is the main() function entry, but if OpenOCD is linked |
|
|
|
* into application, then this fn will not be invoked, but rather that |
|
|
|
* application will have it's own implementation of main(). */ |
|
|
|
int openocd_main(int argc, char *argv[]) |
|
|
|
{ |
|
|
|
int ret; |
|
|
|
|
|
|
|
/* initialize commandline interface */ |
|
|
|
struct command_context *cmd_ctx; |
|
|
|
|
|
|
|
cmd_ctx = setup_command_handler(NULL); |
|
|
|
|
|
|
|
if (util_init(cmd_ctx) != ERROR_OK) |
|
|
|
return EXIT_FAILURE; |
|
|
|
|
|
|
|
if (ioutil_init(cmd_ctx) != ERROR_OK) |
|
|
|
return EXIT_FAILURE; |
|
|
|
|
|
|
|
LOG_OUTPUT("For bug reports, read\n\t" |
|
|
|
"http://openocd.berlios.de/doc/doxygen/bugs.html" |
|
|
|
"\n"); |
|
|
|
|
|
|
|
command_context_mode(cmd_ctx, COMMAND_CONFIG); |
|
|
|
command_set_output_handler(cmd_ctx, configuration_output_handler, NULL); |
|
|
|
|
|
|
|
ret = main2(argc, argv, cmd_ctx); |
|
|
|
|
|
|
|
unregister_all_commands(cmd_ctx, NULL); |
|
|
|
|
|
|
|
/* free commandline interface */ |
|
|
|