aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Schodet2015-06-16 16:56:32 +0200
committerNicolas Schodet2015-06-16 17:00:33 +0200
commit4d16ac64d53c78775069e5da706b32fbe44a3085 (patch)
treeb07321f3a28f79fafb52d3b08349b04d14b8ab6d
parentb877293fd8603270854876f8c7e6a6d46fb49c2c (diff)
dev2: make GDB server port configurable
-rw-r--r--src/platforms/dev2/platform.c16
-rw-r--r--src/platforms/libftdi/gdb_if.c6
2 files changed, 19 insertions, 3 deletions
diff --git a/src/platforms/dev2/platform.c b/src/platforms/dev2/platform.c
index a62c49e..d55a4f3 100644
--- a/src/platforms/dev2/platform.c
+++ b/src/platforms/dev2/platform.c
@@ -31,6 +31,8 @@
#include <fcntl.h>
#include <sys/time.h>
+extern int gdb_if_port;
+
static int serial_fd = -1;
static int debug;
@@ -72,7 +74,7 @@ void platform_init(int argc, char **argv)
int c;
char *serial = NULL;
- while((c = getopt(argc, argv, "ds:")) != -1) {
+ while((c = getopt(argc, argv, "ds:p:")) != -1) {
switch(c) {
case 'd':
debug = 1;
@@ -80,12 +82,24 @@ void platform_init(int argc, char **argv)
case 's':
serial = optarg;
break;
+ case 'p':
+ {
+ char *tailptr;
+ gdb_if_port = strtol (optarg, &tailptr, 10);
+ if (*tailptr)
+ gdb_if_port = 0;
+ }
+ break;
}
}
if(optind != argc) {
fprintf(stderr, "too many arguments\n");
abort();
}
+ if(gdb_if_port == 0) {
+ fprintf(stderr, "bad server port\n");
+ abort();
+ }
serial_fd = serial_open(serial);
if(serial_fd == -1) {
diff --git a/src/platforms/libftdi/gdb_if.c b/src/platforms/libftdi/gdb_if.c
index ff49b57..c5767e7 100644
--- a/src/platforms/libftdi/gdb_if.c
+++ b/src/platforms/libftdi/gdb_if.c
@@ -40,6 +40,8 @@
static int gdb_if_serv, gdb_if_conn;
+int gdb_if_port = 2000;
+
int gdb_if_init(void)
{
#ifdef WIN32
@@ -50,7 +52,7 @@ int gdb_if_init(void)
int opt;
addr.sin_family = AF_INET;
- addr.sin_port = htons(2000);
+ addr.sin_port = htons(gdb_if_port);
addr.sin_addr.s_addr = htonl(INADDR_ANY);
assert((gdb_if_serv = socket(PF_INET, SOCK_STREAM, 0)) != -1);
@@ -60,7 +62,7 @@ int gdb_if_init(void)
assert(bind(gdb_if_serv, (void*)&addr, sizeof(addr)) != -1);
assert(listen(gdb_if_serv, 1) != -1);
- DEBUG("Listening on TCP:2000\n");
+ DEBUG("Listening on TCP:%d\n", gdb_if_port);
return 0;
}