EmbeddedRelated.com
Forums

JTAG and multiple chips on a single board

Started by Baldur Gislason October 21, 2006
I'm making a board with multiple LPC2000 series chips on it. Can I
somehow share one JTAG connector for all the chips or do I have to
have one connector per chip if I intend to use JTAG?

An Engineer's Guide to the LPC2100 Series

Baldur Gislason wrote:
>
> I'm making a board with multiple LPC2000 series chips on it. Can I
> somehow share one JTAG connector for all the chips or do I have to
> have one connector per chip if I intend to use JTAG?
>
It depends on the jtag unit that you use. I use an Abatron BDI2000 on a
board with an LPC2138 + LPC2106, with one jtag header. I describe the
board in the BDI2000 config file, tell it about the chain length and
what processors / Flash memory is where. Then, I can run two instances
of Insight and debug both processors.

YMMV depending on the capabilities of your JTAG unit. So, the question
is not "can it be done", as the answer is "certainly!". The real
question is if your choice of a jtag interface can do what is commonly done.

TomW
--
Tom Walsh - WN3L - Embedded Systems Consultant
http://openhardware.net http://cyberiansoftware.com http://openzipit.org
"Windows? No thanks, I have work to do..."
----------------
--- In l..., Tom Walsh wrote:
>
> Baldur Gislason wrote:
> >
> > I'm making a board with multiple LPC2000 series chips on it. Can I
> > somehow share one JTAG connector for all the chips or do I have to
> > have one connector per chip if I intend to use JTAG?
> >
> It depends on the jtag unit that you use. I use an Abatron BDI2000
on a
> board with an LPC2138 + LPC2106, with one jtag header. I describe the
> board in the BDI2000 config file, tell it about the chain length and
> what processors / Flash memory is where. Then, I can run two instances
> of Insight and debug both processors.
>
> YMMV depending on the capabilities of your JTAG unit. So, the question
> is not "can it be done", as the answer is "certainly!". The real
> question is if your choice of a jtag interface can do what is
commonly done.
>
> TomW

JTAG provides for daisy chaining TDO/TDI signals and any JTAG hardware
that works with one device should in principle also work with multiple
devices. This is assuming the driver and software supports multiple
devices.

It is also possible to automatically discover the devices in the chain
and programming software nowadays (eg IMACT) does this for you. I am
not sure about debuggers though.

Jaya
--- In l..., "jayasooriah" wrote:
>
> --- In l..., Tom Walsh wrote:
> >
> > Baldur Gislason wrote:
> > >
> > > I'm making a board with multiple LPC2000 series chips on it. Can I
> > > somehow share one JTAG connector for all the chips or do I have to
> > > have one connector per chip if I intend to use JTAG?
> > >
> > It depends on the jtag unit that you use. I use an Abatron BDI2000
> on a
> > board with an LPC2138 + LPC2106, with one jtag header. I describe
the
> > board in the BDI2000 config file, tell it about the chain length and
> > what processors / Flash memory is where. Then, I can run two
instances
> > of Insight and debug both processors.
> >
> > YMMV depending on the capabilities of your JTAG unit. So, the
question
> > is not "can it be done", as the answer is "certainly!". The real
> > question is if your choice of a jtag interface can do what is
> commonly done.
> >
> > TomW
>
> JTAG provides for daisy chaining TDO/TDI signals and any JTAG hardware
> that works with one device should in principle also work with multiple
> devices. This is assuming the driver and software supports multiple
> devices.
>
> It is also possible to automatically discover the devices in the chain
> and programming software nowadays (eg IMACT) does this for you. I am
> not sure about debuggers though.
>
> Jaya
>

I'm using OpenOCD and Olimex USB jtag, sometimes wiggler clone. So
nothing fancy.
--- In l..., "Baldur Gislason" wrote:

>
> I'm using OpenOCD and Olimex USB jtag, sometimes wiggler clone. So
> nothing fancy.
>

Can someone who uses or knows OpenOCD comment on whether it can handle
multple devices on one JTAG port? I like to know too.

Thanks.

Jaya
On Wednesday 25 October 2006 01:58, jayasooriah wrote:
> --- In l..., "Baldur Gislason" wrote:
> Can someone who uses or knows OpenOCD comment on whether it can handle
> multple devices on one JTAG port? I like to know too.

Yes, the OpenOCD supports multiple devices on the JTAG port. I've tested the
JTAG layer myself, on a board with a Xilinx FPGA + CPLD, and received success
reports from people accessing more than one LPC2000 simultaneously.

The OpenOCD opens a GDB port for each configured target, and allows
the "active" target to be specified on the telnet interface via the "targets"
command. All further commands are sent to the currently active target.
This functionality isn't tested a lot, but should work fine, except for the
one or other minor bug.

Best regards,

Dominic Rath