OpenCores
URL https://opencores.org/ocsvn/adv_debug_sys/adv_debug_sys/trunk

Subversion Repositories adv_debug_sys

[/] [adv_debug_sys/] [trunk/] [Software/] [adv_jtag_bridge/] [BUILDING.classic] - Blame information for rev 59

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 59 nyawn
These are the notes for building the Advanced JTAG Bridge program
2
using the original Makefile.classic (non-autotools) method. This
3
method is deprecated, but this file remains as a reference.
4
 
5
Nathan Yawn, nathan.yawn@opencores.org
6
 
7
BUILDING
8
 
9
This program doesn't use automake.  It has been developed using the cygwin
10
environment under winXP, and should also compile under various GNU/Linux
11
distributions.  It has been tested and is known to work with Ubuntu 9.04.
12
There are two sets of build flags defined in the Makefile,
13
one for cygwin and one for Linux - one set is used, one is commented out.
14
Edit the Makefile for your system: set BUILD_ENVIRONMENT to either "cygwin"
15
or "linux" (no quotes).
16
 
17
The program may be built with support for the Advanced Debug Interface
18
(the default), or the legacy "debug_if" interface.  To compile for the
19
legacy interface, __LEGACY__ should be added to CFLAGS in the Makefile
20
(the line is present but commented out by default).  This is done via
21
the SUPPORT_LEGACY flag; set true to build for the legacy debug system,
22
false (to build for the adv_dbg_if) is the default. Note that support
23
for the two different debug hardware units is mutually exclusive; both
24
cannot be supported in the same build.
25
 
26
If you are only going to use a parallel JTAG cable, and you don't want
27
to bother with libusb, you can set SUPPORT_USB_CABLES to false.  Default
28
is true.  Similarly, you can set SUPPORT_FTDI_CABLES false if you don't
29
intend to use FT2232-based JTAG cables, and don't want to bother with
30
libftdi.
31
 
32
Some users have reported problems getting their USB-Blaster cables to
33
work using the standard driver. In this case, try the "ft245" driver,
34
as this appears to work for these users. The "ft245" driver supports
35
all of the same high-speed transfers that the "usbblaster" driver
36
supports.
37
 
38
In release 2.0 and later, the adv_dbg_if core includes a "hi-speed"
39
mode, which is used by default.  This requires a protocol change,
40
and so the adv_jtag_bridge must be built to match the build options
41
used when synthesizing the adv_dbg_if. For hi-speed mode, set
42
USE_HISPEED true (this is the default).  For the older mode, set
43
USE_HISPEED to false.
44
 
45
Release 2.5 added the JTAG serial port (JSP).  There are three compile-
46
time options related to this feature.  The first is
47
INCLUDE_JSP_SERVER, set true by default.  If you synthesize the
48
adv_dbg_if without JSP support, or you don't intend to use it,
49
this may be set false.  This will prevent the JSP server thread
50
from starting, and from polling constantly any time the target
51
system is running, which can take significant system resources
52
on the host system running adv_jtag_bridge.
53
 
54
The second JSP-related option is JSP_MULTI_DEVICE_CHAIN, set true
55
by default.  The adv_dbg_if core JSP hardware is synthesized with
56
support for multi-device JTAG chains by default, as this is safe
57
to use on any system.  However, this can slow JSP performance
58
somewhat, particularly with USB-based cables.  The hardware core may
59
therefore be synthesized with multi-device chain support disabled.
60
If your adv_dbg_if core has been synthesized with this disabled,
61
then you should set this option to false.  Note this causes a
62
change in the JSP communication protocol used, so the options you
63
compile adv_jtag_bridge with must match the options used to
64
synthesize the adv_dbg_if core.  This option will be ignored if
65
the INCLUDE_JSP_SERVER option is set false.
66
 
67
The third JSP-related option is JSP_OPTIMIZE_FOR_USB, set true by
68
default.  The JSP hardware will ignore extra bytes during read/
69
write transactions.  This makes it safe to transfer the maximum of
70
8 data bytes (plus the counts byte) on every transaction, regardless
71
of the number of valid data bytes.  When this option is set true,
72
all 9 bytes are sent as a single USB transaction each time a JSP
73
transaction is performed, giving maximum performance using USB
74
cables.  When this option is set false, then the counts word is
75
transferred first, then used to determine the minimum number of
76
bytes to transfer.  The minimum is then transferred, which gives
77
better performance when using parallel JTAG cables (or bit-banging
78
USB cables).  Note that this option does NOT change the communication
79
protocol used.  Therefore, either setting is safe for any system -
80
this option affects only performance.
81
 
82
DEPENDENCIES
83
 
84
Adv_jtag_bridge has three (or four) dependencies:
85
 
86
- The pthreads library (probably already installed)
87
- Cygwin only:  libioperm (for parallel port device access permissions)
88
- libusb
89
- libftdi
90
 
91
Since adv_jtag_bridge was written, a newer version of libusb has been
92
released (1.0), which used a different interface.  We still use the old
93
interface (0.1), so be sure you install the "compatibility layer" if you
94
install the latest libusb.  As of December 2008, libUSB-Win32 still used
95
v0.1, so cygwin users may not need to install any additional compatibility
96
layer.
97
 
98
The libftdi library is optional, and only required if you are building
99
support for FT2232-based cables (SUPPORT_FTDI_CABLES is true). Note that
100
if you are installing libftdi using the software downloader / installer
101
that came with your OS, you may need to get two packages, "libftdi" and
102
"libftdi-dev." This is true for Ubuntu 10.04, and possibly other
103
distributions as well.
104
 
105
BUGS
106
 
107
GDB 6.8 has a bug which prevents it from working when no stack frame is
108
present (such as at start-up on a bare-metal debugger, such as this one).
109
A simple patch applied to GDB 6.8 will work around the problem (a general
110
solution is not yet available).  This patch can be found in the source
111
directory of adv_jtag_bridge as "gdb-6.8-bz436037-reg-no-longer-active.patch",
112
and also in Patches/ directory at the top level of the Advanced Debug
113
System.
114
 
115
LICENSE
116
 
117
This code is based on "jp2", which was distributed under the GNU Public
118
License, version 2.  Adv_jtag_bridge is therefore also distributed under
119
this license.
120
 
121
WARRANTY
122
 
123
This program is distributed in the hope that it will be useful, but WITHOUT
124
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
125
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
126
more details.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.