update links for xc3sprog
[usb-driver] / index.html
026cbe49 1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
3 <HEAD>
4 <TITLE>XILINX USB/Parallel JTAG cables on Linux without windrvr</TITLE>
5 </HEAD>
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
2b78cb99 11 on Linux, the proprietary kernel module <i>windrvr</i> from <a href="http://www.jungo.com">Jungo</a>
026cbe49 12 is needed to access the parallel- or usb-cable.
13 As this module does not work with current linux kernel versions (&gt; 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
4d2daea0 19 <a href="http://people.redhat.com/twaugh/parport/html/x623.html">ppdev</a> interface to communicate
026cbe49 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>
7606d470 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>
026cbe49 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 <P><B>News</B>
34 <UL>
cc424c9b 35 <LI><P><I>2008-03-26</I>: Xilinx has released their own drivers based on libusb with ISE Design Suite 10.1.
36 To use them, you need to set the environment-variable <kbd>XIL_IMPACT_USE_LIBUSB</kbd> to <kbd>1</kbd>
37 before running the tools. The driver on this page no longer needs to be preloaded if you only used
38 it to access USB cables. Parallel port support still seems to rely on <i>windrvr</i>, which can be
39 emulated by <i>libusb-driver</i>.</P>
40 <P><B>Using 32-bit ISE 10.1 on a 64-bit platform:</B> When using the 32-bit JTAG tools from ISE Design
41 Suite 10.1 on a 64-bit machine, the tools will not connect to the cable but output the following
42 error: <I>Cable operation is not supported when running the 32-bit version of the application on a
43 64-bit platform.</I>
44 To fix this, run the tools with <KBD>linux32</KBD> or preload the newest 32-bit version of
45 <i>libusb-driver</i>. This will lead the tools to believe that they are running on a 32-bit
cc424c9b 46 platform and allows them to connect to the cable.</P></LI>
06f5f9d0 47
4d5f52f3 48 <LI><P><I>2009-05-31</I>: ISE Design Suite 11.1 now uses Xilinx's libusb-based drivers as default, without
49 the need to set <kbd>XIL_IMPACT_USE_LIBUSB</kbd>. If you want to use this driver with ISE 11.1 for USB
50 cables and disable the builtin support for libusb, you now have to set <kbd>XIL_IMPACT_USE_LIBUSB</kbd>
51 to <kbd>0</kbd> (<kbd>export XIL_IMPACT_USE_LIBUSB=0</kbd> or <kbd>setenv XIL_IMPACT_USE_LIBUSB 0</kbd>).
52 For parallel cables Xilinx still relies on <i>windrvr</i>. This library works fine with parallel cables and
53 ISE 11.1 with no need for <i>windrvr</i>.</P></LI>
55 <LI><P><I>2010-03-15</I>: If you are using newer udev-versions (like the version included in Debian Squeeze
56 and Ubuntu 9.10), then the file <i>/etc/udev/rules.d/xusbdfwu.rules</i> is incompatible with this udev
57 version. The effect of this is that the cable-firmware gets never loaded and the cable led never lights up.</P>
58 <P>To fix this, run the following command as root:<BR>
59 <kbd>sed -i -e 's/TEMPNODE/tempnode/' -e 's/SYSFS/ATTRS/g' -e 's/BUS/SUBSYSTEMS/' /etc/udev/rules.d/xusbdfwu.rules</kbd><BR>
60 You may have to reboot for this change to take effect.</P></LI>
4ba5d6d9 61
a90dd207 62 <LI><P><I>2010-05-22</I>: Support for ISE 12 is now available in the driver.</P></LI>
0f785f00 63
50cb89f5 64 <LI><P><I>2011-05-08</I>: Support for ISE 13 is now available in the driver. A rewritten version of <i>setup_pcusb</i>
0f785f00 65 which works on modern distributions has been added.</P></LI>
06f5f9d0 66 </UL>
d6cf2032 67 </P>
026cbe49 68 <H2>Supported Cables</H2>
69 The following cables are reported to work with this driver:
70 <ul>
f10305a8 71 <li><a href="http://www.xilinx.com/support/documentation/data_sheets/ds593.pdf">XILINX Platform Cable USB II</a></li>
e9a331c7 72 <li><a href="http://direct.xilinx.com/bvdocs/publications/ds300.pdf">XILINX Platform Cable USB DLC9, DLC9LP and DLC9G</a></li>
026cbe49 73 <li><a href="http://www.xilinx.com/s3estarter">Integrated Platform Cable USB on Spartan 3E starter kit</a></li>
de6f38de 74 <li><a href="http://www.xilinx.com/s3astarter">Integrated Platform Cable USB on Spartan 3A starter kit</a></li>
20ce0945 75 <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>
21a5b635 76 <li><a href="http://direct.xilinx.com/bvdocs/publications/ds097.pdf">XILINX Parallel Cable IV</a> (in Parallel Cable III compatibility mode)</li>
9bb134bb 77 <li>FCPU-X platform cable (XILINX Platform Cable USB clone)</li>
026cbe49 78 <li><a href="http://www.enterpoint.co.uk/">Enterpoint Prog2</a> Parallel Cable III clone</li>
79 <li><a href="http://www.trenz-electronic.de/">Trenz TE0149-01</a> Parallel Cable III clone</li>
9ec5ba04 80 <li><a href="http://www.digilentinc.com/Products/Catalog.cfm?Nav1=Products&amp;Nav2=Cables&amp;Cat=Cable">Digilent JTAG3</a> Parallel Cable III clone</li>
7606d470 81 <li><a href="http://www.amontec.com/">Amontec JTAGkey-Tiny</a> (experimental)</li>
026cbe49 82 </ul>
78d5d21d 83 These cables should work but have not yet been tested:
84 <ul>
78d5d21d 85 <li>Integrated Platform Cable USB on other development boards</li>
86 <li>other Parallel Cable III clones</li>
7606d470 87 <li>other FTDI2232 based devices which use the chips standard JTAG pinout (experimental)</li>
78d5d21d 88 </ul>
026cbe49 89 <H2>Supported Software</H2>
90 The following software is reported to work with this driver:
91 <ul>
0f785f00 92 <li><a href="http://www.xilinx.com/tools/designtools.htm">ISE 13</a> (all editions)</li>
b316fb2f 93 <li><a href="http://www.xilinx.com/tools/designtools.htm">ISE 12</a> (all editions)</li>
4d5f52f3 94 <li><a href="http://www.xilinx.com/tools/designtools.htm">ISE 11</a> (all editions)</li>
718362b4 95 <li><a href="http://www.xilinx.com/ise/logic_design_prod/webpack.htm">ISE Webpack 10.1</a></li>
04d489ad 96 <li><a href="http://www.xilinx.com/ise/logic_design_prod/webpack.htm">ISE Webpack 9.2 SP1, SP2, SP3 and SP4</a></li>
97 <li><a href="http://www.xilinx.com/ise/logic_design_prod/webpack.htm">ISE Webpack 9.1 SP1, SP2 and SP3</a></li>
98 <li><a href="http://www.xilinx.com/ise/logic_design_prod/webpack.htm">ISE Webpack 8.2 SP3</a></li>
99 <li><a href="http://www.xilinx.com/ise/logic_design_prod/webpack.htm">ISE Webpack 8.1 SP3</a></li>
718362b4 100 <li><a href="http://www.xilinx.com/ise/optional_prod/cspro.htm">ChipScope Pro 10.1</a></li>
04d489ad 101 <li><a href="http://www.xilinx.com/ise/optional_prod/cspro.htm">ChipScope Pro 9.2.01i, 9.2.02i, 9.2.03i and 9.2.04i</a></li>
59fab31f 102 <li><a href="http://www.xilinx.com/ise/optional_prod/cspro.htm">ChipScope Pro 9.1.02i and 9.1.03i</a></li>
026cbe49 103 <li><a href="http://www.xilinx.com/ise/optional_prod/cspro.htm">ChipScope Pro 8.2.04i</a></li>
718362b4 104 <li><a href="http://www.xilinx.com/ise/embedded_design_prod/platform_studio.htm">EDK 10.1</a></li>
b9423a53 105 <li><a href="http://www.xilinx.com/ise/embedded_design_prod/platform_studio.htm">EDK 9.2.01i and 9.2.02i</a></li>
59fab31f 106 <li><a href="http://www.xilinx.com/ise/embedded_design_prod/platform_studio.htm">EDK 9.1.01i and 9.1.02i</a></li>
026cbe49 107 <li><a href="http://www.xilinx.com/ise/embedded_design_prod/platform_studio.htm">EDK 8.2.02i</a></li>
2271fdf2 108 <li><a href="http://www.xilinx.com/ise/embedded_design_prod/platform_studio.htm">EDK 8.1.02i</a></li>
337944d1 109 <li><a href="http://www.synplicity.com/products/identify/index.html">Synplicity Identify Debugger</a></li>
026cbe49 110 </ul>
111 <H2>Download</H2>
112 <ul>
8d29f0a4 113 <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>
badd6a82 114 <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>
e9b47752 115 <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>
9ec5ba04 116 <li>Precompiled <a href="libusb-driver.so">libusb-driver.so</a> for Debian Etch, but better build your own</li>
b22eea29 117 <li>Clone the <a href="http://git.or.cz/">Git</a> repository with: <kbd>git clone git://git.zerfleddert.de/usb-driver</kbd></li>
41d0a9f7 118 </ul>
119 <H2>Links</H2>
120 <ul>
121 <li><a href="http://groups.google.com/group/comp.arch.fpga/msg/94d8bb1f52e06b44">XILINX listened</a></li>
122 <li><a href="http://svenand.blogdrive.com/archive/55.html">Installation instructions using a MacBook running Ubuntu in VMware by Sven Andersson</a></li>
b3158171 123 <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>
9ec5ba04 124 <li><a href="http://groups.google.com/group/comp.arch.fpga/msg/2dfa36541174a4f2">Ubuntu installation instructions by Luzerne</a></li>
41d0a9f7 125 <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>
9ec5ba04 126 <li><a href="http://groups.google.com/group/comp.arch.fpga/browse_frm/thread/f149e5b6028e2c70">Initial announcement on comp.arch.fpga</a></li>
2d19c7cb 127 <li><a href="http://xc3sprog.sourceforge.net/">xc3sprog</a>, a suite of utilities for programming Xilinx FPGAs, CPLDs, and EEPROMs with the Xilinx Parallel Cable and other JTAG adapters under Linux</li>
57d4107e 128 <li><a href="http://inisyn.org/src/xup/">XUP</a> by inisyn research, opensource JTAG programming for Spartan 3E starter kit USB cable</li>
129 <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>
2d19c7cb 130 <li><a href="http://xc3sprog.sourceforge.net/">Spartan3 JTAG download tools for GNU/Linux (xc3sprog)</a></li>
120876a3 131 <li><a href="http://urjtag.org/">UrJTAG</a>, open source jtag tools with basic support for the xilinx XPCU</a></li>
026cbe49 132 </ul>
133 <HR>
f19a030c 134 <FONT SIZE="-1"><I><A HREF="mailto:cabledriver@zerfleddert.de">Michael Gernoth</A></I></FONT>
026cbe49 135 </BODY>
Impressum, Datenschutz