use tap_get_tms_path_len() instead of fix # of 7. Not tested if this builds, but at least we're looking at a build error instead of a runtime error.

git-svn-id: svn://svn.berlios.de/openocd/trunk@1833 b42882b7-edfa-0310-969c-e2dbd0fdcd60
__archive__
oharboe 2009-05-18 20:25:19 +00:00
parent 23fd80f2b6
commit 7ad67c8b34
6 changed files with 12 additions and 6 deletions

View File

@ -333,8 +333,9 @@ static void armjtagew_state_move(void)
int i; int i;
int tms = 0; int tms = 0;
u8 tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state()); u8 tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state());
int tms_count = tap_get_tms_path_len(tap_get_state(), tap_get_end_state());
for (i = 0; i < 7; i++) for (i = 0; i < tms_count; i++)
{ {
tms = (tms_scan >> i) & 1; tms = (tms_scan >> i) & 1;
armjtagew_tap_append_step(tms, 0); armjtagew_tap_append_step(tms, 0);

View File

@ -161,8 +161,9 @@ void bitq_state_move(tap_state_t new_state)
} }
tms_scan = tap_get_tms_path(tap_get_state(), new_state); tms_scan = tap_get_tms_path(tap_get_state(), new_state);
int tms_count = tap_get_tms_path_len(tap_get_state(), tap_get_end_state());
for (i = 0; i<7; i++) for (i = 0; i<tms_count; i++)
{ {
bitq_io(tms_scan & 1, 0, 0); bitq_io(tms_scan & 1, 0, 0);
tms_scan >>= 1; tms_scan >>= 1;

View File

@ -197,10 +197,11 @@ static void gw16012_state_move(void)
{ {
int i=0, tms=0; int i=0, tms=0;
u8 tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state()); u8 tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state());
int tms_count = tap_get_tms_path_len(tap_get_state(), tap_get_end_state());
gw16012_control(0x0); /* single-bit mode */ gw16012_control(0x0); /* single-bit mode */
for (i = 0; i < 7; i++) for (i = 0; i < tms_count; i++)
{ {
tms = (tms_scan >> i) & 1; tms = (tms_scan >> i) & 1;
gw16012_data(tms << 1); /* output next TMS bit */ gw16012_data(tms << 1); /* output next TMS bit */

View File

@ -916,8 +916,9 @@ void rlink_state_move(void) {
int i=0, tms=0; int i=0, tms=0;
u8 tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state()); u8 tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state());
int tms_count = tap_get_tms_path_len(tap_get_state(), tap_get_end_state());
for (i = 0; i < 7; i++) for (i = 0; i < tms_count; i++)
{ {
tms = (tms_scan >> i) & 1; tms = (tms_scan >> i) & 1;
tap_state_queue_append(tms); tap_state_queue_append(tms);

View File

@ -247,9 +247,10 @@ static void usbprog_state_move(void)
{ {
int i = 0, tms = 0; int i = 0, tms = 0;
u8 tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state()); u8 tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state());
int tms_count = tap_get_tms_path_len(tap_get_state(), tap_get_end_state());
usbprog_jtag_write_tms(usbprog_jtag_handle, (char)tms_scan); usbprog_jtag_write_tms(usbprog_jtag_handle, (char)tms_scan);
for (i = 0; i < 7; i++) for (i = 0; i < tms_count; i++)
{ {
tms = (tms_scan >> i) & 1; tms = (tms_scan >> i) & 1;
} }

View File

@ -686,8 +686,9 @@ static int zy1000_jtag_add_clocks(int num_cycles, tap_state_t state, tap_state_t
/* test manual drive code on any target */ /* test manual drive code on any target */
int tms; int tms;
u8 tms_scan = tap_get_tms_path(t, state); u8 tms_scan = tap_get_tms_path(t, state);
int tms_count = tap_get_tms_path_len(tap_get_state(), tap_get_end_state());
for (i = 0; i < 7; i++) for (i = 0; i < tms_count; i++)
{ {
tms = (tms_scan >> i) & 1; tms = (tms_scan >> i) & 1;
waitIdle(); waitIdle();