EmbeddedRelated.com
Forums

Arm, gdb and jtag

Started by db January 11, 2004
I am somewhat confused about debugging arm processors through the jtag
port using
gdb. There does not seem to be a complete GPL based option. I see alot
of commercial software for which I do not have the thousands to spend
on and I see bits and pieces of software that looks like it could be
integrated to provide jtag debug access, but nothing fully integrated.

I have experiemented with implementing the openrisc processor with
uclinux in a gate array. When I have worked with the openrisc emulator
I am used to doing something in gdb like jtag://localhost to do a
debugging session. Yet there does not quite seem to be something like
that with arm.

Am I missing something here?
db wrote:
> I am somewhat confused about debugging arm processors through the jtag > port using > gdb. There does not seem to be a complete GPL based option. I see alot > of commercial software for which I do not have the thousands to spend > on and I see bits and pieces of software that looks like it could be > integrated to provide jtag debug access, but nothing fully integrated. > > I have experiemented with implementing the openrisc processor with > uclinux in a gate array. When I have worked with the openrisc emulator > I am used to doing something in gdb like jtag://localhost to do a > debugging session. Yet there does not quite seem to be something like > that with arm. > > Am I missing something here?
Hi, If your are searching the lowest cost on the market, try the Chameleon POD ( by Amontec.com ). This is an JTAG emulator compatible with the Macraigor Raven. It can operate as a RAVEN at 8MHz TCK frequency. Raven or Wiggler can works over GNU GDB or all other popular Debugger tools. A nice solution for ARM. Larry
x wrote:

> If your are searching the lowest cost on the market, try the Chameleon > POD ( by Amontec.com ). This is an JTAG emulator compatible with the > Macraigor Raven. It can operate as a RAVEN at 8MHz TCK frequency. > Raven or Wiggler can works over GNU GDB or all other popular Debugger > tools. A nice solution for ARM.
I've got a JTAG interface from my PC, and I even have documentation on how it works. What I wish I had is information on how to actually use it to program EPROMs and CPLDs and things. Is this kind of stuff generally kept close to the manufacturer's chests, or can they be prompted to divulge? I see there is some open source work afoot - http://openwince.sourceforge.net/jtag/ - but they don't cover my Lattice Semi MACH cPLDs! What would be nice is a huge online repository containing the core JTAG specs, programming examples for common JTAG adapters for PCs, and a load of specifications for using them for things other than boundary scan testing. Any volunteers? :-)
> > Larry >
ABS
I have seen the Chameleon, Raven and Wiggler. The problem with these
is that the binary software is freely available, but not the source.

I have a usb/fpga card from Mesa Electronics with some basic jtag
software included.
One requirement of my project is that all software be opensource. If
necessary I will write it.


x <x@x.com> wrote in message news:<4002B393.30803@x.com>...
> db wrote: > > I am somewhat confused about debugging arm processors through the jtag > > port using > > gdb. There does not seem to be a complete GPL based option. I see alot > > of commercial software for which I do not have the thousands to spend > > on and I see bits and pieces of software that looks like it could be > > integrated to provide jtag debug access, but nothing fully integrated. > > > > I have experiemented with implementing the openrisc processor with > > uclinux in a gate array. When I have worked with the openrisc emulator > > I am used to doing something in gdb like jtag://localhost to do a > > debugging session. Yet there does not quite seem to be something like > > that with arm. > > > > Am I missing something here? > Hi, > > If your are searching the lowest cost on the market, try the Chameleon > POD ( by Amontec.com ). This is an JTAG emulator compatible with the > Macraigor Raven. It can operate as a RAVEN at 8MHz TCK frequency. > Raven or Wiggler can works over GNU GDB or all other popular Debugger > tools. A nice solution for ARM. > > Larry
I just did a small test project with two Xilinx 32 macrocell cplds. In
my case I generated an SVF and played that through the jtag software
that came with my  board. You may be able to do something similar your
Mach CPLD.

For the flash in my project, I will use the jtag from the arm
processor I am using to bit bang the flash. I do not consider that to
be too major a project.

The real trick is finding something open source that can talk jtag to
my processor(Sharp 79520), interface to gdb for register access, be
open source and work.

Alaric B Snell <alaric@alaric-snell.com> wrote in message news:<1005r7b63q8dp75@corp.supernews.com>...
> x wrote: > > > If your are searching the lowest cost on the market, try the Chameleon > > POD ( by Amontec.com ). This is an JTAG emulator compatible with the > > Macraigor Raven. It can operate as a RAVEN at 8MHz TCK frequency. > > Raven or Wiggler can works over GNU GDB or all other popular Debugger > > tools. A nice solution for ARM. > > I've got a JTAG interface from my PC, and I even have documentation on > how it works. What I wish I had is information on how to actually use it > to program EPROMs and CPLDs and things. Is this kind of stuff generally > kept close to the manufacturer's chests, or can they be prompted to divulge? > > I see there is some open source work afoot - > http://openwince.sourceforge.net/jtag/ - but they don't cover my Lattice > Semi MACH cPLDs! > > What would be nice is a huge online repository containing the core JTAG > specs, programming examples for common JTAG adapters for PCs, and a load > of specifications for using them for things other than boundary scan > testing. Any volunteers? :-) > > > > > Larry > > > > ABS
db wrote:
> I just did a small test project with two Xilinx 32 macrocell cplds. In > my case I generated an SVF and played that through the jtag software > that came with my board. You may be able to do something similar your > Mach CPLD.
Ah, but how did you generate the SVF?
> For the flash in my project, I will use the jtag from the arm > processor I am using to bit bang the flash. I do not consider that to > be too major a project.
Clever! I like it :-) ABS
Alaric B Snell <alaric@alaric-snell.com> wrote in message news:<1007dsrq8sfoo7a@corp.supernews.com>...
> db wrote: > > I just did a small test project with two Xilinx 32 macrocell cplds. In > > my case I generated an SVF and played that through the jtag software > > that came with my board. You may be able to do something similar your > > Mach CPLD. > > Ah, but how did you generate the SVF?
Generating SVF is an option in the Xilinx Impact Utility. You can also chain together multiple devices into one chain and generate a single SVF to program them both. If you build your own boards, the 32 macrocell cplds are only a few dollars a piece from Nu-Horizons. Nice for when you are just getting started and do not want to risk a more expensive chip.
db wrote:
>>Ah, but how did you generate the SVF? > > Generating SVF is an option in the Xilinx Impact Utility. You can also > chain together multiple devices into one chain and generate a single > SVF to program them both.
So a dependency upon the Xilinx software :-( Which I bet they don't provide a version of that will run on a Z80 to dynamically reconfigure an IO glue FPGA, eh? :-)
> If you build your own boards, the 32 macrocell cplds are only a few > dollars a piece from Nu-Horizons. Nice for when you are just getting > started and do not want to risk a more expensive chip.
Mmmm - I have a Lattice Semi evaluation / programming board that does MACH devices. Very handy. Lots of I/O pins and space for some quite complex designs! ABS
Alaric B Snell wrote:
> > db wrote: > >>Ah, but how did you generate the SVF? > > > > Generating SVF is an option in the Xilinx Impact Utility. You can also > > chain together multiple devices into one chain and generate a single > > SVF to program them both. > > So a dependency upon the Xilinx software :-( Which I bet they don't > provide a version of that will run on a Z80 to dynamically reconfigure > an IO glue FPGA, eh? :-)
If you are talking about using different bit streams, then you don't need anything special on the Z80 other than the code to bit bang the configuration data into the part. If you are talking about *changing* the bit stream in the Z80, then you are working on a very long and tedious project.
Ralph Malph wrote:

>>So a dependency upon the Xilinx software :-( Which I bet they don't >>provide a version of that will run on a Z80 to dynamically reconfigure >>an IO glue FPGA, eh? :-)
> If you are talking about using different bit streams, then you don't > need anything special on the Z80 other than the code to bit bang the > configuration data into the part. If you are talking about *changing* > the bit stream in the Z80, then you are working on a very long and > tedious project.
I'd like to be able to generate my own bit stream. I'm not worried about the requirements of compiling a logical specification to a description of how the PLD should wire itself up, based upon the documentation of the PLD's routing capabilities; I can do that, it's just that I can't find documentation for how to generate the actual bit stream that will make the PLD wire itself up as I wish. I've experimented with compiling hardware descriptions for my own design of *simulated* PLD :-) ABS