The original idea behind the 7-clocks table and the stable states for which it 
was defined was that it shouldn't matter how the state machine moves from one 
stable state to another, as long as some constraints are met like not passing 
through Test-Logic-Reset or Run-Test/Idle unless ordered to.

The magic number seven comes from the Raven parallel port JTAG interface that 
only allowed TMS moves of exactly 7 cycles. Seeing that there were JTAG 
interfaces that came with such restrictions I decided that it was better if 
the upper layers made no assumptions about how a state is entered.

Later when I added XScale and XSVF support I realized that there are targets 
that place additional constraints on the path that should be used, so I ended 
up adding the path move. I never examined how the xscale requirements could be 
met with only 7-cycle TMS moves, but as the Raven supports xscale it's 
apparently possible.

Maybe this background helps you understand why the code looks like what it is 
now.

Regards,

Dominic
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to