random port
authorDmitry Bravikov <bravikov@gmail.com>
Wed, 5 Oct 2011 18:42:23 +0000 (02:42 +0800)
committerKarl Palsson <github@tweak.net.au>
Thu, 13 Oct 2011 19:31:45 +0000 (03:31 +0800)
INSTALL
src/gdb-server.c

diff --git a/INSTALL b/INSTALL
index 49e761c31c0e1933eadadd5b1cd0c878d5d00b65..f0bd882109c6f226eca464dd318335f7f3124a71 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -19,7 +19,11 @@ INSTALL
 
 5) Run:
 
-       $ st-util <port> [/dev/sgX]
+       $ st-util port [/dev/sgX]
+or
+       $ st-util [port]
+or
+       $ st-util --help
 
 6) Have fun!
 
index 5e12da02a6d6dd996b3930d326285e8b5dd1ab10..c732d38c91468f295ca08c26a873b9bf8329c4f6 100644 (file)
@@ -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 <port> [/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);