From d99d1038a2cc1b61ba2bf6e3f6917e9ea519f785 Mon Sep 17 00:00:00 2001 From: Dmitry Bravikov Date: Thu, 6 Oct 2011 02:42:23 +0800 Subject: [PATCH] random port --- INSTALL | 6 +++++- src/gdb-server.c | 26 +++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/INSTALL b/INSTALL index 49e761c..f0bd882 100644 --- a/INSTALL +++ b/INSTALL @@ -19,7 +19,11 @@ INSTALL 5) Run: - $ st-util [/dev/sgX] + $ st-util port [/dev/sgX] +or + $ st-util [port] +or + $ st-util --help 6) Have fun! diff --git a/src/gdb-server.c b/src/gdb-server.c index 5e12da0..c732d38 100644 --- a/src/gdb-server.c +++ b/src/gdb-server.c @@ -57,10 +57,15 @@ int main(int argc, char** argv) { struct stlink *sl = NULL; + const char * HelpStr = "Usage:\n" + "\t st-util port [/dev/sgX]\n" + "\t st-util [port]\n" + "\t st-util --help\n"; + switch(argc) { default: { - fprintf(stderr, "Usage: %s [/dev/sgX] \n", argv[0]); + fprintf(stderr, HelpStr, NULL); return 1; } @@ -70,7 +75,14 @@ int main(int argc, char** argv) { break; } - case 2 : { // Search ST-LINK (from /dev/sg0 to /dev/sg99) + case 2 : { + if (strcmp(argv[1], "--help") == 0) { + fprintf(stdout, HelpStr, NULL); + return 1; + } + } + + case 1 : { // Search ST-LINK (from /dev/sg0 to /dev/sg99) const int DevNumMax = 99; int ExistDevCount = 0; @@ -149,7 +161,15 @@ int main(int argc, char** argv) { // memory map is in 1k blocks. current_memory_map = make_memory_map(params, flash_size * 0x400); - int port = atoi(argv[1]); + int port; + + if(argc == 1) { + srand((unsigned int)&port); + port = rand()/65535; + } + else { + port = atoi(argv[1]); + } while(serve(sl, port) == 0); -- 2.30.2