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