Coder Social home page Coder Social logo

tljtag's Introduction

Translucent Software (Josh Gibson) patches to JTMOD and tjtag v3.0.1
------------------------------------------------

These patches were done to create a usable Arduino jtag adapter for Mac OS X. JTMOD was designed for linux and Windows but Mac OS X required some significant changes in order for it to properly communicate with the Arduino and not have any communication errors.

It is based heavily off the source code of JTMOD (https://github.com/zoobab/tjtag-arduino). The serial communication library portion was completely rewritten but the Arduino sketch only had slight modifications for clarity and cable selection.

------------------------------------------------

- Mac OS X only
This patch only works on Mac OS X but should work on any POSIX compliant OS. All the original modifications in tjtag from JTMOD have been preserved. 

tjtag has also been patched in places to make it compatible with Mac OS X.

------------------------------------------------

- Arduino
arduiggler is JTMODs Arduino sketch and has been patched to provide the ability to use different cable types both Wiggler and Xilinx style cables. 

Wiggler is the preferred cable choice as it works without issue. 

The Xilinx cable seems to lack some jtag abilities. Currently it does not identify the EJTAG version or probe the flash. It also seems unable to restart the processor in debug mode.
  
------------------------------------------------

The cable hookups are as follows:

	JTAG	   - Wiggler -	     Arduino
	1  - nTRST ——————————————————> 6 
	3  - TDI ————————————————————> 5
	5  - TDO ————————————————————> 7
	7  - TMS ————————————————————> 3
	9  - TCK ————————————————————> 4
	11 - nSRST ——————————————————> 2

	JTAG	   - Xilinx -	    Arduino
	1  - nTRST ——————————————————> X
	3  - TDI ————————————————————> 2
	5  - TDO ————————————————————> 5
	7  - TMS ————————————————————> 4
	9  - TCK ————————————————————> 3
	11 - nSRST ——————————————————> X

Note: JTAG pin 1 is ALWAYS the square pad and is the top-left orientation.

The Arduino pins need to be connected with 1K Ohm resisters on 5v Arduinos as JTAG pins are 3v.
The ground pins 4 - 10 (Right side) need to be hooked up to the Arduino ground. 

------------------------------------------------

tl_tjtag is the Mac OS X patched version of tjtag and accepts all of the same commands as tjtag

The environment variable TL_TJTAG__PORT needs to be set to the Arduino port,
it should be something like: /dev/tty.usbserial*

Example:
        :~ export TL_TJTAG_PORT=/dev/tty.usbserial-A603UE5O
        :~ ./tl_tjtag -probeonly /wiggler

------------------------------------------------

tl_tjtag_tests is a test application that will test turing on and off the pins.
		LEDs can be attached to each pin to verify everything is working.


------------------------------------------------

As with the JTMOD, this patch also runs very slow! It most likely is due to the latency experienced with sending to, waiting for and finally receiving back from the Arduino. But it works and can keep you from spending money on buying a jtag cable.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.