EmbeddedRelated.com
Forums

JTAG Debugger

Started by mark_dell555 October 26, 2005
Hi,

I have a Agilent E5900B emulation probe that I've been trying to get
working on a LPC2134 with ADS. It works fine on my AT91 dev board,
but I cant get it to work in ADS with the LPC2134. Note that this
probe is ARM7TDMI not -S. I seem to have some success (RESET, STOP,
RUN, and STEP, and poll register etc..) using the telnet interface
when I disconnect the RTCK pin. But either way I get alot of Data
Aborts in ADS.

I was wondering if anyone has experienced this problem? I've read a
bit that suggests the problem could be that the probe doesnt support
-S, but I'm unsure, especially since using telnet I can get it to
function. Also are there any other debuggers that work with this
Agilent probe? And my final option is to put togather a wiggler type
jtag, and use it.

What do you think I should do? Just give up on this Agilent probe?

Any help, input, and opinions are welcome.

Thank you,
Mark


An Engineer's Guide to the LPC2100 Series

Hi Mark,

Can you divide the JTAG clock frequency?

Regards
Michael

>Hi,
>
>I have a Agilent E5900B emulation probe that I've been trying to get
>working on a LPC2134 with ADS. It works fine on my AT91 dev board,
>but I cant get it to work in ADS with the LPC2134. Note that this
>probe is ARM7TDMI not -S. I seem to have some success (RESET, STOP,
>RUN, and STEP, and poll register etc..) using the telnet interface
>when I disconnect the RTCK pin. But either way I get alot of Data
>Aborts in ADS.
>
>I was wondering if anyone has experienced this problem? I've read a
>bit that suggests the problem could be that the probe doesnt support
>-S, but I'm unsure, especially since using telnet I can get it to
>function. Also are there any other debuggers that work with this
>Agilent probe? And my final option is to put togather a wiggler type
>jtag, and use it.
>
>What do you think I should do? Just give up on this Agilent probe?
>
>Any help, input, and opinions are welcome.
>
>Thank you,
>Mark >Yahoo! Groups Links




Hi Michael,

Yes. I can set it anywhere from 500kHz to 10Mhz. I've been using it
at 500kHZ and 1 Mhz. I should mention I'm using ADS 1.2.

Thanks,
Mark

>
> Hi Mark,
>
> Can you divide the JTAG clock frequency?
>
> Regards
> Michael




A wiggler will do a maximum of 400kHz - I can't remember if we have LPC
boards that we've had to put a clock divider on to make things reliable
- so 500kHz may be too fast. Could there be a program in the flash that
is causing the problem - try erasing the flash using the ISP.

Regards
Michael

>Hi Michael,
>
>Yes. I can set it anywhere from 500kHz to 10Mhz. I've been using it
>at 500kHZ and 1 Mhz. I should mention I'm using ADS 1.2.
>
>Thanks,
>Mark >
>>Hi Mark,
>>
>>Can you divide the JTAG clock frequency?
>>
>>Regards
>>Michael
>>
> >Yahoo! Groups Links




Michael Johnson wrote:

>A wiggler will do a maximum of 400kHz - I can't remember if we have LPC
>boards that we've had to put a clock divider on to make things reliable
>- so 500kHz may be too fast. Could there be a program in the flash that
>is causing the problem - try erasing the flash using the ISP. >
I was thinking the same thing, I saw the same prob with Abatron BDI2000
+ LPC2138. The processor would give data aborts via the JTAG until I
erased the Flash.
TomW >Regards
>Michael >
>>Hi Michael,
>>
>>Yes. I can set it anywhere from 500kHz to 10Mhz. I've been using it
>>at 500kHZ and 1 Mhz. I should mention I'm using ADS 1.2.
>>
>>Thanks,
>>Mark
>>
>>
>>
>>
>>
>>>Hi Mark,
>>>
>>>Can you divide the JTAG clock frequency?
>>>
>>>Regards
>>>Michael
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
>>
>>Yahoo! Groups Links
>>
>>
>>
>>
>>
>>
>>
>>
>>
> >Yahoo! Groups Links


--
Tom Walsh - WN3L - Embedded Systems Consultant
http://openhardware.net, http://cyberiansoftware.com
"Windows? No thanks, I have work to do..."
----------------


> Hi,
>
> I have a Agilent E5900B emulation probe that I've been trying to get
> working on a LPC2134 with ADS. It works fine on my AT91 dev board,
> but I cant get it to work in ADS with the LPC2134. Note that this
> probe is ARM7TDMI not -S. I seem to have some success (RESET, STOP,
> RUN, and STEP, and poll register etc..) using the telnet interface
> when I disconnect the RTCK pin. But either way I get alot of Data
> Aborts in ADS.

I also had some problems (with a Jeeni). It seems to work sometimes or up
to a certain moment and then strange errors pop up.

Meanwhile I am developing my own JTAG probe - using RTCK I get to about 2
MHz on the jtag clock (14.7 MHz crystal).
There are indeed some differences between the TDMI and the -S version that
may render your TDMI debugger unusable. The TDMI has a third public jtag
chain and (as far as I remember) supports both INTEST and EXTEST.

A wiggler may do OK for you but I don't like the use of the printer port
(apart from not being available on my laptop). Therefor I decided to go
for a debuggerpod that is connected via Ethernet, using the RDI protocol
which makes it suitable for a wider range of debugger software.
Software is not yet finished, I keep running into small problems from time
to time ...

If the Agilent uses RID, try using another debugger (e.g. gdb). I found
that I could do some debugging with the Jeeni via the RealView debugger
but was not able to do anything with GDB. It may be the other way around
for you.

Regards,

Rob


Dear Rob

Will you publish your Jtag design or is it commercial ?

Cheers
Michael >From: "Rob Jansen" <rob@rob@...>
>Reply-To: lpc2000@lpc2...
>To: lpc2000@lpc2...
>Subject: Re: [lpc2000] JTAG Debugger
>Date: Wed, 26 Oct 2005 15:31:00 +0200 (CEST)
>
> > Hi,
> >
> > I have a Agilent E5900B emulation probe that I've been trying to get
> > working on a LPC2134 with ADS. It works fine on my AT91 dev board,
> > but I cant get it to work in ADS with the LPC2134. Note that this
> > probe is ARM7TDMI not -S. I seem to have some success (RESET, STOP,
> > RUN, and STEP, and poll register etc..) using the telnet interface
> > when I disconnect the RTCK pin. But either way I get alot of Data
> > Aborts in ADS.
>
>I also had some problems (with a Jeeni). It seems to work sometimes or up
>to a certain moment and then strange errors pop up.
>
>Meanwhile I am developing my own JTAG probe - using RTCK I get to about 2
>MHz on the jtag clock (14.7 MHz crystal).
>There are indeed some differences between the TDMI and the -S version that
>may render your TDMI debugger unusable. The TDMI has a third public jtag
>chain and (as far as I remember) supports both INTEST and EXTEST.
>
>A wiggler may do OK for you but I don't like the use of the printer port
>(apart from not being available on my laptop). Therefor I decided to go
>for a debuggerpod that is connected via Ethernet, using the RDI protocol
>which makes it suitable for a wider range of debugger software.
>Software is not yet finished, I keep running into small problems from time
>to time ...
>
>If the Agilent uses RID, try using another debugger (e.g. gdb). I found
>that I could do some debugging with the Jeeni via the RealView debugger
>but was not able to do anything with GDB. It may be the other way around
>for you.
>
>Regards,
>
> Rob
>


> Dear Rob
>
> Will you publish your Jtag design or is it commercial ?
>
> Cheers
> Michael

I was thinking of releasing the binary version for free and provide the
source code on a commercial basis.

I am using the 10/100 Ethernet board from Embedded Artists as development
platform. This gives home users a fairly cheap RDI based jtag debugger.

Rob


OK, I was able to set the Aglient probe to 391kHz, and erased the
chip. I can read and write RAM in AXD. I disabled software
breakpoints on the vectors and SWIs. Now I'm not getting Data Aborts
anymore. I created a simple project that just toggles an LED and told
the linker to put everything into RAM (0x40000100+). It runs now. I
still get some too many breakpoints errors, possibly because i have
disabled everything except for hardware breakpoints. I guess the next
step is to try and run some flash code. The data aborts were probably
generated by AXD trying to set software breakpoints in the vector
table, but they're not remapped to RAM, so it failed.

Thanks for all the help so far. I'll try debugging flash code, and
loading flash using the JTAG next, although that might be quite a bit
more difficult. Mark
--- In lpc2000@lpc2..., Michael Johnson <mpj@r...> wrote:
>
> A wiggler will do a maximum of 400kHz - I can't remember if we have LPC
> boards that we've had to put a clock divider on to make things reliable
> - so 500kHz may be too fast. Could there be a program in the flash that
> is causing the problem - try erasing the flash using the ISP.
>
> Regards
> Michael
>
> >Hi Michael,
> >
> >Yes. I can set it anywhere from 500kHz to 10Mhz. I've been using it
> >at 500kHZ and 1 Mhz. I should mention I'm using ADS 1.2.
> >
> >Thanks,
> >Mark
> >
> >
> >
> >>Hi Mark,
> >>
> >>Can you divide the JTAG clock frequency?
> >>
> >>Regards
> >>Michael
> >>
> >>
> >
> >
> >
> >
> >
> >
> >
> >
> >Yahoo! Groups Links
> >
> >
> >
> >
> >
> >
> >
> >
>




I noticed another problem with the debugging. When i just let the
code run, and then hit stop, most of the time it will stop correctly
within the RAM code. But sometimes it will stop with PC = 0x0000xxxx.
Ie somewhere in flash. Flash is clear so there is no code there.
Interrupts are disabled. Not sure why but sometimes it messes up when
I tell it to stop. It will run correctly for a long time, until i
tell it to stop. Weird. Mark