On Sunday 27 September 2009, Øyvind Harboe wrote: > > Comments? > > TAP_RESET is special. Navigating to this state > can only be done via jtag_add_tlr().
Or equivalently jtag_add_statemove(TAP_RESET), which calls jtag_add_tlr() in turn. There's bit of a maze at the intermediate levels, which to a first approximation map add_tlr() to a driver level JTAG_STATEMOVE and everything else to JTAG_PATHMOVE. > No assumptions > should be made about the JTAG TAP state as .... e.g. by not calling tap_get_state() ... > jtag_add_tlr() supports being invoked when the state has > been modified by some external event. That doesn't help as much as I'd like, since it's a few levels above where symptoms start to appear. My concern is that it looks like most of the JTAG adapter ("interface") drivers have a bug in this area. STATEMOVE handler code for most drivers seems to assume the current recorded TAP state is correct in all cases ... instead of ignoring it for TAP_RESET transitions. (The first few drivers, in alphabetical order, are all wrong in how they handle that case ...) Fixing around a dozen driver seems messy, but perhaps unavoidable. Do you think I should check in $SUBJECT and have us seek patches and testing for all of the other drivers? - Dave _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development