Skip to content
Snippets Groups Projects
Commit 779c4412 authored by oharboe's avatar oharboe
Browse files

Zach Welch <zw@superlucidity.net> do not pad TMS

git-svn-id: svn://svn.berlios.de/openocd/trunk@1509 b42882b7-edfa-0310-969c-e2dbd0fdcd60
parent f6fd9bc8
No related branches found
No related tags found
No related merge requests found
...@@ -623,6 +623,10 @@ static void jlink_tap_append_step(int tms, int tdi) ...@@ -623,6 +623,10 @@ static void jlink_tap_append_step(int tms, int tdi)
int bit_index = tap_length % 8; int bit_index = tap_length % 8;
u8 bit = 1 << bit_index; u8 bit = 1 << bit_index;
// we do not pad TMS, so be sure to initialize all bits
if (0 == bit_index)
tms_buffer[index] = tdi_buffer[index] = 0;
if (tms) if (tms)
tms_buffer[index] |= bit; tms_buffer[index] |= bit;
else else
...@@ -669,15 +673,8 @@ static int jlink_tap_execute(void) ...@@ -669,15 +673,8 @@ static int jlink_tap_execute(void)
if (!tap_length) if (!tap_length)
return ERROR_OK; return ERROR_OK;
/* Pad last byte so that tap_length is divisible by 8 */ // number of full bytes (plus one if some would be left over)
while (tap_length % 8 != 0) byte_length = tap_length / 8 + !!(tap_length % 8);
{
/* More of the last TMS value keeps us in the same state,
* analogous to free-running JTAG interfaces. */
jlink_tap_append_step(last_tms, 0);
}
byte_length = tap_length / 8;
usb_out_buffer[0] = EMU_CMD_HW_JTAG3; usb_out_buffer[0] = EMU_CMD_HW_JTAG3;
usb_out_buffer[1] = 0; usb_out_buffer[1] = 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment