From 01bf5e6b44992740250d0d5467e8baf5d9953d09 Mon Sep 17 00:00:00 2001 From: Gareth McMullin Date: Sat, 26 May 2012 15:05:37 +1200 Subject: [PATCH] Fixed and cleaned up build for libftdi platform. --- src/command.c | 10 ++++++---- src/linux/platform.c | 5 +++++ src/linux/platform.h | 1 + src/linux/swdptap.c | 10 +++++++--- src/stm32/platform.h | 1 + 5 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/command.c b/src/command.c index e4e856b1..caa2ea61 100644 --- a/src/command.c +++ b/src/command.c @@ -37,8 +37,6 @@ #include "adiv5.h" -#include - static void cmd_version(void); static void cmd_help(void); @@ -46,8 +44,9 @@ static void cmd_jtag_scan(void); static void cmd_swdp_scan(void); static void cmd_targets(void); static void cmd_morse(void); - +#ifdef PLATFORM_HAS_TRACESWO static void cmd_traceswo(void); +#endif const struct command_s cmd_list[] = { {"version", (cmd_handler)cmd_version, "Display firmware version info"}, @@ -56,8 +55,9 @@ const struct command_s cmd_list[] = { {"swdp_scan", (cmd_handler)cmd_swdp_scan, "Scan SW-DP for devices" }, {"targets", (cmd_handler)cmd_targets, "Display list of available targets" }, {"morse", (cmd_handler)cmd_morse, "Display morse error message" }, +#ifdef PLATFORM_HAS_TRACESWO {"traceswo", (cmd_handler)cmd_traceswo, "Start trace capture" }, - +#endif {NULL, NULL, NULL} }; @@ -168,10 +168,12 @@ void cmd_morse(void) gdb_outf("%s\n", morse_msg); } +#ifdef PLATFORM_HAS_TRACESWO static void cmd_traceswo(void) { extern char serial_no[9]; traceswo_init(); gdb_outf("%s:%02X:%02X\n", serial_no, 5, 0x85); } +#endif diff --git a/src/linux/platform.c b/src/linux/platform.c index 80c2acd8..9690a92f 100644 --- a/src/linux/platform.c +++ b/src/linux/platform.c @@ -121,3 +121,8 @@ int vasprintf(char **strp, const char *fmt, va_list ap) } #endif +const char *platform_target_voltage(void) +{ + return "not supported"; +} + diff --git a/src/linux/platform.h b/src/linux/platform.h index ce77a3d2..325f67b8 100644 --- a/src/linux/platform.h +++ b/src/linux/platform.h @@ -46,6 +46,7 @@ extern struct ftdi_context *ftdic; int platform_init(void); +const char *platform_target_voltage(void); void platform_buffer_flush(void); int platform_buffer_write(const uint8_t *data, int size); diff --git a/src/linux/swdptap.c b/src/linux/swdptap.c index ecd5acc6..be329d8e 100644 --- a/src/linux/swdptap.c +++ b/src/linux/swdptap.c @@ -29,6 +29,10 @@ #include "platform.h" #include "swdptap.h" +static void swdptap_turnaround(uint8_t dir); +static uint8_t swdptap_bit_in(void); +static void swdptap_bit_out(uint8_t val); + int swdptap_init(void) { int err; @@ -61,7 +65,7 @@ void swdptap_reset(void) for(int i = 0; i < 50; i++) swdptap_bit_out(1); } -void swdptap_turnaround(uint8_t dir) +static void swdptap_turnaround(uint8_t dir) { static uint8_t olddir = 0; @@ -81,7 +85,7 @@ void swdptap_turnaround(uint8_t dir) assert(ftdi_set_bitmode(ftdic, 0xAB, BITMODE_BITBANG) == 0); } -uint8_t swdptap_bit_in(void) +static uint8_t swdptap_bit_in(void) { uint8_t ret; @@ -95,7 +99,7 @@ uint8_t swdptap_bit_in(void) return ret; } -void swdptap_bit_out(uint8_t val) +static void swdptap_bit_out(uint8_t val) { uint8_t buf[3] = "\xA0\xA1\xA0"; diff --git a/src/stm32/platform.h b/src/stm32/platform.h index 9598dd85..ab292d91 100644 --- a/src/stm32/platform.h +++ b/src/stm32/platform.h @@ -34,6 +34,7 @@ #define INCLUDE_UART_INTERFACE #define INLINE_GPIO #define CDCACM_PACKET_SIZE 64 +#define PLATFORM_HAS_TRACESWO /* Important pin mappings for STM32 implementation: *