For Users: A set of useful and usable JTAG tools.
For Developers: A library to facilitate development of custom JTAG
Current User Features
- ARM7TDMI debugger stub for gdb (ARM instruction set only right
- MIPS debugger stub for gdb (currently untested)
- Support for parallel port cable
Current Developer Features
- as the very basis, a JTAG engine to do TAP state and bit shift
- a plugin architecture for easily adding cable/converter plugins
interface to hardware
- several cable plugins, the most usable being the printer port
- Modules to control the ICE debug unit for ARM7TDMI and MIPS cores
(other modules can be added)
- a generic gdb stub to attach the debugger modules to gdb
- To provide JTAG debugging tools, and provide an easily
usable base architecture for new plugins or JTAG applications.
- To unite scattered open-source JTAG projects who are focusing on
specific targets/tasks, by giving them a common backend.
- To provide an architecture that can support openly designed
accelerated JTAG converter hardware.
All 3 packages are needed, if you want to use the gdb stub.
libjtag is the base library, containing the cable drivers and JTAG API.
libjtagice contains the debug unit support for ARM7TDMI and MIPS.
jtagstub is the gdb stub, which will work with ARM7TDMI, MIPS and
potential other debug unit support targets.
Configure, make and install all three packages in the above order. I
suggest configuring into a separate directory, like this:
Also read the README files in the main directorys!
Work is going on to provide:
- Cable plugin for RS232 port with level-changers (direct TAP
connection w/o glue logic)
- ARM-Thumb debugging
- Soft/Hardware for external accelerated JTAG converter
- Maintainer for MIPS target
- New debugger targets
- EXTEST applications (access SPI etc. through the processor pins)
- Whatever you want to do with JTAG
This project was started by Ryuji Naitou from Japan, who published the
sourced under GPL in March 2004. Heiko Panther then picked up on it,
making the ARM7TDMI debugger work, improving the portability (to make
it work on his Mac), and other stuff.