• Visit https://www.embeddedcomputers.net/ for Hardware; Software and all other things related to FlashcatUSB

Wishlist : Add support to JTAG pinout detection

vletoux

New Member
Hi,

I've a Terayon TJ721X with a 8 pin JTAG adaptor.
Unfortunately, it doesn't match the standard 8 pin JTAG layout and I can't follow the track because the PCB is a multilayer one.
=> I'm stuck with no idea how to know which PIN of the JTAG connector does what.

I saw on the Internet that it exists a program which can detect the JTAG pin layout.
Its name is "jtagenum" which run on a Arduino platform.
Other implementation exist (http://www.openrce.org/repositories/users/cyphunk/JTAGenum.pde) and **can be** (according to the authors) adapted easily to the AT90USB controller, which is equipping the blackcat usb board.

I think it will be a very nice improvement to the blackcat usb program.

Regards,
Vincent
 
Seems like a good idea , i will put it forward to the developer , however , i would not hold my breath for this to be added in the near future , as the Developer is in the process of getting the software /firmware updated to accomodate the new 32KB chip . As well as getting Non-DMA targets added , in addition for future support of ARM and IC12 .

Post a pic of the board as well as CPU type etc and we will see if we can help find out what is what.
 
The CPU is a tnetc4401
I'm just posting a photo of the front of the board, because there is no track visible on the back of the board.
Honestly, I don't think I can get the JTAG layout except by using an oscilloscope.
DSC01529.JPG

Don't worry if you don't implement this change.
I'm the owner of an open source project and I've my own "user wishlist" so I know what you're talking about.

vincent
 
Well, I'm trying to evaluate the complexity to add the jtag enumeration feature.

I've some basic questions :
Is the current firmware open source ?
If not, are you using Arduino to compile the software or AVR studio ? (my guess is AVR studio)
Is it possible to know which pin of the connector and of the led is connected to the chip ?
(if the code of firmware is open source, I'll find it by myself)

regards,
vincent
 
Apologies for the late reply , work seems to be hindering me at the moment...

To answer some of your questions.
The software itself is open source , allthough a recent version of the source code has not been released yet.
It is compiled using AVR.
Unsure of the pin that connects to the LED , but as soon as i get home this evening , i will upload an older version of the source code and you should be able to figure it out from that.

If you wish you can contact the developer yourself and ask him for any further information.

http://www.embeddedcomputers.net/contact/
 
Here is a very old copy of the source code.
 

Attachments

  • BlackcatUSB.SC.RC1.rar
    1.2 MB · Views: 65
Got a look at it and I understand now when you say that it may take some times ...

I'll get you updated if I have something new to propose.

regards,
vincent
 
Bear in mind the source i provided is very very old , there has been some substantial work done to it since this was released.
The developer is working on getting the firmware ported to AV5 to accomodate the new chip as well as future addons.
 
Actually that source is fairly obsolete. The AVR code is for atmega8 (non USB version), so it is really slow as it has no usb hardware and it has to emulate it. RC1 and RC2 I believe were only for PCB 1.0-1.2. Starting at PCB 1.3, the hardware uses AT90USB162 (16KB flash, 512 bytes SRAM), and that was for versions up to PCB 1.7. New versions 1.7 and 1.8 use Atmega32U2 (32KB flash and 1KB SRAM). As the current AVR code has grown to over 12KB (the largest size that can fit into a 16KB+usb bootloader).

As for software, BCUSB no longer uses C++ and everything is compiled into a single code base for easy development and testing. Currently, the software uses LibUSBDotNet driver to connect the hardware to the application software. In the current release, the "SDK" folder contains the wrapper source code for connecting to the BCUSB hardware. Thus, you do not need the GUI, you can just use the EJTAG.vb code for example to communicate your own program or code with the BCUSB interface.

As for your "pin-out" wishlist, we could probably make a single AVR firmware for detecting JUST the interface with a number of pins. BCUSB provides 9 universal pins that you could connect and it could go through all the combinations to find the correct combination to identify the protocol (JTAG, SPI, I2C etc) and then draw a pinout picture for you to use. Then you could load the normal firmware for the selected protocol.
 
Back
Top