Difference between revisions of "Talk:Building and using Openwince's JTAG Tools"

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search
(New page: following up on what some of us talked about in irc on March 21, 2008 ... T.E. was asking about non-paraport options for JTAG ... ideally something that will work with PPC, Mipsel and ARM...)
 
Line 213: Line 213:
 
This output is from the LSPro, which is not supported since its Feroceon processor isn't supported.  But it seems that the underpinnings of JTAG Tools are still there and it deserves testing on a PPC device.
 
This output is from the LSPro, which is not supported since its Feroceon processor isn't supported.  But it seems that the underpinnings of JTAG Tools are still there and it deserves testing on a PPC device.
 
I am not totally sure that it will work with PPC, but it makes sense that it should.  It would be nice to see this software or some other Olimex-capable JTAG software work on the LS2, so that we'd have a single reliable modern adapter to use.
 
I am not totally sure that it will work with PPC, but it makes sense that it should.  It would be nice to see this software or some other Olimex-capable JTAG software work on the LS2, so that we'd have a single reliable modern adapter to use.
 +
 +
 +
Checking into this, it seems that LNI already bundled up a binary for us to use for debricking an LS2.  The binary is in the LS2 Developemnt dir,and some background and commands are here http://buffalo.nas-central.org/forums/viewtopic.php?f=14&t=4057&st=0&sk=t&sd=a&sid=8b2f4020e279e4379d6363bdf23ddfc7&start=30
 +
Note that this is using the wiggler clone, but some other evidence  suggests that this can be done w/ UrJTAG as well:
 +
http://wiki.openwrt.org/OpenWrtDocs/Customizing/Hardware/JTAG_Cable

Revision as of 04:09, 22 March 2008

following up on what some of us talked about in irc on March 21, 2008 ...

T.E. was asking about non-paraport options for JTAG ... ideally something that will work with PPC, Mipsel and ARM.

We agreed that it would be a nice thing to use the USB Olimex devices for all three, all we would need are the right software packages to support flashing w/ it. We already know that OOCD works for ARM. OpenWince JTAG Tools was the standard for PPC JTAG access, but it has been dormant in development since 2003. UrJTAG is the next generation of this line and it supports these very adapters. Read the in-source docs for lots of good information.

I configured it for libftdi (no ftd2xx), compiled it, ran it, and configured it for use with the ARM-USB-TINY from Olimex.

root@bitbaker-i686:/usr/src# wget http://superb-west.dl.sourceforge.net/sourceforge/urjtag/urjtag-0.8.tar.gz
--18:25:10--  http://superb-west.dl.sourceforge.net/sourceforge/urjtag/urjtag-0.8.tar.gz
           => `urjtag-0.8.tar.gz'
Resolving superb-west.dl.sourceforge.net... 209.160.59.253
Connecting to superb-west.dl.sourceforge.net|209.160.59.253|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,161,347 (1.1M) [application/x-gzip]

100%[====================================>] 1,161,347    177.51K/s    ETA 00:00

 18:25:18 (171.98 KB/s) - `urjtag-0.8.tar.gz' saved [1161347/1161347]
 
root@bitbaker-i686:/usr/src# tar zxvf urjtag-0.8.tar.gz 
urjtag-0.8/
urjtag-0.8/m4/
urjtag-0.8/m4/gettext.m4
urjtag-0.8/m4/iconv.m4
...
urjtag-0.8/data/ibm/ppc405ep/
urjtag-0.8/data/ibm/ppc405ep/STEPPINGS
urjtag-0.8/data/ibm/ppc405ep/ppc405ep
urjtag-0.8/data/ibm/ppc440gx/
urjtag-0.8/data/ibm/ppc440gx/STEPPINGS
urjtag-0.8/data/ibm/ppc440gx/ppc440gx
urjtag-0.8/data/ibm/PARTS
urjtag-0.8/data/intel/
urjtag-0.8/data/intel/ixp425/
urjtag-0.8/data/intel/ixp425/STEPPINGS
urjtag-0.8/data/intel/ixp425/ixp425
urjtag-0.8/data/intel/pxa250/
urjtag-0.8/data/intel/pxa250/STEPPINGS
urjtag-0.8/data/intel/pxa250/pxa250
urjtag-0.8/data/intel/pxa250/pxa250c0
urjtag-0.8/data/intel/pxa270/
urjtag-0.8/data/intel/pxa270/STEPPINGS
...
urjtag-0.8/data/motorola/
urjtag-0.8/data/motorola/mpc8245/
urjtag-0.8/data/motorola/mpc8245/1.2
...
urjtag-0.8/po/POTFILES.in
urjtag-0.8/po/urjtag.pot
urjtag-0.8/po/stamp-po
urjtag-0.8/po/fr.po
urjtag-0.8/po/rw.po
urjtag-0.8/po/sk.po
urjtag-0.8/po/fr.gmo
urjtag-0.8/po/rw.gmo
urjtag-0.8/po/sk.gmo
urjtag-0.8/po/ChangeLog
urjtag-0.8/po/LINGUAS
root@bitbaker-i686:/usr/src# cd urjtag-0.8

root@bitbaker-i686:/usr/src/urjtag-0.8# ./configure --with-libftdi --with-libusb --without-ftd2xx
checking code revision... svn: '.' is not a working copy
from ChangeLog: 1067
...
config.status: creating src/jim/Makefile
config.status: creating po/Makefile.in
config.status: WARNING:  po/Makefile.in.in seems to ignore the --datarootdir setting
config.status: creating config.h
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
config.status: executing depfiles commands
 
jtag is now configured for
 
  USB cable support    : yes
  FTDI cable support
    via libftdi        : yes
    via libftd2xx      : no
  SVF error locations  : no
  Build SVF player     : yes
  Build BSDL subsystem : yes
 
root@bitbaker-i686:/usr/src/urjtag-0.8# make
make  all-recursive
...
 
root@bitbaker-i686:/usr/src/urjtag-0.8# make install
Making install in doc
 

 
root@bitbaker-i686:/usr/src/urjtag-0.8# jtag
 
UrJTAG 0.8 #1067
Copyright (C) 2002, 2003 ETC s.r.o.
Copyright (C) 2007, 2008 Kolja Waschk and the respective authors

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 UrJTAG.

WARNING: UrJTAG may damage your hardware!
Type "quit" to exit, "help" for help.


jtag> help cable
Usage: cable DRIVER [DRIVER_OPTS]
Select JTAG cable type.
 
DRIVER      name of cable
DRIVER_OPTS options for the selected cable
 
Type "cable DRIVER help" for info about options for cable DRIVER.
 
List of supported cables:
ARCOM         Arcom JTAG Cable
ByteBlaster   Altera ByteBlaster/ByteBlaster II/ByteBlasterMV Parallel Port Download Cable
UsbBlaster    Altera USB-Blaster Cable
FT2232        Generic FTDI FT2232 Cable
JTAGkey       Amontec JTAGkey (FT2232) Cable
ARM-USB-OCD   Olimex ARM-USB-OCD (FT2232) Cable
OOCDLink-s    OOCDLink-s (FT2232) Cable (EXPERIMENTAL)
Signalyzer    Xverve DT-USB-ST Signalyzer Tool (FT2232) Cable (EXPERIMENTAL)
Turtelizer2   Turtelizer 2 Rev. B (FT2232) Cable (EXPERIMENTAL)
USB-to-JTAG-IF USB to JTAG Interface (FT2232) Cable (EXPERIMENTAL)
DLC5          Xilinx DLC5 JTAG Parallel Cable III
EA253         ETC EA253 JTAG Cable
EI012         ETC EI012 JTAG Cable
IGLOO         Excelpoint IGLOO JTAG Cable
KeithKoep     Keith & Koep JTAG cable
Lattice       Lattice Parallel Port JTAG Cable
MPCBDM        Mpcbdm JTAG cable
TRITON        Ka-Ro TRITON Starterkit II (PXA255/250) JTAG Cable
WIGGLER       Macraigor Wiggler JTAG Cable
WIGGLER2      Modified (with CPU Reset) WIGGLER JTAG Cable
xpc_int       Xilinx Platform Cable USB internal chain
xpc_ext       Xilinx Platform Cable USB external chain
 
jtag> detect
Error: Cable not configured. Please use 'cable' command first!
 
 
jtag> cable ARM-USB-OCD ftdi-mpsse 15ba:4
Initializing on FTDI device 15ba:4
jtag> detect
IR length: 4
Chain length: 1
Device Id: 00000111100100100110000001000001 (0x0000000007926041)
  Unknown manufacturer!
chain.c(129) Part 0 without active instruction
chain.c(160) Part 0 without active instruction
chain.c(129) Part 0 without active instruction
jtag> print
 No. Manufacturer              Part                 Stepping Instruction          Register                        
-------------------------------------------------------------------------------------------------------------------
   0                                                         (none)               (none)                          
jtag> detectflash
detectflash: syntax error!
jtag> help initbus
Usage: initbus BUSNAME
Initialize new bus driver for active part.

BUSNAME       Name of the bus

List of available buses:
au1500     AU1500 BUS Driver via BSR
bcm1250    Broadcom BCM1250 compatible bus driver via BSR
ejtag      EJTAG compatible bus driver via PrAcc
bf533_stamp Blackfin BF533 Stamp board bus driver
bf533_ezkit Blackfin BF533 EZKit board bus driver
bf537_stamp Blackfin BF537 Stamp board bus driver
bf537_ezkit Blackfin BF537 EZ-KIT board bus driver
bf561_ezkit Blackfin BF561 EZ-KIT board bus driver
ixp425     Intel IXP425 compatible bus driver via BSR
lh7a400    Sharp LH7A400 compatible bus driver via BSR (flash access only!)
mpc824x    Motorola MPC824x compatible bus driver via BSR
mpc5200    Freescale MPC5200 compatible bus driver via BSR
ppc440gx_ebc8 IBM PowerPC 440GX 8-bit EBC compatible bus driver via BSR
ppc405ep   IBM PowerPC 405EP compatible bus driver via BSR
prototype  Configurable prototype bus driver via BSR, requires parameters:
           amsb=<addr MSB> alsb=<addr LSB> dmsb= dlsb=<data LSB>
           ncs=<CS#>|cs=<CS> noe=<OE#>|oe=<OE> nwe=<WE#>|we=<WE> [amode=auto|x8|x16|x32]
pxa2x0     Intel PXA2x0 compatible bus driver via BSR
pxa27x     Intel PXA27x compatible bus driver via BSR
s3c4510x   Samsung S3C4510B compatible bus driver via BSR
sa1110     Intel SA-1110 compatible bus driver via BSR
sh7727     Hitachi SH7727 compatible bus driver via BSR
sh7750r    Hitachi SH7750R compatible bus driver via BSR
sh7751r    Hitachi SH7751R compatible bus driver via BSR
h7202      H7202 compatible bus driver via BSR
slsup3     SLS UP3 compatible bus driver via BSR
tx4925     Toshiba TX4925 compatible bus driver via BSR
jopcyc     JOP.design Cyclone Board compatible bus driver via BSR
SHARC_21065L SHARC_21065L compatible bus driver via BSR
zefant-xs3 Simple Solutions Zefant-XS3 Board compatible bus driver via BSR
jtag> print chain
 No. Manufacturer              Part                 Stepping Instruction          Register                        
-------------------------------------------------------------------------------------------------------------------
   0                                                         (none)               (none)                          
jtag> detect
IR length: 4
Chain length: 1
Device Id: 00000111100100100110000001000001 (0x0000000007926041)
  Unknown manufacturer!
chain.c(129) Part 0 without active instruction
chain.c(160) Part 0 without active instruction
chain.c(129) Part 0 without active instruction
jtag> 


This output is from the LSPro, which is not supported since its Feroceon processor isn't supported. But it seems that the underpinnings of JTAG Tools are still there and it deserves testing on a PPC device. I am not totally sure that it will work with PPC, but it makes sense that it should. It would be nice to see this software or some other Olimex-capable JTAG software work on the LS2, so that we'd have a single reliable modern adapter to use.


Checking into this, it seems that LNI already bundled up a binary for us to use for debricking an LS2. The binary is in the LS2 Developemnt dir,and some background and commands are here http://buffalo.nas-central.org/forums/viewtopic.php?f=14&t=4057&st=0&sk=t&sd=a&sid=8b2f4020e279e4379d6363bdf23ddfc7&start=30 Note that this is using the wiggler clone, but some other evidence suggests that this can be done w/ UrJTAG as well: http://wiki.openwrt.org/OpenWrtDocs/Customizing/Hardware/JTAG_Cable