On Tue, Apr 28, 2009 at 9:21 PM, Michael Bruck <mbr...@digenius.de> wrote:
> On Tue, Apr 28, 2009 at 8:44 PM, Dick Hollenbeck <d...@softplc.com> wrote:
>> Michael,
>>
>>> 1. The underlaying jtag_* layer should produce the same transitions
>>> regardless of the JTAG device. Is there a technical reason why that is
>>> not possible?
>>
>> Not that I am aware of.
>>
>>> The ARM11 driver is certainly programmed with that
>>> assumption in mind.
>>>
>>> I don't think the tap_get_tms_path() is a usable solution,
>>
>> It *is* usable solution, but to a problem other than what you are thinking
>> about.   Trust me, I would not have spent two days on this otherwise.
>
> Ok, I misunderstood the purpose here.
>
>> jtag_add_pathmove() is at the level of your ARM concerns, and can be used
>> with confidence in my opinion.  We need to remove the comment in the jtag.h
>> that says "please don't use this function".
>
> Yes, I too think pathmove used alone is safe. What seems to produce
> varying results are (combinations of) the complex functions like
> jtag_add_ir_scan.
>
> Some context of the discussion got lost here because it went via PM.
> If I understood Øyvind's conclusion correctly he thinks that the
> reason why arm11 doesn't run on *some* jtag interfaces is because they
> produce different intermediate states in these jtag_* calls.

single stepping is broken on parport, but reportedly it works on
ft2232.

I have not seen single stepping working on i.mx31 yet. I'll try to
dig up an ft2232 interface.

> I read between the lines that his conclusion was more pathmoves while
> I would advocate for a jtag_* interface that produces
> consistent/well-defined results on all hardware and *then* adding
> pathmoves if they are still needed.

If the jtag machine is implemented in hardware, then you won't have
precise control over state moves normally. So, my thinking is that
jtag_add_pathmove() should be used whenever there are precise
requirements.

Actually: to test if jtag_add_pathmove()'s are required, then
it would be useful to run a test against a target: once using
the old table and another using the new optimal table.

If the target fails with either, more jtag_add_pathmove()'s are
required.



-- 
Øyvind Harboe
Embedded software and hardware consulting services
http://consulting.zylin.com
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to