aboutsummaryrefslogtreecommitdiff
path: root/src/platforms/dev2
diff options
context:
space:
mode:
Diffstat (limited to 'src/platforms/dev2')
-rw-r--r--src/platforms/dev2/jtagtap.c6
-rw-r--r--src/platforms/dev2/platform.c37
-rw-r--r--src/platforms/dev2/platform.h13
-rw-r--r--src/platforms/dev2/swdptap.c6
4 files changed, 32 insertions, 30 deletions
diff --git a/src/platforms/dev2/jtagtap.c b/src/platforms/dev2/jtagtap.c
index 30cf9f8..329d4b6 100644
--- a/src/platforms/dev2/jtagtap.c
+++ b/src/platforms/dev2/jtagtap.c
@@ -20,12 +20,9 @@
/* This file implements the low-level JTAG TAP interface. */
-#include <stdio.h>
-
#include "general.h"
#include "jtagtap.h"
-#include "platform.h"
int jtagtap_init(void)
{
@@ -46,8 +43,9 @@ void jtagtap_reset(void)
jtagtap_soft_reset();
}
-void jtagtap_srst(void)
+void jtagtap_srst(bool assert)
{
+ (void)assert;
}
inline uint8_t jtagtap_next(uint8_t dTMS, uint8_t dTDO)
diff --git a/src/platforms/dev2/platform.c b/src/platforms/dev2/platform.c
index 3d5929b..a62c49e 100644
--- a/src/platforms/dev2/platform.c
+++ b/src/platforms/dev2/platform.c
@@ -17,13 +17,11 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "platform.h"
+#include "general.h"
#include "gdb_if.h"
-#include "jtag_scan.h"
+#include "version.h"
-#include <stdlib.h>
#include <stdarg.h>
-#include <string.h>
#include <assert.h>
#include <termios.h>
#include <unistd.h>
@@ -31,6 +29,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
+#include <sys/time.h>
static int serial_fd = -1;
static int debug;
@@ -68,7 +67,7 @@ int serial_open(const char *name)
return fd;
}
-int platform_init(int argc, char **argv)
+void platform_init(int argc, char **argv)
{
int c;
char *serial = NULL;
@@ -105,11 +104,12 @@ int platform_init(int argc, char **argv)
};
platform_buffer_write (init_str, sizeof (init_str));
- assert(gdb_if_init() == 0);
-
- jtag_scan(NULL);
+ printf("\nBlack Magic Probe (" FIRMWARE_VERSION ")\n");
+ printf("Copyright (C) 2015 Black Sphere Technologies Ltd.\n");
+ printf("License GPLv3+: GNU GPL version 3 or later "
+ "<http://gnu.org/licenses/gpl.html>\n\n");
- return 0;
+ assert(gdb_if_init() == 0);
}
void platform_buffer_flush(void)
@@ -169,3 +169,22 @@ void platform_debug(const char *fmt, ...)
va_end(ap);
}
}
+
+static uint32_t timeout_time;
+static uint32_t time_ms(void)
+{
+ struct timeval tv;
+ gettimeofday(&tv, NULL);
+ return (tv.tv_sec * 1000) + (tv.tv_usec / 1000);
+}
+
+void platform_timeout_set(uint32_t ms)
+{
+ timeout_time = time_ms() + ms;
+}
+
+bool platform_timeout_is_expired(void)
+{
+ return time_ms() > timeout_time;
+}
+
diff --git a/src/platforms/dev2/platform.h b/src/platforms/dev2/platform.h
index b87e4d9..e768d3d 100644
--- a/src/platforms/dev2/platform.h
+++ b/src/platforms/dev2/platform.h
@@ -21,9 +21,6 @@
#ifndef __PLATFORM_H
#define __PLATFORM_H
-#include <stdint.h>
-#include <stdio.h>
-
#ifndef WIN32
# include <alloca.h>
#else
@@ -83,18 +80,8 @@
#define SET_IDLE_STATE(state)
#define SET_ERROR_STATE(state)
-#define PLATFORM_FATAL_ERROR(error) abort()
-#define PLATFORM_SET_FATAL_ERROR_RECOVERY()
-
#define DEBUG(...) platform_debug(__VA_ARGS__)
-#define morse(x, y) do { if (x) fprintf(stderr,"%s\n", x); } while (0)
-#define morse_msg 0
-
-int platform_init(int argc, char **argv);
-const char *platform_target_voltage(void);
-void platform_delay(uint32_t delay);
-
void platform_buffer_flush(void);
int platform_buffer_write(const uint8_t *data, int size);
int platform_buffer_read(uint8_t *data, int size);
diff --git a/src/platforms/dev2/swdptap.c b/src/platforms/dev2/swdptap.c
index e50a612..2f7c73d 100644
--- a/src/platforms/dev2/swdptap.c
+++ b/src/platforms/dev2/swdptap.c
@@ -20,8 +20,6 @@
/* This file implements the low-level SW-DP interface. */
-#include <stdio.h>
-
#include "general.h"
#include "swdptap.h"
@@ -89,7 +87,7 @@ static uint64_t swdptap_seq_in_64(int ticks)
for(i = 0; i < bytes; i++)
ret |= (uint64_t) rep[i] << (8 * i);
- DEBUG("(0x%0*llx,%d)", (ticks + 3) / 4, ret, ticks);
+ DEBUG("(0x%0*" PRIx64 ",%d)", (ticks + 3) / 4, ret, ticks);
return ret;
}
@@ -124,7 +122,7 @@ static void swdptap_seq_out_64(uint64_t MS, int ticks)
{
swdptap_turnaround(0);
- DEBUG("(0x%0*llx,%d)", (ticks + 3) / 4, MS, ticks);
+ DEBUG("(0x%0*" PRIx64 ",%d)", (ticks + 3) / 4, MS, ticks);
uint8_t cmd[12];
int i = 0;