gri6507 has asked for the wisdom of the Perl Monks concerning the following question:

So let's say that I have the ability to bit-bang four I/O lines that are connected to a JTAG (IEEE 1149.1) chain. I did a CPAN search but came up short. Is there really no Perl-based solution for this? If not, does anyone have any recommendations for other available packages that can bit-bang a JTAG device?

Replies are listed 'Best First'.
Re: Using Perl for JTAG interface
by GrandFather (Saint) on May 07, 2007 at 23:43 UTC

    I'm not surprised that you didn't find much in CPAN. JTAG is a bit machine level for the usual application domain for Perl.

    You may find what you need at JTAG Tools on sourceforge. Wikipedia's JTAG article has a bunch of links that may help too.


    DWIM is Perl's answer to Gödel
      Thank you for the reply. I have already looked at JTAG Tools and found it to be way too much. There is functionality there that I simply do not need or want, which makes the code quite complex. On the bright side, after some more scrupulous googling, I found a website by somebody called Toby Deitrich who has implemented pretty much what I was looking for only via a parallel port. It should now be pretty easy to change the four parallel port references to my special I/O.
        Hi, Toby here. I have written a Perl module to drive a PC parallel port to do JTAG instruction register and data register shifts, among other things. This is what I have posted on my website. However, it's pretty slow (maybe 10kbs) owing to the slow speed of the parallel port. I have also written another Perl module which drives an <a href="http://www.amontec.com>Amontec JTAGKey which is a USB-based device and therefore much faster. If you're interested in something like that, I can give you the Perl module for that too.