jlink: fix jlink regression introduced by ae8cdc commit
1) wrong last bit was shifted out in the end of IRSHIFT/DRSHIFT in jlink_execute_scan() 2) TDI buffer was not cleared in jlink_tap_init(), results in wrong data shifted out to the TDI and "Bad value '00000000' captured during DR or IR scan" error message. 3) sizeof(tdi_buffer) was used in memset() to clean tms buffer. It is the same as sizeof(tms_buffer), but shoud be fixed to make source code consistent Change-Id: I13f26d1c3e88eefc3856fe2b8542fb0ccea6acb1 Signed-off-by: Sergey A. Borshch <sb-sf@users.sourceforge.net> Reviewed-on: http://openocd.zylin.com/3394 Tested-by: jenkins Reviewed-by: Harry Zhurov <harry.zhurov@gmail.com> Reviewed-by: Anton Gusev Reviewed-by: Михаил Цивинский <mtsivinsky@gmail.com> Reviewed-by: Andreas Färber <afaerber@suse.de> Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
This commit is contained in:
parent
66d29eb6e3
commit
d080ea6cea
|
@ -217,7 +217,7 @@ static void jlink_execute_scan(struct jtag_command *cmd)
|
|||
field->num_bits - 1,
|
||||
1);
|
||||
tap_set_state(tap_state_transition(tap_get_state(), 1));
|
||||
jlink_clock_data(&last_bit,
|
||||
jlink_clock_data(NULL,
|
||||
0,
|
||||
&tms_bits,
|
||||
1,
|
||||
|
@ -1708,7 +1708,8 @@ static void jlink_tap_init(void)
|
|||
{
|
||||
tap_length = 0;
|
||||
pending_scan_results_length = 0;
|
||||
memset(tms_buffer, 0, sizeof(tdi_buffer));
|
||||
memset(tms_buffer, 0, sizeof(tms_buffer));
|
||||
memset(tdi_buffer, 0, sizeof(tdi_buffer));
|
||||
}
|
||||
|
||||
static void jlink_clock_data(const uint8_t *out, unsigned out_offset,
|
||||
|
|
Loading…
Reference in New Issue