Reply by leon_heller December 8, 20052005-12-08
--- In lpc2000@lpc2..., "Leon Heller" <leon.heller@b...>
wrote:
>
>
> ----- Original Message -----
> From: "Bertrik Sikken" <bertrik@z...>
> To: <lpc2000@lpc2...>
> Sent: Thursday, December 08, 2005 8:23 PM
> Subject: Re: [lpc2000] Re: JTAG Programmer Confusion - Noob Question > > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > Leon Heller wrote:
> >> ----- Original Message -----
> >> From: "sixtyfivebit" <sixtyfivebit@y...>
> >>> I'm glad this thread is helping other people, and after some
research
> >>> things are a bit more clear...
> >>>
> >>> Since I really don't want to buy a wiggler and would rather
build one
> >>> my self (for experience, learning, etc.), is there any
particular
> >>> schematic I should go with?
> >>>
> >>> Leon_Heller, nice site and I saw your prototype page earlier
> >>> (bookmarked it), but I couldn't find your jtag.zip. I went
through
> >>> most of the pages on your site but didn't see it... did I miss
> >>> something?
> >>
> >> It's in this groups Files area.
> >
> > Hi Leon,
> >
> > Sorry if I'm asking a stupid question (I'm not a hardware
designer),
> > but is your circuit safe for the parallel port?
> >
> > As far as I can see the 74HC244 takes its VCC from the 3.3V from
> > the target board while the 5V parallel port signals are directly
> > connected to the inputs of the HC244. In the HC244 datasheet I
> > notice that there are protection diodes between the inputs and
> > Vcc / ground.
> >
> > It looks like there is a current path from the 5V parallel ports
pins
> > through the HC244 protection diodes into the target 3.3V without
any
> > obvious current limit. Doesn't this risk blowing out the parallel
port
> > drivers? Also, wouldn't this lift the 3.3V on the target to a
possibly
> > dangerous voltage?
>
> It would be better to use a 74AC244, but I don't have any problems
with it
> as it is.

I should also have said that parallel port outputs don't generate 5V
signals (I think they are TTL), and they are protected.

Leon



An Engineer's Guide to the LPC2100 Series

Reply by Leon Heller December 8, 20052005-12-08

----- Original Message -----
From: "Bertrik Sikken" <bertrik@bert...>
To: <lpc2000@lpc2...>
Sent: Thursday, December 08, 2005 8:23 PM
Subject: Re: [lpc2000] Re: JTAG Programmer Confusion - Noob Question > -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Leon Heller wrote:
>> ----- Original Message -----
>> From: "sixtyfivebit" <sixtyfivebit@sixt...>
>>> I'm glad this thread is helping other people, and after some research
>>> things are a bit more clear...
>>>
>>> Since I really don't want to buy a wiggler and would rather build one
>>> my self (for experience, learning, etc.), is there any particular
>>> schematic I should go with?
>>>
>>> Leon_Heller, nice site and I saw your prototype page earlier
>>> (bookmarked it), but I couldn't find your jtag.zip. I went through
>>> most of the pages on your site but didn't see it... did I miss
>>> something?
>>
>> It's in this groups Files area.
>
> Hi Leon,
>
> Sorry if I'm asking a stupid question (I'm not a hardware designer),
> but is your circuit safe for the parallel port?
>
> As far as I can see the 74HC244 takes its VCC from the 3.3V from
> the target board while the 5V parallel port signals are directly
> connected to the inputs of the HC244. In the HC244 datasheet I
> notice that there are protection diodes between the inputs and
> Vcc / ground.
>
> It looks like there is a current path from the 5V parallel ports pins
> through the HC244 protection diodes into the target 3.3V without any
> obvious current limit. Doesn't this risk blowing out the parallel port
> drivers? Also, wouldn't this lift the 3.3V on the target to a possibly
> dangerous voltage?

It would be better to use a 74AC244, but I don't have any problems with it
as it is.

Leon

---
[This E-mail has been scanned for viruses but it is your responsibility
to maintain up to date anti virus software on the device that you are
currently using to read this email. ]


Reply by Bertrik Sikken December 8, 20052005-12-08
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Leon Heller wrote:
> ----- Original Message -----
> From: "sixtyfivebit" <sixtyfivebit@sixt...>
>> I'm glad this thread is helping other people, and after some research
>> things are a bit more clear...
>>
>> Since I really don't want to buy a wiggler and would rather build one
>> my self (for experience, learning, etc.), is there any particular
>> schematic I should go with?
>>
>> Leon_Heller, nice site and I saw your prototype page earlier
>> (bookmarked it), but I couldn't find your jtag.zip. I went through
>> most of the pages on your site but didn't see it... did I miss something?
>
> It's in this groups Files area.

Hi Leon,

Sorry if I'm asking a stupid question (I'm not a hardware designer),
but is your circuit safe for the parallel port?

As far as I can see the 74HC244 takes its VCC from the 3.3V from
the target board while the 5V parallel port signals are directly
connected to the inputs of the HC244. In the HC244 datasheet I
notice that there are protection diodes between the inputs and
Vcc / ground.

It looks like there is a current path from the 5V parallel ports pins
through the HC244 protection diodes into the target 3.3V without any
obvious current limit. Doesn't this risk blowing out the parallel port
drivers? Also, wouldn't this lift the 3.3V on the target to a possibly
dangerous voltage?

Regards,
Bertrik
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDmJY9ETD6mlrWxPURAhJEAJ4kuW6nwVKRxmHsXdKdG2ejIoooMgCeMv+r
ahAx0FVIvPtuTdOupedxOcA=
cL
-----END PGP SIGNATURE-----



Reply by Dominic Rath December 8, 20052005-12-08
Hello,

On Wednesday 07 December 2005 23:00, Bertrik Sikken wrote:
>
> Hi Tom,
>
> Thanks for going through the trouble of trying out your wiggler clone.
>
> I think I'm making some progress with my (olimex) wiggler clone
> and the gdb-arm-jtag sources. It appears I can at least get the
> JTAG id code now. I get 4F1F0F0F for an LPC2148, which looks similar
> to the 7F1F0F0F default code that I see in the ARM7TDMI-S docs from ARM.
> Do you remember which idcode you got?
>
The 0x4f1f0f0f is what I get on my lpc2294, so this should be fine.

>
> I needed to do two things to make gdb-arm-jtag work so far:
> 1) wait a bit after the device is reset before accessing JTAG
That's because of Philips' code protection. The test logic is forced into
reset state whenever the chip is reset, making it impossible to debug right
out of reset.

> 2) make sure that parallel port bits DATA4 and DATA7 are set
Data4 should be the system reset. Not sure what Data7 is.

>
> Regarding 2), I see that these pins are going somewhere in
> the olimex wiggler clone, but I can't clearly see where
> (could be the output enables or perhaps some kind of power pins)
>
> All the best,
> Bertrik

You should be aware that debugging an ARM7 is different from an ARM9. The
debug scan-chain of the arm7 has only 33 bits, 32 bit data/address bus + one
control bit, while the arm9 has 67 bits, 32 bit data, 32 bit address and
three control bits. Also, the ARM7 has a different pipeline design than the
ARM9 (3 stages arm7 vs. 5 stages arm9).

If you're interested in working on this topic mail me off-list, I've been
working on a debugger with a gdb interface for quite some time now, it just
needs some finishing touches.

Regards,

Dominic



Reply by Leon Heller December 8, 20052005-12-08

----- Original Message -----
From: "sixtyfivebit" <sixtyfivebit@sixt...>
To: <lpc2000@lpc2...>
Sent: Thursday, December 08, 2005 7:35 AM
Subject: [lpc2000] Re: JTAG Programmer Confusion - Noob Question > Hi,
>
> I'm glad this thread is helping other people, and after some research
> things are a bit more clear...
>
> Since I really don't want to buy a wiggler and would rather build one
> my self (for experience, learning, etc.), is there any particular
> schematic I should go with?
>
> Leon_Heller, nice site and I saw your prototype page earlier
> (bookmarked it), but I couldn't find your jtag.zip. I went through
> most of the pages on your site but didn't see it... did I miss something?

It's in this groups Files area.

Leon
---
[This E-mail has been scanned for viruses but it is your responsibility
to maintain up to date anti virus software on the device that you are
currently using to read this email. ]


Reply by sixtyfivebit December 8, 20052005-12-08
Hi,

I'm glad this thread is helping other people, and after some research
things are a bit more clear...

Since I really don't want to buy a wiggler and would rather build one
my self (for experience, learning, etc.), is there any particular
schematic I should go with?

Leon_Heller, nice site and I saw your prototype page earlier
(bookmarked it), but I couldn't find your jtag.zip. I went through
most of the pages on your site but didn't see it... did I miss something?

lynchzilla, I'm eager to read your guide and I will wait till you post
the revision (so I don't confuse myself)... please do let everyone
know when you post the revision (if you haven't already) (no pressure,
of course :-) ).

It looks like the combination of Leon_Heller's wiggler and
lynchzilla's guide may be the clear solution for me... everything is
compatible and stuff, right?

Thanks.


Reply by Bertrik Sikken December 7, 20052005-12-07
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Tom Walsh wrote:
> Bertrik Sikken wrote:
>>>>The weird thing is, getting ocdremote to recognise the cable is the
>>>>hard part, once that works it seems to run fine.
>>>>The trick I mentioned is to first tell ocdcommander that a raven cable
>>>>is connected, let it fail, then tell it to look for a wiggler. If I do
>>>>that, the wiggler is recognised fine, even at the highest speed.
>>>>
>>>Are you debugging from Windows or Linux with the wiggler?
>>>
>>
>>I am trying to debug from Windows (with cygwin).
>>
>>I also tried the gdb-arm-jtag package you mentioned earlier. I replaced
>>the pp.c file with an implementation that uses libieee1284 instead
>>of directly accessing /dev/parport0 and tried to get jtag-arm to
>>work under both windows and linux, but I'm getting no data back
>>yet.
>>
> I dragged out my old wiggler clone and tried the gdb-jtag-arm working.
> It does connect to the ARM7TDMI cpu and identifies it as an ARM7TMDI.
> But the gdb-remote won't work with the ARM7 processor. No register are
> dumped. I tried with the jtag-arm tool and it comes back with all
> registers as 0xffffffff.
>
> I'm sure it prolly has something to do with the length of the SCANCHAIN
> between an ARM9TDMI vs ARM7TDMI. It was interesting to tinker with, but
> I went back to my other unit (BDI2000).

Hi Tom,

Thanks for going through the trouble of trying out your wiggler clone.

I think I'm making some progress with my (olimex) wiggler clone
and the gdb-arm-jtag sources. It appears I can at least get the
JTAG id code now. I get 4F1F0F0F for an LPC2148, which looks similar
to the 7F1F0F0F default code that I see in the ARM7TDMI-S docs from ARM.
Do you remember which idcode you got?

I needed to do two things to make gdb-arm-jtag work so far:
1) wait a bit after the device is reset before accessing JTAG
2) make sure that parallel port bits DATA4 and DATA7 are set

Regarding 2), I see that these pins are going somewhere in
the olimex wiggler clone, but I can't clearly see where
(could be the output enables or perhaps some kind of power pins)

All the best,
Bertrik
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDl1uOETD6mlrWxPURAuV1AJ9Sn4bVE4x3HTEBxJfLx3yrIYO+igCgm1Xz
dJY3PpzOkLPwuj4AnGWCcoc=
=mt+C
-----END PGP SIGNATURE-----



Reply by Rob Jansen December 7, 20052005-12-07
Tom Walsh wrote:

> I dragged out my old wiggler clone and tried the gdb-jtag-arm working.
> It does connect to the ARM7TDMI cpu and identifies it as an ARM7TMDI.
> But the gdb-remote won't work with the ARM7 processor. No register are
> dumped. I tried with the jtag-arm tool and it comes back with all
> registers as 0xffffffff.
>
> I'm sure it prolly has something to do with the length of the SCANCHAIN
> between an ARM9TDMI vs ARM7TDMI. It was interesting to tinker with, but
> I went back to my other unit (BDI2000).

Not only may the length of the scan chain differ, the depth of the
prefetch buffer is different which will result in wrong data returned
(reading at the wrong clock tick on the data bus).

Defenitely a nice starting point for someone who starts writing his/her
own JTAG arm7tdmi-s code.

Please note: the scan chains for the ARM7TDMI and the 7TDMI-S are
different...

Regards,

Rob


Reply by Tom Walsh December 7, 20052005-12-07
Bertrik Sikken wrote:

>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
>
>Tom Walsh wrote: >>Bertrik Sikken wrote:
>>
>>
>>
>>>>My interface works at full speed, perhaps I have a better PCB design. I
>>>>wasn't very impressed by the layout on the genuine Wiggler I have, and
>>>>
>>>>
>>mine
>>
>>
>>>>is faster than that.
>>>>
>>>>
>>>>
>>>>
>>>The weird thing is, getting ocdremote to recognise the cable is the
>>>hard part, once that works it seems to run fine.
>>>The trick I mentioned is to first tell ocdcommander that a raven cable
>>>is connected, let it fail, then tell it to look for a wiggler. If I do
>>>that, the wiggler is recognised fine, even at the highest speed.
>>>
>>>
>>>
>>>
>>Are you debugging from Windows or Linux with the wiggler?
>>
>>
>
>I am trying to debug from Windows (with cygwin).
>
>I also tried the gdb-arm-jtag package you mentioned earlier. I replaced
>the pp.c file with an implementation that uses libieee1284 instead
>of directly accessing /dev/parport0 and tried to get jtag-arm to
>work under both windows and linux, but I'm getting no data back
>yet. >
I dragged out my old wiggler clone and tried the gdb-jtag-arm working.
It does connect to the ARM7TDMI cpu and identifies it as an ARM7TMDI.
But the gdb-remote won't work with the ARM7 processor. No register are
dumped. I tried with the jtag-arm tool and it comes back with all
registers as 0xffffffff.

I'm sure it prolly has something to do with the length of the SCANCHAIN
between an ARM9TDMI vs ARM7TDMI. It was interesting to tinker with, but
I went back to my other unit (BDI2000).

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


Reply by Bertrik Sikken December 7, 20052005-12-07
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Tom Walsh wrote:
> Bertrik Sikken wrote:
>
>>>My interface works at full speed, perhaps I have a better PCB design. I
>>>wasn't very impressed by the layout on the genuine Wiggler I have, and
> mine
>>>is faster than that.
>>>
>>>
>>
>>The weird thing is, getting ocdremote to recognise the cable is the
>>hard part, once that works it seems to run fine.
>>The trick I mentioned is to first tell ocdcommander that a raven cable
>>is connected, let it fail, then tell it to look for a wiggler. If I do
>>that, the wiggler is recognised fine, even at the highest speed.
>>
>>
>
> Are you debugging from Windows or Linux with the wiggler?

I am trying to debug from Windows (with cygwin).

I also tried the gdb-arm-jtag package you mentioned earlier. I replaced
the pp.c file with an implementation that uses libieee1284 instead
of directly accessing /dev/parport0 and tried to get jtag-arm to
work under both windows and linux, but I'm getting no data back
yet.

Kind regards,
Bertrik
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDlpmTETD6mlrWxPURAtULAJ9mpL/l6JoamKBTJ/B5RIk9/A75+gCgs+Mz
1t39Nq2Uaht986PZKiwsN8k=
@4D
-----END PGP SIGNATURE-----