/* project specific includes */
#include <jtag/interface.h>
-#include <jtag/transport.h>
+#include <transport/transport.h>
#include <helper/time_support.h>
#if IS_CYGWIN == 1
/* FT2232 access library includes */
#if BUILD_FT2232_FTD2XX == 1
#include <ftd2xx.h>
+#include "ftd2xx_common.h"
enum ftdi_interface
{
static int lm3s811_jtag_init(void);
static int icdi_jtag_init(void);
static int olimex_jtag_init(void);
-static int flyswatter_init(void);
+static int flyswatter1_init(void);
+static int flyswatter2_init(void);
+static int minimodule_init(void);
static int turtle_init(void);
static int comstick_init(void);
static int stm32stick_init(void);
static void ftx23_reset(int trst, int srst);
static void jtagkey_reset(int trst, int srst);
static void olimex_jtag_reset(int trst, int srst);
-static void flyswatter_reset(int trst, int srst);
+static void flyswatter1_reset(int trst, int srst);
+static void flyswatter2_reset(int trst, int srst);
+static void minimodule_reset(int trst, int srst);
static void turtle_reset(int trst, int srst);
static void comstick_reset(int trst, int srst);
static void stm32stick_reset(int trst, int srst);
/* blink procedures for layouts that support a blinking led */
static void olimex_jtag_blink(void);
-static void flyswatter_jtag_blink(void);
+static void flyswatter1_jtag_blink(void);
+static void flyswatter2_jtag_blink(void);
static void turtle_jtag_blink(void);
static void signalyzer_h_blink(void);
static void ktlink_blink(void);
.blink = olimex_jtag_blink
},
{ .name = "flyswatter",
- .init = flyswatter_init,
- .reset = flyswatter_reset,
- .blink = flyswatter_jtag_blink
+ .init = flyswatter1_init,
+ .reset = flyswatter1_reset,
+ .blink = flyswatter1_jtag_blink
+ },
+ { .name = "flyswatter2",
+ .init = flyswatter2_init,
+ .reset = flyswatter2_reset,
+ .blink = flyswatter2_jtag_blink
+ },
+ { .name = "minimodule",
+ .init = minimodule_init,
+ .reset = minimodule_reset,
},
{ .name = "turtelizer2",
.init = turtle_init,
if ((status = FT_Write(ftdih, buf, size, &dw_bytes_written)) != FT_OK)
{
*bytes_written = dw_bytes_written;
- LOG_ERROR("FT_Write returned: %lu", status);
+ LOG_ERROR("FT_Write returned: %s", ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
else
*bytes_read, &dw_bytes_read)) != FT_OK)
{
*bytes_read = 0;
- LOG_ERROR("FT_Read returned: %lu", status);
+ LOG_ERROR("FT_Read returned: %s", ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
*bytes_read += dw_bytes_read;
LOG_DEBUG("thisrun_read: %i, bytes_read: %i",
thisrun_read,
(int)bytes_read);
- receive_pointer += bytes_read;
}
return ERROR_OK;
LOG_DEBUG("trst: %i, srst: %i, low_output: 0x%2.2x, low_direction: 0x%2.2x", trst, srst, low_output, low_direction);
}
+static void flyswatter1_reset(int trst, int srst)
+{
+ flyswatter_reset(trst, srst);
+}
+
+static void flyswatter2_reset(int trst, int srst)
+{
+ flyswatter_reset(trst, !srst);
+}
+
+static void minimodule_reset(int trst, int srst)
+{
+ if (srst == 1)
+ {
+ low_output &= ~nSRST;
+ }
+ else if (srst == 0)
+ {
+ low_output |= nSRST;
+ }
+
+ /* command "set data bits low byte" */
+ buffer_write(0x80);
+ buffer_write(low_output);
+ buffer_write(low_direction);
+ LOG_DEBUG("trst: %i, srst: %i, low_output: 0x%2.2x, low_direction: 0x%2.2x", trst, srst, low_output, low_direction);
+}
+
static void turtle_reset(int trst, int srst)
{
trst = trst;
if (more)
{
- LOG_WARNING("unable to open ftdi device (trying more): %lu", status);
+ LOG_WARNING("unable to open ftdi device (trying more): %s",
+ ftd2xx_status_string(status));
*try_more = 1;
return ERROR_JTAG_INIT_FAILED;
}
- LOG_ERROR("unable to open ftdi device: %lu", status);
+ LOG_ERROR("unable to open ftdi device: %s",
+ ftd2xx_status_string(status));
status = FT_ListDevices(&num_devices, NULL, FT_LIST_NUMBER_ONLY);
if (status == FT_OK)
{
if (status == FT_OK)
{
- LOG_ERROR("ListDevices: %lu", num_devices);
+ LOG_ERROR("ListDevices: %" PRIu32, (uint32_t)num_devices);
for (i = 0; i < num_devices; i++)
LOG_ERROR("%" PRIu32 ": \"%s\"", i, desc_array[i]);
}
if ((status = FT_SetLatencyTimer(ftdih, ft2232_latency)) != FT_OK)
{
- LOG_ERROR("unable to set latency timer: %lu", status);
+ LOG_ERROR("unable to set latency timer: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_INIT_FAILED;
}
if ((status = FT_GetLatencyTimer(ftdih, &latency_timer)) != FT_OK)
{
- LOG_ERROR("unable to get latency timer: %lu", status);
- return ERROR_JTAG_INIT_FAILED;
+ /* ftd2xx 1.04 (linux) has a bug when calling FT_GetLatencyTimer
+ * so ignore errors if using this driver version */
+ DWORD dw_version;
+
+ status = FT_GetDriverVersion(ftdih, &dw_version);
+ LOG_ERROR("unable to get latency timer: %s",
+ ftd2xx_status_string(status));
+
+ if ((status == FT_OK) && (dw_version == 0x10004)) {
+ LOG_ERROR("ftd2xx 1.04 detected - this has known issues " \
+ "with FT_GetLatencyTimer, upgrade to a newer version");
+ }
+ else {
+ return ERROR_JTAG_INIT_FAILED;
+ }
}
else
{
if ((status = FT_SetTimeouts(ftdih, 5000, 5000)) != FT_OK)
{
- LOG_ERROR("unable to set timeouts: %lu", status);
+ LOG_ERROR("unable to set timeouts: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_INIT_FAILED;
}
if ((status = FT_SetBitMode(ftdih, 0x0b, 2)) != FT_OK)
{
- LOG_ERROR("unable to enable bit i/o mode: %lu", status);
+ LOG_ERROR("unable to enable bit i/o mode: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_INIT_FAILED;
}
if ((status = FT_GetDeviceInfo(ftdih, &ftdi_device, &deviceID, SerialNumber, Description, NULL)) != FT_OK)
{
- LOG_ERROR("unable to get FT_GetDeviceInfo: %lu", status);
+ LOG_ERROR("unable to get FT_GetDeviceInfo: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_INIT_FAILED;
}
else
unsigned no_of_known_types = ARRAY_SIZE(type_str) - 1;
unsigned type_index = ((unsigned)ftdi_device <= no_of_known_types)
? ftdi_device : FT_DEVICE_UNKNOWN;
- LOG_INFO("device: %lu \"%s\"", ftdi_device, type_str[type_index]);
- LOG_INFO("deviceID: %lu", deviceID);
+ LOG_INFO("device: %" PRIu32 " \"%s\"", (uint32_t)ftdi_device, type_str[type_index]);
+ LOG_INFO("deviceID: %" PRIu32, (uint32_t)deviceID);
LOG_INFO("SerialNumber: %s", SerialNumber);
LOG_INFO("Description: %s", Description);
}
if ((status = FT_Purge(ftdih, FT_PURGE_RX | FT_PURGE_TX)) != FT_OK)
{
- LOG_ERROR("error purging ftd2xx device: %lu", status);
+ LOG_ERROR("error purging ftd2xx device: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_INIT_FAILED;
}
return ERROR_OK;
}
-static int flyswatter_init(void)
+static int flyswatter_init(int rev)
{
low_output = 0x18;
- low_direction = 0xfb;
+ low_direction = 0x7b;
+
+ if ((rev < 0) || (rev > 3)) {
+ LOG_ERROR("bogus 'flyswatter' revision supplied (%i)", rev);
+ return ERROR_JTAG_INIT_FAILED;
+ }
+
+ if (rev == 1)
+ low_direction |= 1 << 7;
/* initialize low byte for jtag */
if (ft2232_set_data_bits_low_byte(low_output,low_direction) != ERROR_OK)
nSRSTnOE = 0x00; /* no output enable for nSRST */
high_output = 0x00;
- high_direction = 0x0c;
+
+ if (rev == 1)
+ high_direction = 0x0c;
+ else
+ high_direction = 0x01;
/* turn red LED3 on, LED2 off */
high_output |= 0x08;
return ERROR_OK;
}
+static int flyswatter1_init(void)
+{
+ return flyswatter_init(1);
+}
+
+static int flyswatter2_init(void)
+{
+ return flyswatter_init(2);
+}
+
+static int minimodule_init(void)
+{
+ low_output = 0x18;//check if srst should be 1 or 0 initially. (0x08) (flyswatter was 0x18)
+ low_direction = 0xfb;//0xfb;
+
+ /* initialize low byte for jtag */
+ if (ft2232_set_data_bits_low_byte(low_output,low_direction) != ERROR_OK)
+ {
+ LOG_ERROR("couldn't initialize FT2232 with 'minimodule' layout");
+ return ERROR_JTAG_INIT_FAILED;
+ }
+
+
+ nSRST = 0x20;
+
+ high_output = 0x00;
+ high_direction = 0x05;
+
+ /* turn red LED3 on, LED2 off */
+ //high_output |= 0x08;
+
+ /* initialize high byte for jtag */
+ if (ft2232_set_data_bits_high_byte(high_output,high_direction) != ERROR_OK)
+ {
+ LOG_ERROR("couldn't initialize FT2232 with 'minimodule' layout");
+ return ERROR_JTAG_INIT_FAILED;
+ }
+
+ return ERROR_OK;
+}
+
static int turtle_init(void)
{
low_output = 0x08;
return ftx232_dbus_write();
}
+/*
+ * The reference schematic from TI for the XDS100v2 has a CPLD on which opens
+ * the door for a number of different configurations
+ *
+ * Known Implementations:
+ * http://processors.wiki.ti.com/images/9/93/TMS570LS20216_USB_STICK_Schematic.pdf
+ *
+ * http://processors.wiki.ti.com/index.php/XDS100 (rev2)
+ * * CLPD logic: Rising edge to enable outputs (XDS100_PWR_RST)
+ * * ACBUS3 to transition 0->1 (OE rising edge)
+ * * CPLD logic: Put the EMU0/1 pins in Hi-Z:
+ * * ADBUS5/GPIOL1 = EMU_EN = 1
+ * * ADBUS6/GPIOL2 = EMU0 = 0
+ * * ACBUS4/SPARE0 = EMU1 = 0
+ * * CPLD logic: Disable loopback
+ * * ACBUS6/SPARE2 = LOOPBACK = 0
+ */
+#define XDS100_nEMU_EN (1<<5)
+#define XDS100_nEMU0 (1<<6)
+
+#define XDS100_PWR_RST (1<<3)
+#define XDS100_nEMU1 (1<<4)
+#define XDS100_LOOPBACK (1<<6)
static int xds100v2_init(void)
{
- low_output = 0x3A;
- low_direction = 0x7B;
+ /* These are in the lower byte */
+ nTRST = 0x10;
+ nTRSTnOE = 0x10;
+
+ /* These aren't actually used on 14 pin connectors */
+ /* These are in the upper byte */
+ nSRST = 0x01;
+ nSRSTnOE = 0x01;
+
+ low_output = 0x08 | nTRST | XDS100_nEMU_EN;
+ low_direction = 0x0b | nTRSTnOE | XDS100_nEMU_EN | XDS100_nEMU0;
- /* initialize low byte for jtag */
if (ft2232_set_data_bits_low_byte(low_output,low_direction) != ERROR_OK)
{
LOG_ERROR("couldn't initialize FT2232 with 'xds100v2' layout");
return ERROR_JTAG_INIT_FAILED;
}
- nTRST = 0x10;
- nTRSTnOE = 0x0; /* not output enable for nTRST */
- nSRST = 0x00; /* TODO: SRST is not supported yet */
- nSRSTnOE = 0x00; /* no output enable for nSRST */
-
- high_output = 0x00;
- high_direction = 0x59;
+ high_output = 0;
+ high_direction = nSRSTnOE | XDS100_LOOPBACK | XDS100_PWR_RST | XDS100_nEMU1;
/* initialize high byte for jtag */
if (ft2232_set_data_bits_high_byte(high_output,high_direction) != ERROR_OK)
{
- LOG_ERROR("couldn't initialize FT2232 with 'xds100v2' layout");
+ LOG_ERROR("couldn't put CPLD in to reset with 'xds100v2' layout");
return ERROR_JTAG_INIT_FAILED;
}
- high_output = 0x86;
- high_direction = 0x59;
+ high_output |= XDS100_PWR_RST;
/* initialize high byte for jtag */
if (ft2232_set_data_bits_high_byte(high_output,high_direction) != ERROR_OK)
{
- LOG_ERROR("couldn't initialize FT2232 with 'xds100v2' layout");
+ LOG_ERROR("couldn't bring CPLD out of reset with 'xds100v2' layout");
return ERROR_JTAG_INIT_FAILED;
}
buffer_write(high_direction);
}
-static void flyswatter_jtag_blink(void)
+static void flyswatter_jtag_blink(unsigned char led)
+{
+ buffer_write(0x82);
+ buffer_write(high_output ^ led);
+ buffer_write(high_direction);
+}
+
+static void flyswatter1_jtag_blink(void)
{
/*
* Flyswatter has two LEDs connected to ACBUS2 and ACBUS3
*/
- high_output ^= 0x0c;
+ flyswatter_jtag_blink(0xc);
+}
- buffer_write(0x82);
- buffer_write(high_output);
- buffer_write(high_direction);
+static void flyswatter2_jtag_blink(void)
+{
+ /*
+ * Flyswatter2 only has one LED connected to ACBUS2
+ */
+ flyswatter_jtag_blink(0x4);
}
static void turtle_jtag_blink(void)
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_DATA_BUFFER_ADDR,
((uint32_t)(channel << 8) | led))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu", status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
(SIGNALYZER_DATA_BUFFER_ADDR + 1),
((uint32_t)(on_time << 8) | off_time))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu", status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
(SIGNALYZER_DATA_BUFFER_ADDR + 2),
((uint32_t)cycles))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu", status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_LED_SET)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu", status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_VERSION)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu", status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
(SIGNALYZER_DATA_BUFFER_ADDR + i),
&read_buf[i])) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_read returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_read returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
}
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_DATA_BUFFER_ADDR,
(uint32_t)(signalyzer_h_side << 8))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu", status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_DATA_BUFFER_ADDR + 1,
0x0404)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu", status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_GPIO_STATE)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu", status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_DATA_BUFFER_ADDR,
((uint32_t)(signalyzer_h_side << 8) | 0x01))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu", status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(
(SIGNALYZER_DATA_BUFFER_ADDR + 1), 0xA000)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu", status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(
(SIGNALYZER_DATA_BUFFER_ADDR + 2), 0x0008)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu", status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_I2C)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu", status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_read(SIGNALYZER_COMMAND_ADDR,
&read_buf[0])) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_read returned: %lu", status);
+ LOG_ERROR("signalyzer_h_ctrl_read returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
(SIGNALYZER_DATA_BUFFER_ADDR + i),
&read_buf[i])) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_read returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_read returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
}
((uint32_t)(signalyzer_h_side << 8) | 0x01)))
!= FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_POWERCONTROL_SET)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
SIGNALYZER_DATA_BUFFER_ADDR,
(uint32_t)(signalyzer_h_side << 8))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
SIGNALYZER_DATA_BUFFER_ADDR + 1, 0x0000))
!= FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
if ((status = signalyzer_h_ctrl_write(SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_GPIO_MODE)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
SIGNALYZER_DATA_BUFFER_ADDR,
(uint32_t)(signalyzer_h_side << 8))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
SIGNALYZER_DATA_BUFFER_ADDR + 1, 0x4040))
!= FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_GPIO_STATE)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
#endif
((uint32_t)(signalyzer_h_side << 8) | 0x01)))
!= FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_POWERCONTROL_SET)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
SIGNALYZER_DATA_BUFFER_ADDR,
(uint32_t)(signalyzer_h_side << 8))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
SIGNALYZER_DATA_BUFFER_ADDR + 1, 0x0060))
!= FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_GPIO_MODE)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
SIGNALYZER_DATA_BUFFER_ADDR,
(uint32_t)(signalyzer_h_side << 8))) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
SIGNALYZER_DATA_BUFFER_ADDR + 1, 0x0000))
!= FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
SIGNALYZER_COMMAND_ADDR,
SIGNALYZER_COMMAND_GPIO_STATE)) != FT_OK)
{
- LOG_ERROR("signalyzer_h_ctrl_write returned: %lu",
- status);
+ LOG_ERROR("signalyzer_h_ctrl_write returned: %s",
+ ftd2xx_status_string(status));
return ERROR_JTAG_DEVICE_ERROR;
}
#endif