Hi all,
This series begins to transform the J-Link driver into something that I
can tolerate staring at for long periods of time (w/ apologies to its
original author(s)). These should be able to be applied in any order.
I have tested for regressions with my Yellow unit (no net gain/loss).
This first patch unwinds the logic in the jlink_speed function.
Cheers,
Zach
Index: src/jtag/jlink.c
===================================================================
--- src/jtag/jlink.c (revision 1497)
+++ src/jtag/jlink.c (working copy)
@@ -230,31 +230,26 @@
{
int result;
- if (speed <= JLINK_MAX_SPEED)
+ if (speed > JLINK_MAX_SPEED)
{
- /* check for RTCK setting */
- if (speed == 0)
- speed = -1;
+ LOG_INFO("Ignoring speed request: %dkHz exceeds %dkHz maximum",
+ speed, JLINK_MAX_SPEED);
+ return ERROR_OK;
+ }
- usb_out_buffer[0] = EMU_CMD_SET_SPEED;
- usb_out_buffer[1] = (speed >> 0) & 0xff;
- usb_out_buffer[2] = (speed >> 8) & 0xff;
+ /* check for RTCK setting */
+ if (speed == 0)
+ speed = -1;
- result = jlink_usb_write(jlink_jtag_handle, 3);
+ usb_out_buffer[0] = EMU_CMD_SET_SPEED;
+ usb_out_buffer[1] = (speed >> 0) & 0xff;
+ usb_out_buffer[2] = (speed >> 8) & 0xff;
- if (result == 3)
- {
- return ERROR_OK;
- }
- else
- {
- LOG_ERROR("J-Link setting speed failed (%d)", result);
- return ERROR_JTAG_DEVICE_ERROR;
- }
- }
- else
+ result = jlink_usb_write(jlink_jtag_handle, 3);
+ if (result != 3)
{
- LOG_INFO("Requested speed %dkHz exceeds maximum of %dkHz, ignored", speed, JLINK_MAX_SPEED);
+ LOG_ERROR("J-Link setting speed failed (%d)", result);
+ return ERROR_JTAG_DEVICE_ERROR;
}
return ERROR_OK;
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development