On Thu, Sep 27, 2012 at 3:34 PM, Spencer Oliver <[email protected]> wrote:
> so if my understanding is getting any better then the following are
> the same (except last one).
>
> reset config srst open drain (default)
> ftdi_layout_init 0x0308 0x030b
> ftdi_layout_signal nSRST -noe 0x0200
>
> reset config srst push pull
> ftdi_layout_signal nSRST -data 0x0200
>
> reset config srst push pull
> ftdi_layout_signal nSRST -data 0x0200 -oe 0x0200

Yes, even the previous one is equivalent, because with srst_push_pull,
oe will always be active. Only the data pin 0x0020 will toggle, just
as in the other two cases. Note that having the same mask for both
data and oe is a special case for unbuffered connection, so when I say
that oe will always be active, in this case it will mean that the FTDI
pin direction will remain output.

> however this is the only config that will treat the srst as open drain.
> reset config srst open drain (default)
> ftdi_layout_signal nSRST -data 0x0200 -oe 0x0200

Yes, and this special case with -data and -oe equal is the only
setting that will ever touch the FTDI pin direction.

> I have tested all the above with the str9 comstick that i had to hand,
> and they all work as expected.
> In this case the latter config was chosen as the srst is tied directly
> to the str9 on the comstick.
>
> Must say the new ftdi driver config is very flexible :-)

With flexibility often comes complex configuration. But I don't think
this is any harder than adding an interface to the old driver, at
least not once documentation is in place.

A useful feature is the ability to set FTDI pins directly. I recently
used it with a Cortex-M3 that behaved erratically and wouldn't reset
and halt properly using the normal reset init. But if I manually held
it in reset with ftdi_set_signal nSRST 0, activated the reset vector
catch and released the reset with ftdi_set_signal nSRST z, it would
stop at the reset vector. Turns out the chip was fried internally and
crashed after some operations.

You can also hook up an FTDI pin to, say, switch power to the target
on/off, define a signal for it, and control it from within OpenOCD.

/Andreas

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to