intermediate web page update

git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@1781 b68d4a1b-bc3d-0410-92ed-d4ac073336b7
master
Arnim Läuger 14 years ago
parent 5a6a762050
commit b462150ed3

@ -4,7 +4,7 @@
<book lang="en">
<bookinfo>
<title>Universal JTAG library, server and tools</title>
<date>2009-04-08</date>
<date>2010-02-16</date>
<author>
<firstname>Kolja</firstname>
<othername>Waschk</othername>
@ -12,7 +12,7 @@
</author>
<authorinitials>KW(</authorinitials>
<revhistory><revision><revnumber>1482</revnumber><date>2009-04-08</date><authorinitials>KW(</authorinitials></revision></revhistory>
<revhistory><revision><revnumber>1778</revnumber><date>2010-02-16</date><authorinitials>KW(</authorinitials></revision></revhistory>
</bookinfo>
<chapter id="_copyright">
@ -29,7 +29,7 @@ the section entitled "GNU Free Documentation License".</simpara>
<title>General</title>
<section id="_jtag">
<title>JTAG</title>
<simpara>JTAG basics can be found all over the internet. This section should go into
<simpara>JTAG basics can be found all over the Internet. This section should go into
some more details about working with JTAG. What hardware do you need, what is
the usage of JTAG, where do I get files. What file formats are available&#8230;</simpara>
@ -69,31 +69,31 @@ control machine also allows to have two internal shift registers in each device
(although we only have on in- and one output-pin). The registers are called
instruction register (IR) and data register (DR). The current UrJTAG tool
allows you to set the IR and set and get the DR. It doesn't allow you to
directly control the statemachine (yet).</simpara>
directly control the state machine (yet).</simpara>
</section>
<section id="_interfaces">
<title>Interfaces</title>
<simpara>The simplest interface that you can build is like the Xilinx parallel cable
(also called DLC5). If your device works with a 5V or 3.3V supply voltage then
this device can even be build just with passive parts. (picture missing here)
this device can even be built just with passive parts. (picture missing here)
UrJTAG also supports a number of other interface adapters.</simpara>
</section>
<section id="_additions">
<title>Additions</title>
<simpara>In the meantime the jtag specification was used as a basis for programming
<simpara>In the meantime the JTAG specification was used as a basis for programming
flash files and debugging processors. UrJTAG supports programming a couple of
different flash devices. It also supports programming of non-flash devices via
svf files. UrJTAG does not support debugging yet. Other open source solutions
SVF files. UrJTAG does not support debugging yet. Other open source solutions
such as OpenOCD allow you to debug ARM processors with gdb.</simpara>
</section>
<section id="_bsdl_and_urjtag_data_files">
<title>BSDL and UrJTAG data files</title>
<simpara>The BSDL file format describes the jtag interface for one IC. It is a VHDL
<simpara>The BSDL file format describes the JTAG interface for one IC. It is a VHDL
syntax with the needed information (like pin-names, register lengths and
commands) that is usually done by the supplier. e.g. Xilinx BSDL files are
commands) that is usually created by the supplier. e.g. Xilinx BSDL files are
all included in their free web-pack (using file extension ".bsd").</simpara>
<simpara>UrJTAG uses a different file format internally. So in order to add a new device
@ -110,15 +110,15 @@ convert the BSDL file.</simpara>
</section>
<section id="_svf_files">
<title>SVF files</title>
<simpara>The SVF file format contains a number of high level commands to drive the jtag
<simpara>The SVF file format contains a number of high level commands to drive the JTAG
bus. For example you can shift the IR or DR and even check for the results.
The Xilinxs impact and Altera QuartusII tools allow you to write this file to
The Xilinx Impact and Altera QuartusII tools allow you to write this file to
program devices.</simpara>
<simpara>The player has been developed according to the "Serial Vector Format
Specification", Revision E, 8 March 1999 issued by ASSET InterTech, Inc. The
full specification can be found at
<ulink url="http://www.asset-intertech.com/support/svf.pdf">http://www.asset-intertech.com/support/svf.pdf</ulink></simpara>
<ulink url="http://www.asset-intertech.com/support/svf.pdf">http://www.asset-intertech.com/support/svf.pdf</ulink>.</simpara>
<simpara>UrJTAG features an "SVF player" that can read SVF files and perform the
described actions on the bus.</simpara>
@ -141,17 +141,17 @@ more. STAPL is not yet supported by UrJTAG.</simpara>
<title>UrJTAG</title>
<section id="_introduction_2">
<title>Introduction</title>
<simpara>UrJTAG Tools is a software package which enables working with JTAG-aware (IEEE
1149.1) hardware devices (parts) and boards through JTAG adapter.</simpara>
<simpara>UrJTAG is a software package which enables working with JTAG-aware (IEEE
1149.1) hardware devices (parts) and boards through a JTAG adapter.</simpara>
<simpara>This package has open and modular architecture with ability to write
<simpara>This package has an open and modular architecture with the ability to write
miscellaneous extensions (like board testers, flash memory programmers, and so
on).</simpara>
<simpara>JTAG Tools package is free software, covered by the GNU General Public License,
<simpara>UrJTAG is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under certain
conditions. There is absolutely no warranty for JTAG Tools. Please read
COPYING file for more info.</simpara>
conditions. There is absolutely no warranty for UrJTAG. Please read
the COPYING file for more info.</simpara>
<warning><simpara>This software may damage your hardware!</simpara></warning>
<simpara>Feedback and contributions are welcome.</simpara>
@ -166,8 +166,8 @@ at the UrJTAG website.</simpara>
</section>
<section id="_urjtag_website">
<title>UrJTAG Website</title>
<simpara>The most current version of this documentation and UrJTAG sourcecode
is always available from the project homepage at <ulink url="http://www.urjtag.org">http://www.urjtag.org</ulink></simpara>
<simpara>The most current version of this documentation and UrJTAG source code
is always available from the project homepage at <ulink url="http://www.urjtag.org">http://www.urjtag.org</ulink>.</simpara>
</section>
<section id="_the_name_urjtag">
@ -205,12 +205,13 @@ wings of the UrJTAG project at Sourceforge.</simpara>
<section id="_supported_host_operating_systems">
<title>Supported host operating systems</title>
<simpara>JTAG Tools should run on all Unix like operating systems including MS Windows
with Cygwin installed.</simpara>
with Cygwin installed. A precompiled version that runs on MS Windows without
Cygwin is available as a Windows installer executable.</simpara>
</section>
<section id="_required_software_for_running_urjtag">
<title>Required software for running UrJTAG</title>
<simpara>Required only for MS Windows:</simpara>
<simpara>Required only for MS Windows, unless you use the precompiled version:</simpara>
<itemizedlist>
<listitem>
@ -231,8 +232,8 @@ driver in the system.</simpara>
the system as well. It's probably a standard part of your distribution.</simpara>
<simpara>More software is needed if you want to compile UrJTAG (which you probably want
because currently no pre-compiled binaries are avaible&#8230;). See "Installation"
below.</simpara>
because currently no pre-compiled binaries are available&#8230;).
See "Installation" below.</simpara>
</section>
<section id="_supported_jtag_adapters_cables">
@ -353,7 +354,12 @@ USB to JTAG Interface (experimental)
</listitem>
<listitem>
<simpara>
Black gnICE <ulink url="http://docs.blackfin.uclinux.org/doku.php?id=hw:jtag:gnice">http://docs.blackfin.uclinux.org/doku.php?id=hw:jtag:gnice</ulink>
Blackfin gnICE <ulink url="http://docs.blackfin.uclinux.org/doku.php?id=hw:jtag:gnice">http://docs.blackfin.uclinux.org/doku.php?id=hw:jtag:gnice</ulink>
</simpara>
</listitem>
<listitem>
<simpara>
Blackfin gnICE+ <ulink url="http://docs.blackfin.uclinux.org/doku.php?id=hw:jtag:gnice-plus">http://docs.blackfin.uclinux.org/doku.php?id=hw:jtag:gnice-plus</ulink>
</simpara>
</listitem>
<listitem>
@ -381,9 +387,15 @@ Xilinx Platform USB Cable / DLC9 (slow, experimental, work in progress - don't u
</simpara>
</listitem>
</itemizedlist>
<simpara>Other cables:
* Technologic Systems TS-7800 SoC GPIO builtin JTAG interface</simpara>
<simpara>Other cables:</simpara>
<itemizedlist>
<listitem>
<simpara>
Technologic Systems TS-7800 SoC GPIO builtin JTAG interface
</simpara>
</listitem>
</itemizedlist>
</section>
<section id="_jtag_aware_parts_chips">
<title>JTAG-aware parts (chips)</title>
@ -413,6 +425,58 @@ Altera Cyclone I &amp; II (w/ BSDL)
</listitem>
<listitem>
<simpara>
Analog Devices Blackfin (w/ BSDL)
</simpara>
<itemizedlist>
<listitem>
<simpara>
BF504/BF506
</simpara>
</listitem>
<listitem>
<simpara>
BF512/BF514/BF516/BF518
</simpara>
</listitem>
<listitem>
<simpara>
BF522/BF523/BF524/BF525/BF526/BF527
</simpara>
</listitem>
<listitem>
<simpara>
BF531/BF532/BF533
</simpara>
</listitem>
<listitem>
<simpara>
BF538/BF539
</simpara>
</listitem>
<listitem>
<simpara>
BF534/BF536/BF537
</simpara>
</listitem>
<listitem>
<simpara>
BF542/BF544/BF547/BF548/BF549
</simpara>
</listitem>
<listitem>
<simpara>
BF561
</simpara>
</listitem>
<listitem>
<simpara>
BF592
</simpara>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<simpara>
Analog Devices Sharc-21065L
</simpara>
</listitem>
@ -610,6 +674,31 @@ algorithm.</simpara>
</section>
<section id="_compilation_and_installation">
<title>Compilation and installation</title>
<section id="_installation_of_precompiled_urjtag_for_windows">
<title>Installation of precompiled UrJTAG for Windows</title>
<simpara>By simply running UrJTAG-xxx.exe, the executable and data files will
be installed in your Windows program folder, usually some place like
C:\Program Files\UrJTAG. It comes ready with support for JTAG cables that are
directly attached to a parallel port. However, if you work with Windows Vista
and want access to the parallel port, a driver for it has to be installed
separately. It is available from</simpara>
<literallayout class="monospaced">http://www.highrez.co.uk/Downloads/InpOut32/</literallayout>
<simpara>If you want to use UrJTAG with a JTAG cable attached to the USB port,
actual cable drivers have to be installed beside UrJTAG itself. Usually,
the cable vendor will provide the drivers. For example, drivers for
Altera USB-Blaster come with their Quartus software. For FTDI-based
cables, you need an INF file describing the cable and FTDIBUS.SYS and
FTD2XX.DLL from FTDI (CDM drivers). If your cable shows up in the device
manager without any warning sign, UrJTAG probably is able to talk to it.</simpara>
<simpara>Finally, UrJTAG additionally needs libusb-win32 to talk to some USB cables that
are not based on FTDI chips (Xilinx Platform Cable USB, Segger J-Link). The
so-called libusb-win32 filter driver is available from the project's download
page at Sourceforge:</simpara>
<literallayout class="monospaced">http://libusb-win32.sourceforge.net/#downloads</literallayout>
</section>
<section id="_required_software_for_compiling_urjtag">
<title>Required software for compiling UrJTAG</title>
<simpara>To run autogen.sh, you need autoconf and automake, bison, and a recent flex.</simpara>
@ -691,8 +780,8 @@ environment, see below.</simpara>
<title>Installing from source tar.gz</title>
<simpara>The installation follows the standard configure, make, make install scheme:</simpara>
<literallayout class="monospaced">tar xzvf urjtag.tar.gz
cd ../jtag
<literallayout class="monospaced">tar xzvf urjtag-x.y.tar.gz
cd urjtag-x.y
./configure
make
make install</literallayout>
@ -720,7 +809,7 @@ make install</literallayout>
</listitem>
</itemizedlist>
<simpara>Unzip the archive into a directory of your choice (probably a choice
without spaces in the name is better) and afterwards run configure with the
without spaces in the name is better) and afterwards run configure with the
"&#8212;with-ftd2xx" pointing to that directory, e.g.</simpara>
<literallayout class="monospaced">./configure --with-ftd2xx="/cygdrive/c/temp/ftdi-cdm-drivers"</literallayout>
@ -772,6 +861,9 @@ parallel ports, because the Cygwin ioperm isn't available for MinGW. The InpOut3
library is available from logix4u.net:</simpara>
<literallayout class="monospaced">http://logix4u.net/Legacy_Ports/Parallel_Port/Inpout32.dll_for_Windows_98/2000/NT/XP.html</literallayout>
<simpara>An version updated to work in Windows Vista and 64 bit Windows is available from highrez:</simpara>
<literallayout class="monospaced">http://www.highrez.co.uk/Downloads/InpOut32/</literallayout>
</section>
<section id="_driver_tailoring">
<title>Driver tailoring</title>
@ -780,7 +872,7 @@ can include and exclude specific drivers if required. For a list of parameters
run</simpara>
<literallayout class="monospaced">./configure --help</literallayout>
<simpara>to figure out the appropriate &#8212;enable-bus, &#8212;enable-cable and &#8212;enable-lowlevel
<simpara>to figure out the appropriate &#8212;enable-bus, &#8212;enable-cable, and &#8212;enable-lowlevel
options.</simpara>
</section>
@ -812,17 +904,17 @@ enabled and will be compiled from the released C files.</simpara>
<simpara>Connect your JTAG adapter between your PC and target device and turn
on your device.</simpara>
<simpara>To run JTAG Tools type "jtag" and press Enter. jtag should start and
display some initial informations. Output should end with line like this:</simpara>
<simpara>To run UrJTAG type "jtag" and press Enter; jtag should start and
display some initial information. Output should end with a line like this:</simpara>
<literallayout class="monospaced">This is "jtag command prompt". Type "help" and press Enter for initial help
about available commands. To exit JTAG Tools type "quit" and press Enter.</literallayout>
<literallayout class="monospaced">WARNING: UrJTAG may damage your hardware!
Type "quit" to exit, "help" for help.</literallayout>
</section>
<section id="_configure_the_cable">
<title>Configure the cable</title>
<simpara>Type "help cable" for list of supported JTAG cables.</simpara>
<simpara>Type "help cable" for a list of supported JTAG cables.</simpara>
<simpara>Type "cable" command followed by the cable name and possibly further
<simpara>Type the "cable" command followed by the cable name and possibly further
arguments for cable configuration. Example:</simpara>
<literallayout class="monospaced">jtag&gt; cable EA253 parallel 0x378
@ -914,6 +1006,45 @@ record: start = 0x00005054, len = 0x00000030, checksum = 0x00000DA9
record: start = 0x00000000, len = 0x00001000, checksum = 0x00000000</literallayout>
<literallayout class="monospaced">Done.
jtag&gt;</literallayout>
</section>
<section id="_non_standard_flash_commands">
<title>Non-standard flash commands</title>
<simpara>Erasing and programming flash devices is covered by standard procedures
in UrJTAG. Apart from these, many flash chips implement a lot more
functionality via dedicated commands that vary from between manufacturers
and device families. UrJTAG can't cover them all natively.</simpara>
<simpara>It's however possible to send any command stream to the flash by using
the poke and peek commands. You just need to clarify two things:</simpara>
<orderedlist>
<listitem>
<simpara>
base address of the flash (BA)
it's the same that's used for detectflash
</simpara>
</listitem>
<listitem>
<simpara>
data width, x8 or x16
defined by the width of the bus where the flash is attached
</simpara>
</listitem>
</orderedlist>
<simpara>Next look up the address/data pairs for the command in question. The data
sheet for your particular flash should document all commands in a table e.g.
If your flash is attached in x16 mode, the address must be shifted by one
position. Addresses in x8 mode are not affected.</simpara>
<simpara>The "Read Manufacturer ID" command in x16 mode would look like</simpara>
<literallayout class="monospaced">poke BA+(0x555*2) 0xaa
poke BA+(0x2aa*2) 0x55
poke BA+(0x555*2) 0x90
peek BA+(0x000*2)</literallayout>
<simpara>Note that the calculations must be done beforehand. UrJTAG can't evaluate
expressions on the command line.</simpara>
</section>
</section>
<section id="_jtag_commands">
@ -1210,7 +1341,7 @@ define new signal for a part
</simpara></entry>
<entry>
<simpara>
execute svf commands from file
execute SVF commands from file
</simpara>
</entry>
</row>
@ -1277,7 +1408,7 @@ an X times repetition of the command sequence from the file.</simpara>
<title>Chain management</title>
<section id="_cable">
<title>cable</title>
<simpara>Sets and initialized the cable driver. This is usually the first command that
<simpara>Sets and initializes the cable driver. This is usually the first command that
you are executing in a session. Example:</simpara>
<literallayout class="monospaced">jtag&gt; cable EA253 parallel 0x378
@ -1342,7 +1473,7 @@ command) to find a match for the manufacturer, revision and part number for the
IDCODE read from the part. However, not all parts identify themselves in a way
that is useful for "detect". For example, many chips with an ARM processor core
inside present an IDCODE that may be specific to the the particular core inside
the chip (e.g. ARM7TDMI), but doesn't tell about the actual manufacturer of
the chip (e.g. ARM7TDMI), but doesn't tell about the actual manufacturer of
the chip. In such case, the data for the part has to be included manually. See
also the documentation for the "include" command.</simpara>
@ -1412,7 +1543,7 @@ access the bus:</simpara>
<literallayout class="monospaced">initbus prototype amsb=ADDR22 alsb=ADDR0 dmsb=D15 dlsb=D0
ncs=nRCS0 nwe=nWE noe=nOE amode=x16</literallayout>
<simpara>The "prototype" bus driver yet cannot deal with systems where address and data
<simpara>The "prototype" bus driver cannot deal with systems where address and data
bus are multiplexed on the same pins. If signals aren't numbered in the right
order or with gaps, you may get along by defining proper names as aliases for
the actual signals, with commands like "salias ADDR12 BSCGX44".</simpara>
@ -1421,7 +1552,7 @@ the actual signals, with commands like "salias ADDR12 BSCGX44".</simpara>
Because it isn't possible to efficiently address only particular pins but only
all at once, and data for all pins has to be transferred through JTAG for every
single change, this method isn't the fastest, but usually easiest to implement
and, well, sometimes it counts whether it works at all..</simpara>
and, well, sometimes it counts whether it works at all.</simpara>
<simpara>The "fjmem" (FPGA JTAG memory) bus driver attempts to address this issue by
moving control and observation away from BSR to a device-internal
@ -1665,7 +1796,7 @@ write content from file to memory
<section id="_svf">
<title>svf</title>
<simpara>The SVF player operates on a single part in the scan chain. Therefore, you
have to bring up the jtag software, specify a cable and detect the scan
have to bring up the JTAG software, specify a cable and detect the scan
chain beforehand.</simpara>
<simpara>The player will establish a new instruction called "SIR" and a new register
@ -1713,66 +1844,13 @@ through the SVF file, specify <emphasis>progress</emphasis> at the svf command.<
<title>Limitations and Deficiencies</title>
<simpara>Several limitations exist for the SVF player.</simpara>
<simpara>It has been tested so far with files generated by these tools:</simpara>
<itemizedlist>
<listitem>
<simpara>
Xilinx ISE WebPack 6.3.02i - 9.1.02i
</simpara>
</listitem>
<listitem>
<simpara>
Altera Quartus II 4.1sp1 - 7.0
</simpara>
</listitem>
</itemizedlist>
<simpara>Configuration for these devices has been tested so far:</simpara>
<itemizedlist>
<listitem>
<simpara>
Altera EPC1C12Q240
</simpara>
</listitem>
<listitem>
<simpara>
Altera MAX3032, EPM3032ALC44
</simpara>
</listitem>
<listitem>
<simpara>
Altera MAX3064, EPM3064ALC44
</simpara>
</listitem>
<listitem>
<simpara>
Altera MAX7032, EPM7032SLC44
</simpara>
</listitem>
<listitem>
<simpara>
Altera MAX7064, EPM7064SLC44, EPM7064STC44
</simpara>
</listitem>
<listitem>
<simpara>
Xilinx Spartan-IIE, XC2S300E-PQ208
</simpara>
</listitem>
<listitem>
<simpara>
Xilinx Spartan-3, XC3S1000-FG456, XC3S5000-FG900
</simpara>
</listitem>
</itemizedlist>
<simpara>The implementation of some SVF commands has deficiencies.</simpara>
<itemizedlist>
<listitem>
<simpara>
HIR, HDR commands not supported.
Their functionality should be covered by the part concept of JTAG Tools.
Their functionality should be covered by the part concept of UrJTAG.
</simpara>
</listitem>
<listitem>
@ -1800,7 +1878,7 @@ TRST
<listitem>
<simpara>
TIR, TDR commands not supported.
Their functionality should be covered by the part concept of JTAG Tools.
Their functionality should be covered by the part concept of UrJTAG.
</simpara>
</listitem>
</itemizedlist>
@ -1825,14 +1903,14 @@ UrJTAG.</simpara>
started. This involves matching the retrieved IDCODE against the part
descriptions in /usr/share/urjtag as described above. However, before this
database is searched for a suitable description, the BSDL subsystem is started
and searches for BSDL file that matches this device. If it finds a matching
and searches for a BSDL file that matches this device. If it finds a matching
file, traversal of the /usr/share/urjtag database is skipped. If not, then
this standard process follows.</simpara>
<simpara>To tell the BSDL subsytem where to look for BSDL files, the <emphasis>bsdl path
pathlist</emphasis> command has to be issued prior to <emphasis>detect</emphasis>. The contents of
<emphasis>pathlist</emphasis> must be a semicolon-separated list of directories where BSDL files
are located. This list is stored by <emphasis>bsdl path</emphasis> and is used lateron when
are located. This list is stored by <emphasis>bsdl path</emphasis> and is used later on when
<emphasis>detect</emphasis> calls the BSDL subsystem.</simpara>
<important><simpara>The BSDL subsystem applies the first BSDL file that parses without
@ -1902,7 +1980,7 @@ Intratrade Ltd., we just know about them from a posting on the net.</simpara>
</chapter>
<chapter id="_internals">
<title>Internals</title>
<simpara>This section yet is only a placeholder for the information that will
<simpara>This section is only a placeholder for the information that will
be added soon&#8230;</simpara>
<section id="_files">
@ -1926,7 +2004,7 @@ data/
</simpara></entry>
<entry>
<simpara>
Part descriptions (Data files)
Part descriptions (data files)
</simpara>
</entry>
</row>
@ -2712,6 +2790,84 @@ signal name (without spaces in the name). Rest of the line should contain
whitespace separated list of pins of the part. This list is currently not used
for any purpose in JTAG Tools. It is intended for future use.</simpara>
</section>
<section id="_manufacturers_list">
<title>Manufacturers List</title>
<simpara>The <emphasis>data/MANUFACTURERS</emphasis> file is used to locate the manufacturer of a specific
device found in the JTAG chain. If you get the error <emphasis role="strong">Unknown manufacturer</emphasis>
when attempting the <emphasis>detect</emphasis> command, this is the file you need to update.</simpara>
<simpara>See the JEDEC document for more information:
JEDEC Solid State Technology Association, "Standard Manufacturer's
Identification Code", September 2001, Order Number: JEP106-K</simpara>
<section id="_format">
<title>Format</title>
<simpara>The first token is a bit string that matches bits 11-1 of the device's IDCODE.
We omit bit 0 because it should always be 1 (per the JEDEC standard).</simpara>
<simpara>The second token is the name of the directory under <emphasis>data/</emphasis> to search for
specific part information.</simpara>
<simpara>The rest of the line is the human readable form of the manufacturer's name.</simpara>
<simpara>For example, we find this in <emphasis>data/MANUFACTURERS</emphasis>:</simpara>
<literallayout class="monospaced">00001100101 analog Analog Devices, Inc.</literallayout>
<simpara>The manufacturer's IDCODE is <literal>000011001011</literal> (notice the last bit is stripped),
more part information can be found under <emphasis>data/analog/</emphasis>, and the human friendly
name is <literal>Analog Devices, Inc.</literal>.</simpara>
</section>
</section>
<section id="_parts_list">
<title>Parts List</title>
<simpara>Every manufacturer subdirectory needs a <emphasis>PARTS</emphasis> file. This is used to look
up further information about a part such as the stepping and signal list. If
you get the error <emphasis role="strong">Unknown part</emphasis> when attempting the <emphasis>detect</emphasis> command, this is
the file you need to update.</simpara>
<section id="_format_2">
<title>Format</title>
<simpara>The first token is a bit string that matches bits 27-12 of the device's IDCODE.</simpara>
<simpara>The second token is the name of the directory under the manufacturer's <emphasis>data/</emphasis>
directory to search for specific part information.</simpara>
<simpara>The rest of the line is the human readable form of the part's name.</simpara>
<simpara>For example, we find this in <emphasis>data/analog/PARTS</emphasis>:</simpara>
<literallayout class="monospaced">0010011111001000 bf537 BF537</literallayout>
<simpara>The part's IDCODE is <literal>0010011111001000</literal>, more part information can be found
under <emphasis>data/analog/bf537/</emphasis>, and the human friendly name is <literal>BF537</literal>.</simpara>
</section>
</section>
<section id="_stepping_list">
<title>Stepping List</title>
<simpara>Every part subdirectory needs a <emphasis>STEPPINGS</emphasis> file. This is used to find the
file that contains information like the signals list. If you get the error
<emphasis role="strong">Unknown stepping</emphasis> when attempting the <emphasis>detect</emphasis> command, this is the file you
need to update.</simpara>
<section id="_format_3">
<title>Format</title>
<simpara>The first token is a bit string that matches bits 31-28 of the device's IDCODE.</simpara>
<simpara>The second token is the name of the file to load that contains information like
the signal list, extra instructions/registers, etc&#8230; This file should be
placed alongside the <emphasis>STEPPINGS</emphasis> file in the part-specific subdirectory.</simpara>
<simpara>The rest of the line is the human readable form of the part stepping's name.</simpara>
<simpara>For example, we find this in <emphasis>data/analog/bf537/STEPPINGS</emphasis>:</simpara>
<literallayout class="monospaced">0010 bf537 2</literallayout>
<simpara>The part's stepping is <literal>0010</literal>, signal information can be found in the file
<emphasis>data/analog/bf537/bf537</emphasis>, and the human friendly stepping name is <literal>2</literal>.</simpara>
</section>
</section>
</section>
<section id="_development">

File diff suppressed because it is too large Load Diff

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
@ -84,8 +84,43 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="_installation_of_precompiled_urjtag_for_windows"
>2.4.1. Installation of precompiled UrJTAG for Windows</A
></H2
><P
>By simply running UrJTAG-xxx.exe, the executable and data files will
be installed in your Windows program folder, usually some place like
C:\Program Files\UrJTAG. It comes ready with support for JTAG cables that are
directly attached to a parallel port. However, if you work with Windows Vista
and want access to the parallel port, a driver for it has to be installed
separately. It is available from</P
><PRE
CLASS="literallayout"
>http://www.highrez.co.uk/Downloads/InpOut32/</PRE
><P
>If you want to use UrJTAG with a JTAG cable attached to the USB port,
actual cable drivers have to be installed beside UrJTAG itself. Usually,
the cable vendor will provide the drivers. For example, drivers for
Altera USB-Blaster come with their Quartus software. For FTDI-based
cables, you need an INF file describing the cable and FTDIBUS.SYS and
FTD2XX.DLL from FTDI (CDM drivers). If your cable shows up in the device
manager without any warning sign, UrJTAG probably is able to talk to it.</P
><P
>Finally, UrJTAG additionally needs libusb-win32 to talk to some USB cables that
are not based on FTDI chips (Xilinx Platform Cable USB, Segger J-Link). The
so-called libusb-win32 filter driver is available from the project's download
page at Sourceforge:</P
><PRE
CLASS="literallayout"
>http://libusb-win32.sourceforge.net/#downloads</PRE
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="_required_software_for_compiling_urjtag"
>2.4.1. Required software for compiling UrJTAG</A
>2.4.2. Required software for compiling UrJTAG</A
></H2
><P
>To run autogen.sh, you need autoconf and automake, bison, and a recent flex.</P
@ -126,7 +161,7 @@ CLASS="section"
CLASS="section"
><A
NAME="_required_libraries_for_usb_support"
>2.4.2. Required libraries for USB support</A
>2.4.3. Required libraries for USB support</A
></H2
><P
>For USB adapter support (including support for parallel port adapters attached
@ -192,14 +227,14 @@ CLASS="section"
CLASS="section"
><A
NAME="_installing_from_source_tar_gz"
>2.4.3. Installing from source tar.gz</A
>2.4.4. Installing from source tar.gz</A
></H2
><P
>The installation follows the standard configure, make, make install scheme:</P
><PRE
CLASS="literallayout"
>tar xzvf urjtag.tar.gz
cd ../jtag
>tar xzvf urjtag-x.y.tar.gz
cd urjtag-x.y
./configure
make
make install</PRE
@ -210,7 +245,7 @@ CLASS="section"
CLASS="section"
><A
NAME="_installing_from_subversion_repository"
>2.4.4. Installing from Subversion repository</A
>2.4.5. Installing from Subversion repository</A
></H2
><P
>If you want to try the very newest version of UrJTAG&#8230;</P
@ -231,7 +266,7 @@ CLASS="section"
CLASS="section"
><A
NAME="_linking_to_ftd2xx_dll_in_cygwin_environment"
>2.4.5. Linking to FTD2XX.DLL in Cygwin environment</A
>2.4.6. Linking to FTD2XX.DLL in Cygwin environment</A
></H2
><P
>Before running configure, get the D2XX drivers from FTDI.</P
@ -250,7 +285,7 @@ TARGET="_top"
></UL
><P
>Unzip the archive into a directory of your choice (probably a choice
without spaces in the name is better) and afterwards run configure with the
without spaces in the name is better) and afterwards run configure with the
"&#8212;with-ftd2xx" pointing to that directory, e.g.</P
><PRE
CLASS="literallayout"
@ -269,7 +304,7 @@ CLASS="section"
CLASS="section"
><A
NAME="_using_libusb_win32_in_cygwin_environment"
>2.4.6. Using LibUSB-Win32 in Cygwin environment</A
>2.4.7. Using LibUSB-Win32 in Cygwin environment</A
></H2
><P
>Before running configure, install the LibUSB-Win32 "filter" driver from SF.</P
@ -299,7 +334,7 @@ CLASS="section"
CLASS="section"
><A
NAME="_compiling_with_mingw"
>2.4.7. Compiling with MinGW</A
>2.4.8. Compiling with MinGW</A
></H2
><P
>UrJTAG may be compiled into a Windows executable using the MinGW compiler
@ -335,6 +370,11 @@ library is available from logix4u.net:</P
><PRE
CLASS="literallayout"
>http://logix4u.net/Legacy_Ports/Parallel_Port/Inpout32.dll_for_Windows_98/2000/NT/XP.html</PRE
><P
>An version updated to work in Windows Vista and 64 bit Windows is available from highrez:</P
><PRE
CLASS="literallayout"
>http://www.highrez.co.uk/Downloads/InpOut32/</PRE
></DIV
><DIV
CLASS="section"
@ -342,7 +382,7 @@ CLASS="section"
CLASS="section"
><A
NAME="_driver_tailoring"
>2.4.8. Driver tailoring</A
>2.4.9. Driver tailoring</A
></H2
><P
>The configure script enables all default bus, cable and lowlevel drivers. You
@ -352,7 +392,7 @@ run</P
CLASS="literallayout"
>./configure --help</PRE
><P
>to figure out the appropriate &#8212;enable-bus, &#8212;enable-cable and &#8212;enable-lowlevel
>to figure out the appropriate &#8212;enable-bus, &#8212;enable-cable, and &#8212;enable-lowlevel
options.</P
></DIV
><DIV
@ -361,7 +401,7 @@ CLASS="section"
CLASS="section"
><A
NAME="_building_the_bsdl_subsystem"
>2.4.9. Building the BSDL subsystem</A
>2.4.10. Building the BSDL subsystem</A
></H2
><P
>As mentioned above, building the BSDL lexer requires Flex 2.5.33 or newer. If

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
@ -115,6 +115,252 @@ signal name (without spaces in the name). Rest of the line should contain
whitespace separated list of pins of the part. This list is currently not used
for any purpose in JTAG Tools. It is intended for future use.</P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="_manufacturers_list"
>4.3.3. Manufacturers List</A
></H2
><P
>The <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>data/MANUFACTURERS</I
></SPAN
> file is used to locate the manufacturer of a specific
device found in the JTAG chain. If you get the error <SPAN
CLASS="strong"
><B
CLASS="emphasis"
>Unknown manufacturer</B
></SPAN
>
when attempting the <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>detect</I
></SPAN
> command, this is the file you need to update.</P
><P
>See the JEDEC document for more information:
JEDEC Solid State Technology Association, "Standard Manufacturer's
Identification Code", September 2001, Order Number: JEP106-K</P
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="_format"
>4.3.3.1. Format</A
></H3
><P
>The first token is a bit string that matches bits 11-1 of the device's IDCODE.
We omit bit 0 because it should always be 1 (per the JEDEC standard).</P
><P
>The second token is the name of the directory under <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>data/</I
></SPAN
> to search for
specific part information.</P
><P
>The rest of the line is the human readable form of the manufacturer's name.</P
><P
>For example, we find this in <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>data/MANUFACTURERS</I
></SPAN
>:</P
><PRE
CLASS="literallayout"
>00001100101 analog Analog Devices, Inc.</PRE
><P
>The manufacturer's IDCODE is <TT
CLASS="literal"
>000011001011</TT
> (notice the last bit is stripped),
more part information can be found under <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>data/analog/</I
></SPAN
>, and the human friendly
name is <TT
CLASS="literal"
>Analog Devices, Inc.</TT
>.</P
></DIV
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="_parts_list"
>4.3.4. Parts List</A
></H2
><P
>Every manufacturer subdirectory needs a <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>PARTS</I
></SPAN
> file. This is used to look
up further information about a part such as the stepping and signal list. If
you get the error <SPAN
CLASS="strong"
><B
CLASS="emphasis"
>Unknown part</B
></SPAN
> when attempting the <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>detect</I
></SPAN
> command, this is
the file you need to update.</P
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="_format_2"
>4.3.4.1. Format</A
></H3
><P
>The first token is a bit string that matches bits 27-12 of the device's IDCODE.</P
><P
>The second token is the name of the directory under the manufacturer's <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>data/</I
></SPAN
>
directory to search for specific part information.</P
><P
>The rest of the line is the human readable form of the part's name.</P
><P
>For example, we find this in <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>data/analog/PARTS</I
></SPAN
>:</P
><PRE
CLASS="literallayout"
>0010011111001000 bf537 BF537</PRE
><P
>The part's IDCODE is <TT
CLASS="literal"
>0010011111001000</TT
>, more part information can be found
under <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>data/analog/bf537/</I
></SPAN
>, and the human friendly name is <TT
CLASS="literal"
>BF537</TT
>.</P
></DIV
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="_stepping_list"
>4.3.5. Stepping List</A
></H2
><P
>Every part subdirectory needs a <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>STEPPINGS</I
></SPAN
> file. This is used to find the
file that contains information like the signals list. If you get the error
<SPAN
CLASS="strong"
><B
CLASS="emphasis"
>Unknown stepping</B
></SPAN
> when attempting the <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>detect</I
></SPAN
> command, this is the file you
need to update.</P
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="_format_3"
>4.3.5.1. Format</A
></H3
><P
>The first token is a bit string that matches bits 31-28 of the device's IDCODE.</P
><P
>The second token is the name of the file to load that contains information like
the signal list, extra instructions/registers, etc&#8230; This file should be
placed alongside the <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>STEPPINGS</I
></SPAN
> file in the part-specific subdirectory.</P
><P
>The rest of the line is the human readable form of the part stepping's name.</P
><P
>For example, we find this in <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>data/analog/bf537/STEPPINGS</I
></SPAN
>:</P
><PRE
CLASS="literallayout"
>0010 bf537 2</PRE
><P
>The part's stepping is <TT
CLASS="literal"
>0010</TT
>, signal information can be found in the file
<SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>data/analog/bf537/bf537</I
></SPAN
>, and the human friendly stepping name is <TT
CLASS="literal"
>2</TT
>.</P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
@ -84,7 +84,7 @@ NAME="_jtag"
>2.1. JTAG</A
></H1
><P
>JTAG basics can be found all over the internet. This section should go into
>JTAG basics can be found all over the Internet. This section should go into
some more details about working with JTAG. What hardware do you need, what is
the usage of JTAG, where do I get files. What file formats are available&#8230;</P
><DIV
@ -132,7 +132,7 @@ control machine also allows to have two internal shift registers in each device
(although we only have on in- and one output-pin). The registers are called
instruction register (IR) and data register (DR). The current UrJTAG tool
allows you to set the IR and set and get the DR. It doesn't allow you to
directly control the statemachine (yet).</P
directly control the state machine (yet).</P
></DIV
><DIV
CLASS="section"
@ -145,7 +145,7 @@ NAME="_interfaces"
><P
>The simplest interface that you can build is like the Xilinx parallel cable
(also called DLC5). If your device works with a 5V or 3.3V supply voltage then
this device can even be build just with passive parts. (picture missing here)
this device can even be built just with passive parts. (picture missing here)
UrJTAG also supports a number of other interface adapters.</P
></DIV
><DIV
@ -157,10 +157,10 @@ NAME="_additions"
>2.1.3. Additions</A
></H2
><P
>In the meantime the jtag specification was used as a basis for programming
>In the meantime the JTAG specification was used as a basis for programming
flash files and debugging processors. UrJTAG supports programming a couple of
different flash devices. It also supports programming of non-flash devices via
svf files. UrJTAG does not support debugging yet. Other open source solutions
SVF files. UrJTAG does not support debugging yet. Other open source solutions
such as OpenOCD allow you to debug ARM processors with gdb.</P
></DIV
><DIV
@ -172,9 +172,9 @@ NAME="_bsdl_and_urjtag_data_files"
>2.1.4. BSDL and UrJTAG data files</A
></H2
><P
>The BSDL file format describes the jtag interface for one IC. It is a VHDL
>The BSDL file format describes the JTAG interface for one IC. It is a VHDL
syntax with the needed information (like pin-names, register lengths and
commands) that is usually done by the supplier. e.g. Xilinx BSDL files are
commands) that is usually created by the supplier. e.g. Xilinx BSDL files are
all included in their free web-pack (using file extension ".bsd").</P
><P
>UrJTAG uses a different file format internally. So in order to add a new device
@ -197,9 +197,9 @@ NAME="_svf_files"
>2.1.5. SVF files</A
></H2
><P
>The SVF file format contains a number of high level commands to drive the jtag
>The SVF file format contains a number of high level commands to drive the JTAG
bus. For example you can shift the IR or DR and even check for the results.
The Xilinxs impact and Altera QuartusII tools allow you to write this file to
The Xilinx Impact and Altera QuartusII tools allow you to write this file to
program devices.</P
><P
>The player has been developed according to the "Serial Vector Format
@ -209,7 +209,7 @@ full specification can be found at
HREF="http://www.asset-intertech.com/support/svf.pdf"
TARGET="_top"
>http://www.asset-intertech.com/support/svf.pdf</A
></P
>.</P
><P
>UrJTAG features an "SVF player" that can read SVF files and perform the
described actions on the bus.</P

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
@ -76,7 +76,7 @@ NAME="_internals"
></A
>Chapter 4. Internals</H1
><P
>This section yet is only a placeholder for the information that will
>This section is only a placeholder for the information that will
be added soon&#8230;</P
><DIV
CLASS="section"
@ -99,7 +99,7 @@ CLASS="informaltable"
><P
></P
><A
NAME="AEN892"
NAME="AEN919"
></A
><TABLE
BORDER="0"
@ -131,7 +131,7 @@ VALIGN="top"
></TD
><TD
>&#13;<P
>&#13;Part descriptions (Data files)
>&#13;Part descriptions (data files)
</P
>
</TD

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
@ -95,7 +95,7 @@ CLASS="informaltable"
><P
></P
><A
NAME="AEN393"
NAME="AEN442"
></A
><TABLE
BORDER="0"
@ -652,7 +652,7 @@ CLASS="emphasis"
></TD
><TD
>&#13;<P
>&#13;execute svf commands from file
>&#13;execute SVF commands from file
</P
>
</TD
@ -776,7 +776,7 @@ NAME="_cable"
>3.2.3.1. cable</A
></H3
><P
>Sets and initialized the cable driver. This is usually the first command that
>Sets and initializes the cable driver. This is usually the first command that
you are executing in a session. Example:</P
><PRE
CLASS="literallayout"
@ -884,7 +884,7 @@ command) to find a match for the manufacturer, revision and part number for the
IDCODE read from the part. However, not all parts identify themselves in a way
that is useful for "detect". For example, many chips with an ARM processor core
inside present an IDCODE that may be specific to the the particular core inside
the chip (e.g. ARM7TDMI), but doesn't tell about the actual manufacturer of
the chip (e.g. ARM7TDMI), but doesn't tell about the actual manufacturer of
the chip. In such case, the data for the part has to be included manually. See
also the documentation for the "include" command.</P
></DIV
@ -972,7 +972,7 @@ CLASS="literallayout"
>initbus prototype amsb=ADDR22 alsb=ADDR0 dmsb=D15 dlsb=D0
ncs=nRCS0 nwe=nWE noe=nOE amode=x16</PRE
><P
>The "prototype" bus driver yet cannot deal with systems where address and data
>The "prototype" bus driver cannot deal with systems where address and data
bus are multiplexed on the same pins. If signals aren't numbered in the right
order or with gaps, you may get along by defining proper names as aliases for
the actual signals, with commands like "salias ADDR12 BSCGX44".</P
@ -981,7 +981,7 @@ the actual signals, with commands like "salias ADDR12 BSCGX44".</P
Because it isn't possible to efficiently address only particular pins but only
all at once, and data for all pins has to be transferred through JTAG for every
single change, this method isn't the fastest, but usually easiest to implement
and, well, sometimes it counts whether it works at all..</P
and, well, sometimes it counts whether it works at all.</P
><P
>The "fjmem" (FPGA JTAG memory) bus driver attempts to address this issue by
moving control and observation away from BSR to a device-internal
@ -1026,7 +1026,7 @@ CLASS="informaltable"
><P
></P
><A
NAME="AEN653"
NAME="AEN702"
></A
><TABLE
BORDER="0"
@ -1135,7 +1135,7 @@ CLASS="informaltable"
><P
></P
><A
NAME="AEN685"
NAME="AEN734"
></A
><TABLE
BORDER="0"
@ -1302,7 +1302,7 @@ CLASS="informaltable"
><P
></P
><A
NAME="AEN735"
NAME="AEN784"
></A
><TABLE
BORDER="0"
@ -1489,7 +1489,7 @@ NAME="_svf"
></H3
><P
>The SVF player operates on a single part in the scan chain. Therefore, you
have to bring up the jtag software, specify a cable and detect the scan
have to bring up the JTAG software, specify a cable and detect the scan
chain beforehand.</P
><P
>The player will establish a new instruction called "SIR" and a new register
@ -1555,7 +1555,7 @@ CELLPADDING="5"
><DIV
CLASS="sidebar"
><A
NAME="AEN801"
NAME="AEN850"
></A
><P
><B
@ -1564,63 +1564,6 @@ NAME="AEN801"
><P
>Several limitations exist for the SVF player.</P
><P
>It has been tested so far with files generated by these tools:</P
><P
></P
><UL
><LI
><P
>&#13;Xilinx ISE WebPack 6.3.02i - 9.1.02i
</P
></LI
><LI
><P
>&#13;Altera Quartus II 4.1sp1 - 7.0
</P
></LI
></UL
><P
>Configuration for these devices has been tested so far:</P
><P
></P
><UL
><LI
><P
>&#13;Altera EPC1C12Q240
</P
></LI
><LI
><P
>&#13;Altera MAX3032, EPM3032ALC44
</P
></LI
><LI
><P
>&#13;Altera MAX3064, EPM3064ALC44
</P
></LI
><LI
><P
>&#13;Altera MAX7032, EPM7032SLC44
</P
></LI
><LI
><P
>&#13;Altera MAX7064, EPM7064SLC44, EPM7064STC44
</P
></LI
><LI
><P
>&#13;Xilinx Spartan-IIE, XC2S300E-PQ208
</P
></LI
><LI
><P
>&#13;Xilinx Spartan-3, XC3S1000-FG456, XC3S5000-FG900
</P
></LI
></UL
><P
>The implementation of some SVF commands has deficiencies.</P
><P
></P
@ -1628,7 +1571,7 @@ NAME="AEN801"
><LI
><P
>&#13;HIR, HDR commands not supported.
Their functionality should be covered by the part concept of JTAG Tools.
Their functionality should be covered by the part concept of UrJTAG.
</P
></LI
><LI
@ -1656,7 +1599,7 @@ NAME="AEN801"
><LI
><P
>&#13;TIR, TDR commands not supported.
Their functionality should be covered by the part concept of JTAG Tools.
Their functionality should be covered by the part concept of UrJTAG.
</P
></LI
></UL
@ -1709,7 +1652,7 @@ CLASS="emphasis"
started. This involves matching the retrieved IDCODE against the part
descriptions in /usr/share/urjtag as described above. However, before this
database is searched for a suitable description, the BSDL subsystem is started
and searches for BSDL file that matches this device. If it finds a matching
and searches for a BSDL file that matches this device. If it finds a matching
file, traversal of the /usr/share/urjtag database is skipped. If not, then
this standard process follows.</P
><P
@ -1740,7 +1683,7 @@ CLASS="emphasis"
CLASS="emphasis"
>bsdl path</I
></SPAN
> and is used lateron when
> and is used later on when
<SPAN
CLASS="emphasis"
><I

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
@ -89,7 +89,8 @@ NAME="_supported_host_operating_systems"
></H2
><P
>JTAG Tools should run on all Unix like operating systems including MS Windows
with Cygwin installed.</P
with Cygwin installed. A precompiled version that runs on MS Windows without
Cygwin is available as a Windows installer executable.</P
></DIV
><DIV
CLASS="section"
@ -100,7 +101,7 @@ NAME="_required_software_for_running_urjtag"
>2.3.2. Required software for running UrJTAG</A
></H2
><P
>Required only for MS Windows:</P
>Required only for MS Windows, unless you use the precompiled version:</P
><P
></P
><UL
@ -127,8 +128,8 @@ driver in the system.</P
the system as well. It's probably a standard part of your distribution.</P
><P
>More software is needed if you want to compile UrJTAG (which you probably want
because currently no pre-compiled binaries are avaible&#8230;). See "Installation"
below.</P
because currently no pre-compiled binaries are available&#8230;).
See "Installation" below.</P
></DIV
><DIV
CLASS="section"
@ -280,7 +281,7 @@ TARGET="_top"
></LI
><LI
><P
>&#13;Black gnICE <A
>&#13;Blackfin gnICE <A
HREF="http://docs.blackfin.uclinux.org/doku.php?id=hw:jtag:gnice"
TARGET="_top"
>http://docs.blackfin.uclinux.org/doku.php?id=hw:jtag:gnice</A
@ -289,6 +290,15 @@ TARGET="_top"
></LI
><LI
><P
>&#13;Blackfin gnICE+ <A
HREF="http://docs.blackfin.uclinux.org/doku.php?id=hw:jtag:gnice-plus"
TARGET="_top"
>http://docs.blackfin.uclinux.org/doku.php?id=hw:jtag:gnice-plus</A
>
</P
></LI
><LI
><P
>&#13;Xverve Signalyzer Tool (experimental)
</P
></LI
@ -319,8 +329,16 @@ TARGET="_top"
></LI
></UL
><P
>Other cables:
* Technologic Systems TS-7800 SoC GPIO builtin JTAG interface</P
>Other cables:</P
><P
></P
><UL
><LI
><P
>&#13;Technologic Systems TS-7800 SoC GPIO builtin JTAG interface
</P
></LI
></UL
></DIV
><DIV
CLASS="section"
@ -358,6 +376,60 @@ least the following are supported:</P
></LI
><LI
><P
>&#13;Analog Devices Blackfin (w/ BSDL)
</P
><P
></P
><UL
><LI
><P
>&#13;BF504/BF506
</P
></LI
><LI
><P
>&#13;BF512/BF514/BF516/BF518
</P
></LI
><LI
><P
>&#13;BF522/BF523/BF524/BF525/BF526/BF527
</P
></LI
><LI
><P
>&#13;BF531/BF532/BF533
</P
></LI
><LI
><P
>&#13;BF538/BF539
</P
></LI
><LI
><P
>&#13;BF534/BF536/BF537
</P
></LI
><LI
><P
>&#13;BF542/BF544/BF547/BF548/BF549
</P
></LI
><LI
><P
>&#13;BF561
</P
></LI
><LI
><P
>&#13;BF592
</P
></LI
></UL
></LI
><LI
><P
>&#13;Analog Devices Sharc-21065L
</P
></LI

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
@ -88,17 +88,17 @@ NAME="_introduction_2"
>2.2.1. Introduction</A
></H2
><P
>UrJTAG Tools is a software package which enables working with JTAG-aware (IEEE
1149.1) hardware devices (parts) and boards through JTAG adapter.</P
>UrJTAG is a software package which enables working with JTAG-aware (IEEE
1149.1) hardware devices (parts) and boards through a JTAG adapter.</P
><P
>This package has open and modular architecture with ability to write
>This package has an open and modular architecture with the ability to write
miscellaneous extensions (like board testers, flash memory programmers, and so
on).</P
><P
>JTAG Tools package is free software, covered by the GNU General Public License,
>UrJTAG is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under certain
conditions. There is absolutely no warranty for JTAG Tools. Please read
COPYING file for more info.</P
conditions. There is absolutely no warranty for UrJTAG. Please read
the COPYING file for more info.</P
><DIV
CLASS="warning"
><P
@ -150,12 +150,12 @@ NAME="_urjtag_website"
>2.2.3. UrJTAG Website</A
></H2
><P
>The most current version of this documentation and UrJTAG sourcecode
>The most current version of this documentation and UrJTAG source code
is always available from the project homepage at <A
HREF="http://www.urjtag.org"
TARGET="_top"
>http://www.urjtag.org</A
></P
>.</P
></DIV
><DIV
CLASS="section"

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
@ -95,12 +95,12 @@ NAME="_run_the_software"
>Connect your JTAG adapter between your PC and target device and turn
on your device.</P
><P
>To run JTAG Tools type "jtag" and press Enter. jtag should start and
display some initial informations. Output should end with line like this:</P
>To run UrJTAG type "jtag" and press Enter; jtag should start and
display some initial information. Output should end with a line like this:</P
><PRE
CLASS="literallayout"
>This is "jtag command prompt". Type "help" and press Enter for initial help
about available commands. To exit JTAG Tools type "quit" and press Enter.</PRE
>WARNING: UrJTAG may damage your hardware!
Type "quit" to exit, "help" for help.</PRE
></DIV
><DIV
CLASS="section"
@ -111,9 +111,9 @@ NAME="_configure_the_cable"
>3.1.2. Configure the cable</A
></H2
><P
>Type "help cable" for list of supported JTAG cables.</P
>Type "help cable" for a list of supported JTAG cables.</P
><P
>Type "cable" command followed by the cable name and possibly further
>Type the "cable" command followed by the cable name and possibly further
arguments for cable configuration. Example:</P
><PRE
CLASS="literallayout"
@ -257,6 +257,56 @@ CLASS="literallayout"
>Done.
jtag&#62;</PRE
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="_non_standard_flash_commands"
>3.1.7. Non-standard flash commands</A
></H2
><P
>Erasing and programming flash devices is covered by standard procedures
in UrJTAG. Apart from these, many flash chips implement a lot more
functionality via dedicated commands that vary from between manufacturers
and device families. UrJTAG can't cover them all natively.</P
><P
>It's however possible to send any command stream to the flash by using
the poke and peek commands. You just need to clarify two things:</P
><P
></P
><OL
TYPE="1"
><LI
><P
>&#13;base address of the flash (BA)
it's the same that's used for detectflash
</P
></LI
><LI
><P
>&#13;data width, x8 or x16
defined by the width of the bus where the flash is attached
</P
></LI
></OL
><P
>Next look up the address/data pairs for the command in question. The data
sheet for your particular flash should document all commands in a table e.g.
If your flash is attached in x16 mode, the address must be shifted by one
position. Addresses in x8 mode are not affected.</P
><P
>The "Read Manufacturer ID" command in x16 mode would look like</P
><PRE
CLASS="literallayout"
>poke BA+(0x555*2) 0xaa
poke BA+(0x2aa*2) 0x55
poke BA+(0x555*2) 0x90
peek BA+(0x000*2)</PRE
><P
>Note that the calculations must be done beforehand. UrJTAG can't evaluate
expressions on the command line.</P
></DIV
></DIV
></DIV
><DIV

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
@ -179,46 +179,51 @@ HREF="_compilation_and_installation.html"
><DL
><DT
>2.4.1. <A
HREF="_compilation_and_installation.html#_installation_of_precompiled_urjtag_for_windows"
>Installation of precompiled UrJTAG for Windows</A
></DT
><DT
>2.4.2. <A
HREF="_compilation_and_installation.html#_required_software_for_compiling_urjtag"
>Required software for compiling UrJTAG</A
></DT
><DT
>2.4.2. <A
>2.4.3. <A
HREF="_compilation_and_installation.html#_required_libraries_for_usb_support"
>Required libraries for USB support</A
></DT
><DT
>2.4.3. <A
>2.4.4. <A
HREF="_compilation_and_installation.html#_installing_from_source_tar_gz"
>Installing from source tar.gz</A
></DT
><DT
>2.4.4. <A
>2.4.5. <A
HREF="_compilation_and_installation.html#_installing_from_subversion_repository"
>Installing from Subversion repository</A
></DT
><DT
>2.4.5. <A
>2.4.6. <A
HREF="_compilation_and_installation.html#_linking_to_ftd2xx_dll_in_cygwin_environment"
>Linking to FTD2XX.DLL in Cygwin environment</A
></DT
><DT
>2.4.6. <A
>2.4.7. <A
HREF="_compilation_and_installation.html#_using_libusb_win32_in_cygwin_environment"
>Using LibUSB-Win32 in Cygwin environment</A
></DT
><DT
>2.4.7. <A
>2.4.8. <A
HREF="_compilation_and_installation.html#_compiling_with_mingw"
>Compiling with MinGW</A
></DT
><DT
>2.4.8. <A
>2.4.9. <A
HREF="_compilation_and_installation.html#_driver_tailoring"
>Driver tailoring</A
></DT
><DT
>2.4.9. <A
>2.4.10. <A
HREF="_compilation_and_installation.html#_building_the_bsdl_subsystem"
>Building the BSDL subsystem</A
></DT
@ -270,6 +275,11 @@ HREF="_usage.html#_sample_device_pin_status"
HREF="_usage.html#_burn_flash_connected_to_the_part"
>Burn flash connected to the part</A
></DT
><DT
>3.1.7. <A
HREF="_usage.html#_non_standard_flash_commands"
>Non-standard flash commands</A
></DT
></DL
></DD
><DT
@ -385,6 +395,21 @@ HREF="_data_file_format.html#_general_rules"
HREF="_data_file_format.html#_signal_definition"
>Signal Definition</A
></DT
><DT
>4.3.3. <A
HREF="_data_file_format.html#_manufacturers_list"
>Manufacturers List</A
></DT
><DT
>4.3.4. <A
HREF="_data_file_format.html#_parts_list"
>Parts List</A
></DT
><DT
>4.3.5. <A
HREF="_data_file_format.html#_stepping_list"
>Stepping List</A
></DT
></DL
></DD
><DT

Loading…
Cancel
Save