On Fri, Jun 10, 2011 at 8:01 PM, Michael Schwingen
<rincew...@discworld.dascon.de> wrote:
>>> Changing signals to High-Z is *not* safe. It changes the JTAG signals to
>>> a board-specific state that depends on the pullup/pulldown resistors on
>>> the board. Depending on the old state of the JTAG pins, this may cause a
>>> clock on TCK, with random values on the other pins.
>> Michael, please read carefully, I think you don't understand what we
>> say. There is more philosophy in your talk than it should be. The
>> pull-up or pull-down resistors are used in the electronics to protect
>> against random input states. If you switch output into Hi-Z the
>> pull-up or pull-down resistor will take care of the on the pin state.
> Exactly. And that state may well be different from the state OpenOCD
> drove the pin to.
> For example, in case of a pullup, if OpenOCD drives the pin to "L", and
> we disconnect, placing the pin in High-Z, the pin will see a "H" via the
> pullup - this is a L-H-transition that may cause unwanted operations on
> the target.

Michael, in this situation you probably simply don't want to shut down
the OpenOCD and leave things as-is with your session active
controlling the target. What is the point of leaving target in some
specific state when OpenOCD is not running? It sounds crazy! When
program quits target should behave as nothing was connected, this is
so obvious that I don't really understand the point of this
discussion.

> If OpenOCD drives the Pin to "L" and the board has a pulldown, then
> nothing happens. However, neither OpenOCD nor the FTDI driver can know
> if this is the case.

FT2232 driver has port state cache using {low,high}_output for signals
value (why this wasn't named *_value anyway?) and {low,high}_direction
for port pin direction. This allows to know the state of each pin in
any moment of time. This is used by driver functions and introduced
interface_signal and bitbang sunctionality.

-- 
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to