UrJTAG
project: UrJTAG
DirtyJTAG
STM32 JTAG PA0 TDI PA1 TDO PA2 TCK PA3 TMS PA4 TRST PA5 SRST
Altera JTAG - 5x2 header (P6) - key on left side
TCK_JTAG 1 2 GND TDO_JTAG 3 4 VDD33 TMS_JTAG 5 6 (nc) (nc) 7 8 (nc) TDI_JTAG 9 10 GND note: pin 5 (TMS) and 9 (TDI) have 1k pullups to VDD33. note: pin 1 (TCK) have 1k pulldown to GND. note: there are protection diodes (BAT54S) on JTAG signal lines (TDI, TCK, TDO, TMS)
Back to FPGA page.
links
DirtyJTAG, UrJTAG, docs, Intel FPGA Support - Devices Support Center,
local links
bs, c1, e1, eb, c2, Altera USB Blaster, pod530,
History
2021-10-03: I re-created this page on my self-hosted web server.
2020-11-20: c1 - in the FreeBSD forums thread, someone (user oOiOo) figured out how to fix the urjtag port. In the Makefile, change the line
USB_CONFIGURE_ON= --with-libusb=/usr
to
USB_CONFIGURE_ON=
then rebuild and reinstall the port. Test:
tingo@kg-core1$ jtag UrJTAG 2019.12 # Copyright (C) 2002, 2003 ETC s.r.o. Copyright (C) 2007, 2008, 2009 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> bsdl path /home/tingo/doc/Altera/docs/fpga/bsdl/ jtag> cable dirtyjtag jtag> detect IR length: 10 Chain length: 1 Device Id: 00000010000011110001000011011101 (0x020F10DD) Filename: /home/tingo/doc/Altera/docs/fpga/bsdl//EP4CE6E22.bsd jtag> quit
it works.
2020-11-18: c2 - I created PR 251232 for FreeBSD port devel/urjtag.
2020-11-06: pod530 - nvd0p3 - this laptop runs FreeBSD 12.2-release:
root@kg-pod530:~ # freebsd-version -ku 12.2-RELEASE 12.2-RELEASE
installed urjtag from packages (quarterly)
# pkg info urjtag*
urjtag-2019.12
and I have set up a devd rule, and restarted devd:
# jtag UrJTAG 2019.12 # Copyright (C) 2002, 2003 ETC s.r.o. Copyright (C) 2007, 2008, 2009 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> cable dirtyjtag error: Couldn't connect to suitable USB device. jtag> quit
but the device is there
# usbconfig ugen0.3 dump_device_desc ugen0.3: <DirtyJTAG Jean THOMAS> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0110 bDeviceClass = 0x00ff <Vendor specific> bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x1209 idProduct = 0xc0ca bcdDevice = 0x0110 iManufacturer = 0x0001 <DirtyJTAG> iProduct = 0x0002 <Jean THOMAS> iSerialNumber = 0x0003 <no serial :-)> bNumConfigurations = 0x0001
strange.
2020-11-04: c2 - ada0p5 - set up a devd rules file for dirtyjtag:
root@kg-core2# cat /usr/local/etc/devd/dirtyjtag.conf # allow group (operator) to access the usb connection of ulx3s notify 100 { match "system" "USB"; match "subsystem" "INTERFACE"; match "type" "ATTACH"; match "vendor" "0x1209"; match "product" "0xc0ca"; action "usb_devaddr=`echo $cdev | sed 's#^ugen##'` && chmod g+rw /dev/usb/${usb_devaddr}.*"; };
then restart devd via root@kg-core2# service devd stop && service devd start that's all
2020-11-04: bs - sdb5 - test an USB Blaster with urjtag:
jtag> cable usbblaster Connected to libftdi driver. jtag> detect IR length: 10 Chain length: 1 Device Id: 00000010000010110001000011011101 (0x020B10DD) Filename: /home/tingo/doc/Altera/docs/fpga/bsdl//EP2C5T144.BSD jtag> svf MC-2G-1024/14-Multicomp/Microcomputer_VGA/output_files/Microcomputer.svf warning: USB-Blaster frequency is fixed to 12000000 Hz warning: unimplemented mode 'ABSENT' for TRST
it works, and programming is quick.
2020-10-23: eb - sdb6 - test urjtag
tingo@kg-elitebook:~$ which jtag /usr/local/bin/jtag tingo@kg-elitebook:~$ jtag -h UrJTAG 2019.12 #d4f0cccf Usage: jtag [OPTIONS] [FILE [FILE ... ]] -h, --help display this help and exit -v, --version display version information and exit -n, --norc disable reading ~/.jtag/rc on startup -i, --interactive enter interactive mode after reading files -q, --quiet Do not print help on startup [FILE] file containing commands to execute Please report bugs at http://www.urjtag.org Home directory: /home/tingo/.jtag Data directory: /usr/local/share/urjtag
test device
tingo@kg-elitebook:~$ jtag [..] jtag> cable dirtyjtag jtag> bsdl path /home/tingo/doc/Altera/docs/fpga/bsdl/ jtag> detect IR length: 10 Chain length: 1 Device Id: 00000010000010110001000011011101 (0x020B10DD) Filename: /home/tingo/doc/Altera/docs/fpga/bsdl//EP2C5T144.BSD jtag> quit
ok
2020-10-23: eb - sdb6 - check that I have a udev rules file
tingo@kg-elitebook:~$ cat /etc/udev/rules.d/99-dirtyjtag.rules # DirtyJTAG - rules to let users in 'dialout' group access the device SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="c0ca", GROUP="dialout"
ok
2020-10-23: eb - sdb6 - build urjtag autogen
tingo@kg-elitebook:~/work/urjtag/urjtag-git/urjtag$ ./autogen.sh [..] urjtag is now configured for Libraries: libusb : 1.0 libftdi : yes (have async mode) libftd2xx : no inpout32 : no Subsystems: SVF : yes BSDL : yes STAPL : no Drivers: Bus : ahbjtag arm9tdmi au1500 avr32 bcm1250 blackfin bscoach ejtag ejtag_dma fjmem ixp425 ixp435 ixp465 jopcyc h7202 lh7a400 mpc5200 mpc824x mpc8313 mpc837x ppc405ep ppc440gx_ebc8 prototype pxa2x0 pxa27x s3c4510 sa1110 sh7727 sh7750r sh7751r sharc_21065L sharc_21369_ezkit slsup3 tx4925 zefant_xs3 Cable : arcom byteblaster dirtyjtag dlc5 ea253 ei012 ft2232 gpio ice100 igloo jlink keithkoep lattice mpcbdm triton usbblaster vsllink wiggler xpc Lowlevel : direct ftdi ppdev Language bindings: python : yes
make
tingo@kg-elitebook:~/work/urjtag/urjtag-git/urjtag$ make [..] CCLD jtag make[2]: Leaving directory '/zs/tingo/work/urjtag/urjtag-git/urjtag/src/apps/jtag' Making all in src/apps/bsdl2jtag make[2]: Entering directory '/zs/tingo/work/urjtag/urjtag-git/urjtag/src/apps/bsdl2jtag' CC bsdl2jtag.o CCLD bsdl2jtag make[2]: Leaving directory '/zs/tingo/work/urjtag/urjtag-git/urjtag/src/apps/bsdl2jtag' make[2]: Entering directory '/zs/tingo/work/urjtag/urjtag-git/urjtag' make[2]: Leaving directory '/zs/tingo/work/urjtag/urjtag-git/urjtag' make[1]: Leaving directory '/zs/tingo/work/urjtag/urjtag-git/urjtag'
make install
tingo@kg-elitebook:~/work/urjtag/urjtag-git/urjtag$ sudo make install [..] make[2]: Leaving directory '/zs/tingo/work/urjtag/urjtag-git/urjtag' make[1]: Leaving directory '/zs/tingo/work/urjtag/urjtag-git/urjtag'
ldconfig
tingo@kg-elitebook:~/work/urjtag/urjtag-git/urjtag$ sudo ldconfig
ok
2020-10-23: eb - sdb6 - get urjtag source code
tingo@kg-elitebook:~/work/urjtag$ git clone https://git.code.sf.net/p/urjtag/git urjtag-git Cloning into 'urjtag-git'... remote: Enumerating objects: 20093, done. remote: Counting objects: 100% (20093/20093), done. remote: Compressing objects: 100% (6014/6014), done. remote: Total 20093 (delta 14200), reused 19295 (delta 13635) Receiving objects: 100% (20093/20093), 13.64 MiB | 1.02 MiB/s, done. Resolving deltas: 100% (14200/14200), done. Checking out files: 100% (957/957), done.
ok
2020-10-23: bs - sdb5 - test jtag as a normal user. First run ldconfig
$ sudo ldconfig
then try jtag
$ jtag UrJTAG 2019.12 #d4f0cccf Copyright (C) 2002, 2003 ETC s.r.o. Copyright (C) 2007, 2008, 2009 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> bsdl path /home/tingo/doc/Altera/docs/fpga/bsdl/ jtag> detect error: illegal state: Cable not configured. Please use 'cable' command first! jtag> cable dirtyjtag jtag> detect IR length: 10 Chain length: 1 Device Id: 00000010000010110001000011011101 (0x020B10DD) Filename: /home/tingo/doc/Altera/docs/fpga/bsdl//EP2C5T144.BSD
ok, it works.
2020-10-23: bs - sdb5 - verify that the udev rule is in place
tingo@kg-bsbox:~$ cat /etc/udev/rules.d/99-dirtyjtag.rules # DirtyJTAG - rules to let users in 'dialout' group access the device SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="c0ca", GROUP="dialout"
it is.
2020-10-23: bs - sdb5 - build urjtag
tingo@kg-bsbox:/zs/tingo/work/urjtag/urjtag-git/urjtag$ ./autogen.sh autoreconf: Entering directory `.' autoreconf: running: autopoint --force autoreconf: running: aclocal --force -I m4 autoreconf: configure.ac: tracing autoreconf: running: libtoolize --force libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'tools'. libtoolize: linking file 'tools/ltmain.sh' libtoolize: putting macros in 'm4'. libtoolize: linking file 'm4/libtool.m4' libtoolize: linking file 'm4/ltoptions.m4' libtoolize: linking file 'm4/ltsugar.m4' libtoolize: linking file 'm4/ltversion.m4' libtoolize: linking file 'm4/lt~obsolete.m4' libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, libtoolize: and rerunning libtoolize and aclocal. autoreconf: running: /usr/bin/autoconf --force autoreconf: running: /usr/bin/autoheader --force autoreconf: running: automake --add-missing --force-missing configure.ac:104: installing 'tools/compile' configure.ac:106: installing 'tools/config.guess' configure.ac:106: installing 'tools/config.sub' configure.ac:63: installing 'tools/install-sh' configure.ac:63: installing 'tools/missing' Makefile.am: installing './INSTALL' src/apps/bsdl2jtag/Makefile.am: installing 'tools/depcomp' configure.ac: installing 'tools/ylwrap' autoreconf: Leaving directory `.' [..] urjtag is now configured for Libraries: libusb : 1.0 libftdi : no (no async mode) libftd2xx : no inpout32 : no Subsystems: SVF : yes BSDL : yes STAPL : no Drivers: Bus : ahbjtag arm9tdmi au1500 avr32 bcm1250 blackfin bscoach ejtag ejtag_dma fjmem ixp425 ixp435 ixp465 jopcyc h7202 lh7a400 mpc5200 mpc824x mpc8313 mpc837x ppc405ep ppc440gx_ebc8 prototype pxa2x0 pxa27x s3c4510 sa1110 sh7727 sh7750r sh7751r sharc_21065L sharc_21369_ezkit slsup3 tx4925 zefant_xs3 Cable : arcom byteblaster dirtyjtag dlc5 ea253 ei012 gpio ice100 igloo jlink keithkoep lattice mpcbdm triton vsllink wiggler xpc Lowlevel : direct ppdev Language bindings: python : yes
hmm, I need ftdi, so install libftdi1-dev, the re-run autogen.sh
[..] urjtag is now configured for Libraries: libusb : 1.0 libftdi : yes (have async mode) libftd2xx : no inpout32 : no Subsystems: SVF : yes BSDL : yes STAPL : no Drivers: Bus : ahbjtag arm9tdmi au1500 avr32 bcm1250 blackfin bscoach ejtag ejtag_dma fjmem ixp425 ixp435 ixp465 jopcyc h7202 lh7a400 mpc5200 mpc824x mpc8313 mpc837x ppc405ep ppc440gx_ebc8 prototype pxa2x0 pxa27x s3c4510 sa1110 sh7727 sh7750r sh7751r sharc_21065L sharc_21369_ezkit slsup3 tx4925 zefant_xs3 Cable : arcom byteblaster dirtyjtag dlc5 ea253 ei012 ft2232 gpio ice100 igloo jlink keithkoep lattice mpcbdm triton usbblaster vsllink wiggler xpc Lowlevel : direct ftdi ppdev Language bindings: python : yes
better.
tingo@kg-bsbox:/zs/tingo/work/urjtag/urjtag-git/urjtag$ make [..] CCLD jtag make[2]: Leaving directory '/zs/tingo/work/urjtag/urjtag-git/urjtag/src/apps/jtag' Making all in src/apps/bsdl2jtag make[2]: Entering directory '/zs/tingo/work/urjtag/urjtag-git/urjtag/src/apps/bsdl2jtag' CC bsdl2jtag.o CCLD bsdl2jtag make[2]: Leaving directory '/zs/tingo/work/urjtag/urjtag-git/urjtag/src/apps/bsdl2jtag' make[2]: Entering directory '/zs/tingo/work/urjtag/urjtag-git/urjtag' make[2]: Leaving directory '/zs/tingo/work/urjtag/urjtag-git/urjtag' make[1]: Leaving directory '/zs/tingo/work/urjtag/urjtag-git/urjtag'
ok. Test it:
tingo@kg-bsbox:/zs/tingo/work/urjtag/urjtag-git/urjtag$ src/apps/jtag/jtag --help UrJTAG 2019.12 #d4f0cccf Usage: jtag [OPTIONS] [FILE [FILE ... ]] -h, --help display this help and exit -v, --version display version information and exit -n, --norc disable reading ~/.jtag/rc on startup -i, --interactive enter interactive mode after reading files -q, --quiet Do not print help on startup [FILE] file containing commands to execute Please report bugs at http://www.urjtag.org Home directory: /home/tingo/.jtag Data directory: /usr/local/share/urjtag tingo@kg-bsbox:/zs/tingo/work/urjtag/urjtag-git/urjtag$ src/apps/jtag/jtag -v UrJTAG 2019.12 #d4f0cccf Copyright (C) 2002, 2003 ETC s.r.o. Copyright (C) 2007, 2008, 2009 Kolja Waschk and the respective authors This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
ok. Install it
tingo@kg-bsbox:/zs/tingo/work/urjtag/urjtag-git/urjtag$ sudo make install [..] make[1]: Leaving directory '/zs/tingo/work/urjtag/urjtag-git/urjtag'
is it installed
tingo@kg-bsbox:~$ which jtag /usr/local/bin/jtag tingo@kg-bsbox:~$ which bsdl2jtag /usr/local/bin/bsdl2jtag
yes.
2020-10-23: bs - sdb5 - update urjtag source
tingo@kg-bsbox:/zs/tingo/work/urjtag/urjtag-git$ git pull remote: Enumerating objects: 376, done. remote: Counting objects: 100% (376/376), done. remote: Compressing objects: 100% (280/280), done. remote: Total 283 (delta 222), reused 0 (delta 0) Receiving objects: 100% (283/283), 46.27 KiB | 257.00 KiB/s, done. Resolving deltas: 100% (222/222), completed with 87 local objects. From https://git.code.sf.net/p/urjtag/git 51f539b1..d4f0cccf master -> origin/master * [new branch] aspo1 -> origin/aspo1 * [new tag] URJTAG_2019_12 -> URJTAG_2019_12 Updating 51f539b1..d4f0cccf Fast-forward urjtag/ChangeLog | 33 + urjtag/MAINTAINERS | 5 + urjtag/NEWS | 16 + urjtag/bindings/python/py_urjtag.h | 2 +- urjtag/bindings/python/register.c | 2 +- urjtag/configure.ac | 15 +- urjtag/data/0/PARTS | 15 + urjtag/data/MANUFACTURERS | 36 +- urjtag/data/altera/5m1270z/5m1270z | 904 ++++++++++++++++++++++ urjtag/data/altera/5m1270z/STEPPINGS | 2 + urjtag/data/altera/5m1270z/f256 | 211 +++++ urjtag/data/altera/5m1270z/t144 | 114 +++ urjtag/data/altera/5m1270zf324/5m1270zf324 | 1152 ++++++++++++++++++++++++++++ urjtag/data/altera/5m1270zf324/STEPPINGS | 2 + urjtag/data/altera/PARTS | 2 + urjtag/data/amd/PARTS | 5 + urjtag/data/xilinx/xc6slx75/STEPPINGS | 1 + urjtag/include/urjtag/part.h | 4 +- urjtag/po/fr.po | 250 +++--- urjtag/po/rw.po | 250 +++--- urjtag/po/sk.po | 250 +++--- urjtag/src/apps/jtag/jtag.c | 12 +- urjtag/src/bfin/bfin.c | 2 +- urjtag/src/bsdl/bsdl_types.h | 2 + urjtag/src/bsdl/vhdl_bison.y | 5 +- urjtag/src/bus/Makefile.am | 4 + urjtag/src/bus/ahbjtag.c | 320 ++++++++ urjtag/src/bus/arm9tdmi.c | 2 - urjtag/src/bus/au1500.c | 2 - urjtag/src/bus/avr32.c | 2 - urjtag/src/bus/bcm1250.c | 2 - urjtag/src/bus/bf533_stamp.c | 2 - urjtag/src/bus/bf537_stamp.c | 2 - urjtag/src/bus/bf548_ezkit.c | 2 - urjtag/src/bus/bf561_ezkit.c | 2 - urjtag/src/bus/blackfin.c | 2 - urjtag/src/bus/bscoach.c | 2 - urjtag/src/bus/buses.c | 2 - urjtag/src/bus/buses_list.h | 3 + urjtag/src/bus/ejtag.c | 2 - urjtag/src/bus/ejtag_dma.c | 2 - urjtag/src/bus/fjmem.c | 13 - urjtag/src/bus/generic_bus.c | 2 - urjtag/src/bus/ixp425.c | 2 - urjtag/src/bus/ixp435.c | 2 - urjtag/src/bus/ixp465.c | 2 - urjtag/src/bus/jopcyc.c | 11 - urjtag/src/bus/lh7a400.c | 2 - urjtag/src/bus/mpc5200.c | 2 - urjtag/src/bus/mpc824x.c | 2 - urjtag/src/bus/mpc8313.c | 2 - urjtag/src/bus/ppc405ep.c | 2 - urjtag/src/bus/prototype.c | 2 - urjtag/src/bus/pxa2x0.c | 2 - urjtag/src/bus/readmem.c | 2 - urjtag/src/bus/s3c4510x.c | 2 - urjtag/src/bus/sa1110.c | 2 - urjtag/src/bus/sh7727.c | 2 - urjtag/src/bus/sh7750r.c | 2 - urjtag/src/bus/sh7751r.c | 2 - urjtag/src/bus/sharc21065l.c | 2 - urjtag/src/bus/sharc21369_ezkit.c | 2 - urjtag/src/bus/slsup3.c | 2 - urjtag/src/bus/tx4925.c | 2 - urjtag/src/bus/writemem.c | 2 - urjtag/src/bus/zefant-xs3.c | 11 - urjtag/src/part/part.c | 6 +- urjtag/src/tap/cable/dirtyjtag.c | 8 +- urjtag/src/tap/cable/ft2232.c | 12 + urjtag/src/tap/cable/jlink.c | 89 ++- urjtag/src/tap/detect.c | 8 +- urjtag/src/tap/usbconn/libusb.c | 2 + urjtag/sysdep.h | 4 +- web/htdocs/index.html | 4 + 74 files changed, 3339 insertions(+), 518 deletions(-) create mode 100644 urjtag/data/0/PARTS create mode 100644 urjtag/data/altera/5m1270z/5m1270z create mode 100644 urjtag/data/altera/5m1270z/STEPPINGS create mode 100644 urjtag/data/altera/5m1270z/f256 create mode 100644 urjtag/data/altera/5m1270z/t144 create mode 100644 urjtag/data/altera/5m1270zf324/5m1270zf324 create mode 100644 urjtag/data/altera/5m1270zf324/STEPPINGS create mode 100644 urjtag/data/amd/PARTS create mode 100644 urjtag/src/bus/ahbjtag.c
ok.
2019-09-16: c2 - newly compiled urJTAG, a Cyclone IV board connected via DirtyJTAG cable
tingo@kg-core2$ pwd /home/tingo/work/urjtag/urjtag-2018.09
test it
tingo@kg-core2$ ./src/apps/jtag/jtag UrJTAG 2018.09 # Copyright (C) 2002, 2003 ETC s.r.o. Copyright (C) 2007, 2008, 2009 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> cable DirtyJTAG error: Couldn't connect to suitable USB device. error: not found: no USB connections jtag> quit
test with sudo
tingo@kg-core2$ sudo ./src/apps/jtag/jtag UrJTAG 2018.09 # Copyright (C) 2002, 2003 ETC s.r.o. Copyright (C) 2007, 2008, 2009 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> cable DirtyJTAG
better, try detect
jtag> bsdl path /home/tingo/doc/Altera/docs/fpga/bsdl/ jtag> detect IR length: 10 Chain length: 1 Device Id: 00000010000011110001000011011101 (0x020F10DD) error: Unable to open file '/usr/local/share/urjtag/MANUFACTURERS' Unknown manufacturer! (00001101110) (/usr/local/share/urjtag/MANUFACTURERS)
ok, that is a thing
jtag> bsdl test -N- Reading file '/home/tingo/doc/Altera/docs/fpga/bsdl//EP4CE6E22.bsd' error: -E- error: In Package STD_1149_1_1994, Line 71, Error in Standard Package. error: -E- error: BSDL file '/home/tingo/doc/Altera/docs/fpga/bsdl//EP4CE6E22.bsd' contains errors in VHDL stage, stopping -N- Reading file '/home/tingo/doc/Altera/docs/fpga/bsdl//EP3C25Q240.BSD' error: -E- error: In Package STD_1149_1_1994, Line 92, Error in Standard Package. error: -E- error: BSDL file '/home/tingo/doc/Altera/docs/fpga/bsdl//EP3C25Q240.BSD' contains errors in VHDL stage, stopping -N- Reading file '/home/tingo/doc/Altera/docs/fpga/bsdl//EP2C20F484.BSD' error: -E- error: In Package STD_1149_1_1994, Line 148, Error in Standard Package. error: -E- error: BSDL file '/home/tingo/doc/Altera/docs/fpga/bsdl//EP2C20F484.BSD' contains errors in VHDL stage, stopping
hmm, strange. Install urjtag, the try again
jtag> cable DirtyJTAG jtag> detect IR length: 10 Chain length: 1 Device Id: 00000010000011110001000011011101 (0x020F10DD) Manufacturer: Altera (0x0DD) Unknown part! (0010000011110001) (/usr/local/share/urjtag/altera/PARTS) jtag> bsdl path /home/tingo/doc/Altera/docs/fpga/bsdl/ jtag> detect IR length: 10 Chain length: 1 Device Id: 00000010000011110001000011011101 (0x020F10DD) Filename: /home/tingo/doc/Altera/docs/fpga/bsdl//EP4CE6E22.bsd
better.
jtag> bsdl path /home/tingo/doc/Altera/docs/fpga/bsdl/ jtag> bsdl test -N- Reading file '/home/tingo/doc/Altera/docs/fpga/bsdl//EP4CE6E22.bsd' -N- BSDL file '/home/tingo/doc/Altera/docs/fpga/bsdl//EP4CE6E22.bsd' passed VHDL stage correctly warning: -W- warning: Line 145, Multiple opcode patterns are not supported, first pattern will be used. warning: -W- warning: Line 145, Multiple opcode patterns are not supported, first pattern will be used. -N- Got IDCODE: 00000010000011110001000011011101 -N- BSDL file '/home/tingo/doc/Altera/docs/fpga/bsdl//EP4CE6E22.bsd' passed BSDL stage correctly -N- Reading file '/home/tingo/doc/Altera/docs/fpga/bsdl//EP3C25Q240.BSD' -N- BSDL file '/home/tingo/doc/Altera/docs/fpga/bsdl//EP3C25Q240.BSD' passed VHDL stage correctly warning: -W- warning: Line 186, Multiple opcode patterns are not supported, first pattern will be used. warning: -W- warning: Line 186, Multiple opcode patterns are not supported, first pattern will be used. -N- Got IDCODE: 00000010000011110011000011011101 -N- BSDL file '/home/tingo/doc/Altera/docs/fpga/bsdl//EP3C25Q240.BSD' passed BSDL stage correctly -N- Reading file '/home/tingo/doc/Altera/docs/fpga/bsdl//EP2C20F484.BSD' -N- BSDL file '/home/tingo/doc/Altera/docs/fpga/bsdl//EP2C20F484.BSD' passed VHDL stage correctly -N- Got IDCODE: 00000010000010110011000011011101 -N- BSDL file '/home/tingo/doc/Altera/docs/fpga/bsdl//EP2C20F484.BSD' passed BSDL stage correctly
ok, it works at least
2018-12-12: bs - re-test the new urjtag
tingo@kg-bsbox:~$ /usr/local/bin/jtag UrJTAG 2018.09 # Copyright (C) 2002, 2003 ETC s.r.o. Copyright (C) 2007, 2008, 2009 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> cable dirtyjtag
good.
2018-12-12: bs - permissions - create a udev rule for the dirtyjtag device
tingo@kg-bsbox:~$ cat /etc/udev/rules.d/99-dirtyjtag.rules # DirtyJTAG - rules to let users in 'dialout' group access the device SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="c0ca", GROUP="dialout"
reload rules
tingo@kg-bsbox:~$ sudo udevadm control --reload
then unplug and replug the device
2018-12-12: bs - test the new urjtag:
tingo@kg-bsbox:~$ /usr/local/bin/jtag UrJTAG 2018.09 # Copyright (C) 2002, 2003 ETC s.r.o. Copyright (C) 2007, 2008, 2009 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> cable dirtyjtag error: libusb error: libusb_open() failed: -3
looks better. Now I have to fix permissions on the device
2018-12-12: bs - I also had to run ldconfig
tingo@kg-bsbox:~$ sudo ldconfig
ok
2018-12-12: bs - build urjtag from source get source
tingo@kg-bsbox:~/work/urjtag$ git clone https://git.code.sf.net/p/urjtag/git urjtag-git Cloning into 'urjtag-git'... remote: Enumerating objects: 19810, done. remote: Counting objects: 100% (19810/19810), done. remote: Compressing objects: 100% (5734/5734), done. remote: Total 19810 (delta 13979), reused 19311 (delta 13635) Receiving objects: 100% (19810/19810), 13.59 MiB | 568.00 KiB/s, done. Resolving deltas: 100% (13979/13979), done.
compile
tingo@kg-bsbox:~/work/urjtag$ cd urjtag-git/ tingo@kg-bsbox:~/work/urjtag/urjtag-git$ cd urjtag/ tingo@kg-bsbox:~/work/urjtag/urjtag-git/urjtag$ ./autogen.sh ./autogen.sh: 25: ./autogen.sh: autoreconf: not found autoreconf failed.
ok, so I need some prerequsites. Install them
tingo@kg-bsbox:~$ sudo apt install autoconf automake bison pkg-config flex libtool libftdi1-dev libusb-1.0-0-dev Reading package lists... Done Building dependency tree Reading state information... Done pkg-config is already the newest version (0.29-4+b1). pkg-config set to manually installed. The following additional packages will be installed: autotools-dev libbison-dev libfl-dev libftdi1-2 libftdi1-doc libltdl-dev libusb-1.0-doc m4 Suggested packages: autoconf-archive gnu-standards autoconf-doc gettext bison-doc libtool-doc gfortran | fortran95-compiler gcj-jdk m4-doc The following NEW packages will be installed: autoconf automake autotools-dev bison flex libbison-dev libfl-dev libftdi1-2 libftdi1-dev libftdi1-doc libltdl-dev libtool libusb-1.0-0-dev libusb-1.0-doc m4 0 upgraded, 15 newly installed, 0 to remove and 69 not upgraded. Need to get 4,336 kB of archives. After this operation, 15.2 MB of additional disk space will be used. [..] update-alternatives: using /usr/bin/automake-1.15 to provide /usr/bin/automake (automake) in auto mode Processing triggers for libc-bin (2.24-11+deb9u3) ...
what else? autopoint is needed
tingo@kg-bsbox:~$ sudo apt install autopoint Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libftdi1 libusb-0.1-4 Use 'sudo apt autoremove' to remove them. The following NEW packages will be installed: autopoint 0 upgraded, 1 newly installed, 0 to remove and 69 not upgraded. Need to get 433 kB of archives. [..] Preparing to unpack .../autopoint_0.19.8.1-2_all.deb ... Unpacking autopoint (0.19.8.1-2) ... Processing triggers for man-db (2.7.6.1-2) ... Setting up autopoint (0.19.8.1-2) ...
more? No. configure again
tingo@kg-bsbox:~/work/urjtag/urjtag-git/urjtag$ ./autogen.sh [..] configure: urjtag is now configured for Libraries: libusb : 1.0 libftdi : yes (have async mode) libftd2xx : no inpout32 : no Subsystems: SVF : yes BSDL : yes STAPL : no Drivers: Bus : arm9tdmi au1500 avr32 bcm1250 blackfin bscoach ejtag ejtag_dma fjmem ixp425 ixp435 ixp465 jopcyc h7202 lh7a400 mpc5200 mpc824x mpc8313 mpc837x ppc405ep ppc440gx_ebc8 prototype pxa2x0 pxa27x s3c4510 sa1110 sh7727 sh7750r sh7751r sharc_21065L sharc_21369_ezkit slsup3 tx4925 zefant_xs3 Cable : arcom byteblaster dirtyjtag dlc5 ea253 ei012 ft2232 gpio ice100 igloo jlink keithkoep lattice mpcbdm triton usbblaster vsllink wiggler xpc Lowlevel : direct ftdi ppdev Language bindings: python : yes
compile
tingo@kg-bsbox:~/work/urjtag/urjtag-git/urjtag$ make [..] make[1]: Leaving directory '/zs/tingo/work/urjtag/urjtag-git/urjtag'
install
tingo@kg-bsbox:~/work/urjtag/urjtag-git/urjtag$ sudo make install [..] make[1]: Leaving directory '/zs/tingo/work/urjtag/urjtag-git/urjtag'
ok.
2018-12-12: bs - install UrJTAG on my Debian box.
tingo@kg-bsbox:~$ sudo apt install urjtag Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libftdi1 libusb-0.1-4 The following NEW packages will be installed: libftdi1 libusb-0.1-4 urjtag 0 upgraded, 3 newly installed, 0 to remove and 69 not upgraded. Need to get 834 kB of archives. After this operation, 11.4 MB of additional disk space will be used. [..] Setting up urjtag (0.10+r2007-1.2+b2) ... Processing triggers for libc-bin (2.24-11+deb9u3) ...
test it
tingo@kg-bsbox:~$ jtag UrJTAG 0.10 #2007 Copyright (C) 2002, 2003 ETC s.r.o. Copyright (C) 2007, 2008, 2009 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>
quite old
jtag> cable dirtyjtag error: invalid parameter: unknown cable driver 'dirtyjtag'
too old, in fact.
2018-09-26: e1 - DirtyJTAG - test it as normal user
jtag> cable dirtyjtag jtag> bsdl path /home/tingo/doc/Altera/docs/fpga/bsdl/ jtag> detect IR length: 10 Chain length: 1 Device Id: 00000010000011110001000011011101 (0x020F10DD) Filename: /home/tingo/doc/Altera/docs/fpga/bsdl//EP4CE6E22.bsd
and it works. Nice.
2018-09-26: e1 - DirtyJTAG - connected up my dirtyjtag again:
jtag> cable dirtyjtag error: libusb error: libusb_open() failed: -3 jtag> cable dirtyjtag error: libusb error: libusb_open() failed: -3 jtag> quit
ok, I remember - there is a permissions problem, I need to run jtag as 'sudo jtag' until I have fixed it. udevadm says
[tingo@kg-elitebook ~]$ udevadm info /sys/bus/usb/devices/usb3/3-2 P: /devices/pci0000:00/0000:00:14.0/usb3/3-2 N: bus/usb/003/021 E: BUSNUM=003 E: DEVNAME=/dev/bus/usb/003/021 E: DEVNUM=021 E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-2 E: DEVTYPE=usb_device E: DRIVER=usb E: ID_BUS=usb E: ID_MODEL=Jean_THOMAS E: ID_MODEL_ENC=Jean\x20THOMAS E: ID_MODEL_ID=c0ca E: ID_REVISION=0110 E: ID_SERIAL=DirtyJTAG_Jean_THOMAS_no_serial_:-_ E: ID_SERIAL_SHORT=no_serial_:-_ E: ID_USB_INTERFACES=:ff0000: E: ID_VENDOR=DirtyJTAG E: ID_VENDOR_ENC=DirtyJTAG E: ID_VENDOR_FROM_DATABASE=InterBiometrics E: ID_VENDOR_ID=1209 E: MAJOR=189 E: MINOR=276 E: PRODUCT=1209/c0ca/110 E: SUBSYSTEM=usb E: TYPE=255/0/0 E: USEC_INITIALIZED=1107263954450
so a udev rule would be something like
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="c0ca", GROUP="dialout"
create the rule
[tingo@kg-elitebook ~]$ cat /etc/udev/rules.d/99-dirtyjtag.rules # DirtyJTAG - rules to let users in 'dialout' group access the device SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="c0ca", GROUP="dialout"
reload rules
[tingo@kg-elitebook ~]$ sudo udevadm control --reload
then unplug and plug the device.
2018-08-14: c1 - DirtyJTAG - I connected my Spartan 6 board as the JTAG target, here we go again:
tingo@kg-core1$ ./src/apps/jtag/jtag UrJTAG 2018.06 # Copyright (C) 2002, 2003 ETC s.r.o. Copyright (C) 2007, 2008, 2009 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> cable dirtyjtag jtag> detect IR length: 6 Chain length: 1 Device Id: 00100100000000000001000010010011 (0x24001093) Manufacturer: Xilinx (0x093) Unknown part! (0100000000000001) (/usr/local/share/urjtag/xilinx/PARTS)
ok, so it works. Add BSDL files
jtag> bsdl path /home/tingo/doc/Xilinx/fpga/bsdl/ jtag> detect IR length: 6 Chain length: 1 Device Id: 00100100000000000001000010010011 (0x24001093) *************************************************************************________ Filename: /home/tingo/doc/Xilinx/fpga/bsdl//xc6slx9_cpg196.bsd
nice. Other stuff
jtag> print No. Manufacturer Part Stepping Instruction Register ------------------------------------------------------------------------------------------------------------------- 0 XC6SLX9_CPG196 BYPASS BYPASS
pld?
jtag> pld status error: pld subsystem: unknown instruction 'CFG_IN' jtag> pld load /home/tingo/doc/Xilinx/fpga/Xilinx_XC6SLX9_Mini_Board/bitstreams/pwm_led.bit Bitstream information: Design: PWM_LED.ncd;UserID=0xFFFFFFFF Part name: 6slx9tqg144 Date: 2015/03/26 Time: 20:35:52 Bitstream length: 340604 error: pld subsystem: unknown instruction 'CFG_IN'
hmm,
2018-08-14: c1 - a freshly compiled UrJTAG 2018.06 looks better
tingo@kg-core1$ ./src/apps/jtag/jtag UrJTAG 2018.06 # Copyright (C) 2002, 2003 ETC s.r.o. Copyright (C) 2007, 2008, 2009 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> cable dirtyjtag jtag> detect warning: TDO seems to be stuck at 0 jtag> quit
try again
tingo@kg-core1$ ./src/apps/jtag/jtag UrJTAG 2018.06 # Copyright (C) 2002, 2003 ETC s.r.o. Copyright (C) 2007, 2008, 2009 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> cable DirtyJTAG jtag> detect warning: TDO seems to be stuck at 0 jtag> detect warning: TDO seems to be stuck at 0
no go.
2018-08-14: c1 - see if UrJTAG supports the dirtyjtag cable
tingo@kg-core1$ jtag UrJTAG 0.10 #1502 Copyright (C) 2002, 2003 ETC s.r.o. Copyright (C) 2007, 2008, 2009 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> cable dirtyjtag Unknown cable type: dirtyjtag
ok, it does not.
2018-08-01: e1 - try to set up the FT2232H adapter with urjtag on this machine
[tingo@kg-elitebook multicomp]$ jtag UrJTAG 2018.06 # Copyright (C) 2002, 2003 ETC s.r.o. Copyright (C) 2007, 2008, 2009 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>
set up a cable
jtag> cable FT2232 vid=0403 pid=6010 error: Couldn't connect to suitable USB device. error: ftdi/ftd2xx error: ftdi_usb_open_desc() failed: device not found
ok, try probing then
jtag> cable probe Found USB cable: Flyswatter Connected to libftdi driver.
good. Add bsdl files
jtag> bsdl path /home/tingo/doc/Altera/docs/fpga/Cyclone_III/bsdl/
ok, then try a detect - didn't work. Hmm, the cable thing, try
jtag> cable FT2232 vid=0x0403 pid=0x6010 Connected to libftdi driver.
better, try detect again
jtag> detect warning: TDO seems to be stuck at 1
hmm, nope. Ok, it was user error. I had connected TMS to an incorrect pin on the Cyclone III board JTAG connector. Better now.
jtag> cable FT2232 vid=0x0403 pid=0x6010 Connected to libftdi driver. jtag> bsdl path /home/tingo/doc/Altera/docs/fpga/Cyclone_III/bsdl/ jtag> detect IR length: 10 Chain length: 1 Device Id: 00000010000011110011000011011101 (0x020F30DD) Filename: /home/tingo/doc/Altera/docs/fpga/Cyclone_III/bsdl//EP3C25Q240.BSD
ok
2018-07-26: c1 - urjtag - do stuff with bsdl files
jtag> help bsdl Usage: bsdl path PATHLIST Usage: bsdl test [FILE] Usage: bsdl dump [FILE] Usage: bsdl debug on|off Manage BSDL files PATHLIST semicolon separated list of directory paths to search for BSDL files FILE file containing part description in BSDL format jtag> bsdl path /home/tingo/doc/Altera/docs/fpga/Cyclone_III/bsdl/ jtag> bsdl test -N- Reading file '/home/tingo/doc/Altera/docs/fpga/Cyclone_III/bsdl//EP3C25Q240.BSD' -N- BSDL file '/home/tingo/doc/Altera/docs/fpga/Cyclone_III/bsdl//EP3C25Q240.BSD' passed VHDL stage correctly -W- Line 186, Multiple opcode patterns are not supported, first pattern will be used. -W- Line 186, Multiple opcode patterns are not supported, first pattern will be used. -N- Got IDCODE: 00000010000011110011000011011101 -N- BSDL file '/home/tingo/doc/Altera/docs/fpga/Cyclone_III/bsdl//EP3C25Q240.BSD' passed BSDL stage correctly
what does detect say now?
jtag> detect IR length: 10 Chain length: 1 Device Id: 00000010000011110011000011011101 (0x00000000020F30DD) Filename: /home/tingo/doc/Altera/docs/fpga/Cyclone_III/bsdl//EP3C25Q240.BSD
jtag> print chain No. Manufacturer Part Stepping Instruction Register ------------------------------------------------------------------------------------------------------------------ 0 EP3C25Q240 BYPASS BYPASS
good.
2018-07-26: c1 - urjtag - usage detect
jtag> detect IR length: 10 Chain length: 1 Device Id: 00000010000011110011000011011101 (0x00000000020F30DD) Manufacturer: Altera Unknown part! chain.c(149) Part 0 without active instruction chain.c(200) Part 0 without active instruction chain.c(149) Part 0 without active instruction
jtag> print No. Manufacturer Part Stepping Instruction Register ------------------------------------------------------------------------------------------------------------------ 0 (none) (none)
idcode
jtag> idcode Reading 0 bytes if idcode Read 11011101 00110000 00001111 00000010 00000000 00000000 00000000 00000000
ok
2018-07-26: c1 - urjtag - cable
jtag> cable probe Unknown cable type: probe jtag> cable detect Unknown cable type: detect
ok, enough messing around.
jtag> cable FT2232 help Usage: cable FT2232 [vid=VID] [pid=PID] [desc=DESC] [driver=DRIVER] VID vendor ID (hex), defaults to 0000 PID product ID (hex), defaults to 0000 DESC Some string to match in description or serial no. DRIVER usbconn driver, either ftdi-mpsse or ftd2xx-mpsse defaults to ftdi-mpsse if not specified
try it out
jtag> cable FT2232 usbconn_ftdi_common_open() failed: ftdi_usb_reset failed Couldn't connect to suitable USB device. Error: Cable connection failed!
specify vid and pid
jtag> cable FT2232 vid=0403 pid=6010 Connected to libftdi driver.
that worked.
2018-07-26: c1 - installed urjtag from ports
Jul 26 12:55:12 kg-core1 pkg-static: urjtag-0.10_7 installed
ok.
2018-07-19: e1 - supported cables
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. You can also use the driver "probe" to attempt autodetection. List of supported cables: ARCOM Arcom JTAG Cable ByteBlaster Altera ByteBlaster/ByteBlaster II/ByteBlasterMV Parallel Port Download Cable DLC5 Xilinx DLC5 JTAG Parallel Cable III EA253 ETC EA253 JTAG Cable EI012 ETC EI012 JTAG Cable FT2232 Generic FTDI FT2232 Cable ARM-USB-OCD Olimex ARM-USB-OCD[-TINY] (FT2232) Cable ARM-USB-OCD-H Olimex ARM-USB-TINY-H (FT2232H) Cable Flyswatter TinCanTools Flyswatter (FT2232) Cable gnICE Analog Devices Blackfin gnICE (FT2232) Cable (EXPERIMENTAL) gnICE+ Analog Devices Blackfin gnICE+ (FT2232H) Cable (EXPERIMENTAL) JTAGkey Amontec JTAGkey (FT2232) Cable JTAGv3 XDS100 compatible JTAG/serial (FT2232) Cable JTAGv5 XDS100v2 compatible JTAG/serial (FT2232H) Cable KT-LINK KrisTech KT-LINK (FT2232H based) Cable milkymist Milkymist JTAG/serial (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-JTAG-RS232 USB<=>JTAG&RS232 (FT2232) Cable (EXPERIMENTAL) usbScarab2 KrisTech usbScarabeus2 (FT2232) Cable USB-to-JTAG-IF USB to JTAG Interface (FT2232) Cable (EXPERIMENTAL) DigilentHS1 Digilent HS1 Adapter FT4232 Generic FTDI FT4232 Cable gpio GPIO JTAG Chain ICE-100B Analog Devices ICE-X Cable (0x064B) IGLOO Excelpoint IGLOO JTAG Cable jlink Segger/IAR J-Link, Atmel SAM-ICE and others. KeithKoep Keith & Koep JTAG cable Lattice Lattice Parallel Port JTAG Cable Minimal Minimal Parallel Port JTAG Cable MPCBDM Mpcbdm JTAG cable TRITON Ka-Ro TRITON Starterkit II (PXA255/250) JTAG Cable UsbBlaster Altera USB-Blaster Cable vsllink Versaloon Link -- https://github.com/versaloon/versaloon WIGGLER Macraigor Wiggler JTAG Cable WIGGLER2 Modified (with CPU Reset) WIGGLER JTAG Cable xpc_ext Xilinx Platform Cable USB external chain xpc_int Xilinx Platform Cable USB internal chain DirtyJTAG DirtyJTAG STM32-based cable jtag>
more info about a cable (DirtyJTAG)
jtag> cable DirtyJTAG help Usage: cable DirtyJTAG [vid=VID] [pid=PID] [desc=DESC] [interface=INTERFACE] [index=INDEX] VID USB Device Vendor ID (hex, e.g. 0abc) PID USB Device Product ID (hex, e.g. 0abc) DESC Some string to match in description or serial no. INTERFACE Interface to use (0=first, 1=second, etc). INDEX Number of matching device (0=first, 1=second, etc). Default: vid=0x1209 pid=0xc0ca driver=libusb
info about FT2232
jtag> cable FT2232 help Usage: cable FT2232 [vid=VID] [pid=PID] [desc=DESC] [interface=INTERFACE] [index=INDEX] [driver=DRIVER] VID USB Device Vendor ID (hex, e.g. 0abc) PID USB Device Product ID (hex, e.g. 0abc) DESC Some string to match in description or serial no. INTERFACE Interface to use (0=first, 1=second, etc). INDEX Number of matching device (0=first, 1=second, etc). DRIVER usbconn driver, either ftdi-mpsse or ftd2xx-mpsse Default: vid=0x0 pid=0x0 driver=ftdi-mpsse
info about gpio
jtag> cable gpio help Usage: cable gpio tdi=<gpio_tdi> tdo=<gpio_tdo> tck=<gpio_tck> tms=<gpio_tms>
ok
2018-07-19: e1 - I installed UrJTAG on my Fedora laptop
[tingo@kg-elitebook ~]$ jtag UrJTAG 2018.06 # Copyright (C) 2002, 2003 ETC s.r.o. Copyright (C) 2007, 2008, 2009 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> quit
ok