]>
Commit | Line | Data |
---|---|---|
1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | |
2 | <HTML> | |
3 | <HEAD> | |
4 | <TITLE>XILINX USB/Parallel JTAG cables on Linux without windrvr</TITLE> | |
5 | </HEAD> | |
6 | <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> | |
7 | <H1>XILINX JTAG tools on Linux without proprietary kernel modules</H1> | |
8 | <H2>About</H2> | |
9 | <P> | |
10 | When using <a href="http://www.xilinx.com">XILINX</a> JTAG software like Impact, Chipscope and XMD | |
11 | on Linux, the proprietary kernel module <i>windrvr</i> from <a href="http://www.jungo.com">Jungo</a> | |
12 | is needed to access the parallel- or usb-cable. | |
13 | As this module does not work with current linux kernel versions (> 2.6.18) a library was developed, | |
14 | which emulates the module in userspace and allows the tools to access the JTAG cable without the need | |
15 | for a proprietary kernel module. | |
16 | </P> | |
17 | <P> | |
18 | The library uses <a href="http://libusb.sourceforge.net/">libusb</a> to access USB devices and the | |
19 | <a href="http://people.redhat.com/twaugh/parport/html/x623.html">ppdev</a> interface to communicate | |
20 | with parallel cables. The parallel part currently only supports Parallel Cable III mode (and PCIV in | |
21 | PCIII compatibility mode) as the faster PCIV modes use another kernel module which is not emulated by | |
22 | this library. So you are limited to a 200kHz JTAG clock when using Parallel Cable IV with this software. | |
23 | The USB cable is supported at full speed. | |
24 | </P> | |
25 | <P> | |
26 | Experimental support for FTDI 2232 based devices has been added. They are seen by Impact as a Parallel | |
27 | Cable III. These devices are currently significantly slower than every other supported cable. | |
28 | </P> | |
29 | <P> | |
30 | The library is called <i>libusb-driver</i> as it was developed to support the USB cable, but later | |
31 | extended to also support parallel cables. | |
32 | </P> | |
33 | <H2>Supported Cables</H2> | |
34 | The following cables are reported to work with this driver: | |
35 | <ul> | |
36 | <li><a href="http://direct.xilinx.com/bvdocs/publications/ds300.pdf">XILINX Platform Cable USB DLC9, DLC9LP and DLC9G</a></li> | |
37 | <li><a href="http://www.xilinx.com/s3estarter">Integrated Platform Cable USB on Spartan 3E starter kit</a></li> | |
38 | <li><a href="http://www.xilinx.com/s3astarter">Integrated Platform Cable USB on Spartan 3A starter kit</a></li> | |
39 | <li><a href="http://www.digilentinc.com/Products/Detail.cfm?Nav1=Products&Nav2=Programmable&Prod=XUPV2P">Integrated Platform Cable USB on XUP-V2Pro</a></li> | |
40 | <li><a href="http://direct.xilinx.com/bvdocs/publications/ds097.pdf">XILINX Parallel Cable IV</a> (in Parallel Cable III compatibility mode)</li> | |
41 | <li><a href="http://www.enterpoint.co.uk/">Enterpoint Prog2</a> Parallel Cable III clone</li> | |
42 | <li><a href="http://www.trenz-electronic.de/">Trenz TE0149-01</a> Parallel Cable III clone</li> | |
43 | <li><a href="http://www.digilentinc.com/Products/Catalog.cfm?Nav1=Products&Nav2=Cables&Cat=Cable">Digilent JTAG3</a> Parallel Cable III clone</li> | |
44 | <li><a href="http://www.amontec.com/">Amontec JTAGkey-Tiny</a> (experimental)</li> | |
45 | </ul> | |
46 | These cables should work but have not yet been tested: | |
47 | <ul> | |
48 | <li>Integrated Platform Cable USB on other development boards</li> | |
49 | <li>other Parallel Cable III clones</li> | |
50 | <li>other FTDI2232 based devices which use the chips standard JTAG pinout (experimental)</li> | |
51 | </ul> | |
52 | <H2>Supported Software</H2> | |
53 | The following software is reported to work with this driver: | |
54 | <ul> | |
55 | <li><a href="http://www.xilinx.com/ise/logic_design_prod/webpack.htm">ISE Webpack 9.2 SP1 and SP2</a></li> | |
56 | <li><a href="http://www.xilinx.com/ise/logic_design_prod/webpack.htm">ISE Webpack 9.1 SP1, SP2 and SP3</a></li> | |
57 | <li><a href="http://www.xilinx.com/ise/logic_design_prod/webpack.htm">ISE Webpack 8.2 SP3</a></li> | |
58 | <li><a href="http://www.xilinx.com/ise/logic_design_prod/webpack.htm">ISE Webpack 8.1 SP3</a></li> | |
59 | <li><a href="http://www.xilinx.com/ise/optional_prod/cspro.htm">ChipScope Pro 9.2.01i</a></li> | |
60 | <li><a href="http://www.xilinx.com/ise/optional_prod/cspro.htm">ChipScope Pro 9.1.02i and 9.1.03i</a></li> | |
61 | <li><a href="http://www.xilinx.com/ise/optional_prod/cspro.htm">ChipScope Pro 8.2.04i</a></li> | |
62 | <li><a href="http://www.xilinx.com/ise/embedded_design_prod/platform_studio.htm">EDK 9.1.01i and 9.1.02i</a></li> | |
63 | <li><a href="http://www.xilinx.com/ise/embedded_design_prod/platform_studio.htm">EDK 8.2.02i</a></li> | |
64 | <li><a href="http://www.xilinx.com/ise/embedded_design_prod/platform_studio.htm">EDK 8.1.02i</a></li> | |
65 | <li><a href="http://www.synplicity.com/products/identify/index.html">Synplicity Identify Debugger</a></li> | |
66 | </ul> | |
67 | <H2>Download</H2> | |
68 | <ul> | |
69 | <li>Download <a href="http://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver?a=snapshot;h=HEAD;sf=tgz">usb-driver-HEAD.tar.gz</a> (to build it, you need to have the libusb development package installed. It is called libusb-dev on Debian.)</li> | |
70 | <li>Read the <a href="http://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver?a=blob_plain;f=README;hb=HEAD">README</a></li> | |
71 | <li>Browse the <a href="http://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver?a=tree">Git repository</a> (<a href="http://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver">Summary</a>)</li> | |
72 | <li>Precompiled <a href="libusb-driver.so">libusb-driver.so</a> for Debian Etch, but better build your own</li> | |
73 | <li>Clone the <a href="http://git.or.cz/">Git</a> repository with: <kbd>git clone git://git.zerfleddert.de/usb-driver</kbd></li> | |
74 | </ul> | |
75 | <H2>Links</H2> | |
76 | <ul> | |
77 | <li><a href="http://groups.google.com/group/comp.arch.fpga/msg/94d8bb1f52e06b44">XILINX listened</a></li> | |
78 | <li><a href="http://svenand.blogdrive.com/archive/55.html">Installation instructions using a MacBook running Ubuntu in VMware by Sven Andersson</a></li> | |
79 | <li><a href="http://groups.google.com/group/comp.arch.fpga/browse_thread/thread/954a145428ec2c54/555f6bfb766a3a93#555f6bfb766a3a93">Using the libusb-driver on a 64bit system with a 32bit ISE by Ken Ryan</a></li> | |
80 | <li><a href="http://groups.google.com/group/comp.arch.fpga/msg/2dfa36541174a4f2">Ubuntu installation instructions by Luzerne</a></li> | |
81 | <li><a href="http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/archive/2007/03/msg00101.html">Ubuntu installation instructions by Paul-Armand Verhaegen</a></li> | |
82 | <li><a href="http://groups.google.com/group/comp.arch.fpga/browse_frm/thread/f149e5b6028e2c70">Initial announcement on comp.arch.fpga</a></li> | |
83 | <li><a href="http://inisyn.org/src/xup/">XUP</a> by inisyn research, opensource JTAG programming for Spartan 3E starter kit USB cable</li> | |
84 | <li><a href="http://www.ixo.de/info/usb_jtag/">USB JTAG adapter</a> by Kolja Waschk, opensource integration of the XILINX platform cable USB into OpenOCD and openwince JTAG Tools</li> | |
85 | <li><a href="http://www.rogerstech.co.uk/xc3sprog/">Spartan3 JTAG download tools for GNU/Linux (xc3sprog)</a></li> | |
86 | </ul> | |
87 | <HR> | |
88 | <FONT SIZE="-1"><I><A HREF="mailto:cabledriver@zerfleddert.de">Michael Gernoth</A></I></FONT> | |
89 | </BODY> | |
90 | </HTML> |