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
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development