initial "transport" framework
commit93f2afa45f4cfcb8afd08dae5a17996dba5c7a9c
authorDavid Brownell <dbrownell@users.sourceforge.net>
Fri, 2 Jul 2010 20:45:28 +0000 (2 16:45 -0400)
committerDavid Brownell <db@helium.(none)>
Fri, 2 Jul 2010 20:45:28 +0000 (2 16:45 -0400)
tree0c03935bd09e77c5edd98e1b356f0ffbc3df239b
parentdeb176d33514eb6b702b14043c338b2d0053f11d
initial "transport" framework

This adds the guts of a transport framework with initialization,
which should work with current JTAG-only configurations (tested
with FT2232).

Each debug adapter can declare the transports it supports, and
exactly one transport is initialized.  (with its commands) in
any given OpenOCD session.

  * Define a new "struct transport with init hooks and a few
 "transport"  subcommands to support it:

     "list" ... list the transports configured (just "jtag" for now)
     "select" ... makes the debug session use that transport
     "init" ... initializes the selected transport (internal)

  * "interface_transports" ... declares transports the current interface
    can support.  (Some will do this from C code instead, when there are
    no hardware versioning (or other) issues to prevent it.

Plus some FT2232 tweaks, including a few to streamline upcoming
support for an SWD transport (initially for Luminary adapters).

Eventually src/jtag should probably become src/transport, moving
jtag-specific stuff  to transport/jtag.

Signed-off-by: David Brownell <db@helium.(none)>
NEWS
doc/openocd.texi
src/jtag/Makefile.am
src/jtag/adapter.c
src/jtag/core.c
src/jtag/drivers/ft2232.c
src/jtag/jtag.h
src/jtag/transport.c [new file with mode: 0644]
src/jtag/transport.h [new file with mode: 0644]
src/openocd.c