Added section about link drivers (parport and usbconn)

git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@1091 b68d4a1b-bc3d-0410-92ed-d4ac073336b7
master
Kolja Waschk 17 years ago
parent 77804164d6
commit af95156e6c

@ -24,6 +24,8 @@
* src/tap/cable/jlink.c: New driver for Segger J-Link, Atmel SAM-ICE etc.
based on usbconn link driver
* doc/UrJTAG.txt: Added section about link drivers
2008-02-24 Eugene Boldenkov <eugene_b>
* src/bus/mpc824x.c: Add 32-bit bus support (1900847)

@ -316,7 +316,7 @@ Cygwin environment, first get it from:
Unzip the CDM*.zip to some directory and tell UrJTAG about this directory
during the configure step before actual compilation:
./configure --with-libftd2xx=/cygdrive/c/windows/temp/CDM_Drivers
./configure --with-ftd2xx=/cygdrive/c/windows/temp/CDM_Drivers
All other USB JTAG adapters can be supported only if libusb is installed.
There is a libusb-win32 variant that can be used in a Cygwin environment:
@ -959,8 +959,8 @@ src/tap:: Functions for accessing the chain in general
=== Drivers ===
* Cable-specific drivers
* Parport drivers
* Cable drivers
* Link drivers
* TAP drivers
* Chain drivers
* Bus drivers
@ -1137,6 +1137,46 @@ look at the code in src/tap/cable/generic.c, which contains generic routines,
suitable for parallel port based cables (and some for other types of cables as
well).
==== Link drivers ====
Link drivers like the "parport" driver collection provide the basis for
communication between cable driver and actual JTAG adapter. The openwince JTAG
tools supported only parallel port links with the "parport" drivers. UrJTAG
introduced support for USB links, but in the early releases the drivers for
these just mimic the parallel port links.
The basic functions provided by all link drivers are
* connect(), to called from cable driver connect()
* open(), to actually connect to the device during cable driver init()
* close(), to disconnect from the device during cable driver done()
* free(), to free all resources, called from cable driver free()
===== parport =====
Currently there are parport drivers for direct access to the parallel port on a
PC using I/O addresses (direct.c), and for using ppdev on Linux or ppi on FreeBSD.
In addition, there are "ftdi" and "ftd2xx" parport drivers that actually are for
communication with USB cables based on FTDI chips. They cannot be used for
connecting old parallel port cables through parallel to USB adapters with FTDI
chips, and probably soon will be rewritten as "usbconn" drivers instead.
All parport drivers present a common API for setting and reading signals.
===== usbconn =====
The usbconn drivers provide a common API to search for and connect with USB
devices. At the moment, there's only a libusb driver, but others will follow
(e.g. to communicate with FTDI chip based cables through libftdi and/or FTD2XX,
to communicate with Cypress FX2 using EZUSB.SYS or CyUSB.sys, and more).
In contrast to the parport API, the usbconn drivers provide only the functions
for connecting, disconnecting, and for releasing ressources. The actual
communication must be implemented using the underlying library's functions,
e.g. usb_write from libusb, or ftdi_write from libftdi. Therefore, each driver
using usbconn usually only works together with one particular usbconn driver.
==== Bus drivers ====
Bus drivers translate read and write operations on a bus into JTAG commands

Loading…
Cancel
Save