EmbeddedRelated.com
Forums

JTAG Programmer Confusion - Noob Question

Started by sixtyfivebit December 3, 2005
Hi all,

I want to get into the LPC2106 or similar mcu, and i'm moving from the
AVR world. I've read many things about how you need some bootloader or
something working on the mcu to receive data from the jtag, etc.

is there some detailed explanation regarding this issue and how to
solve it? Also, I'm looking for a programmer to build for the LPC2106.
I see several schematics listed in the files, which one would you guys
recommend? The standard wiggler? I found these ones online as well:

http://home.comcast.net/~staskh/projects/tools/
http://www.adilam.com.au/ARM/arm.html

Sorry if these questions are stupid and I missed something very obvious.

sixtyfivebit



An Engineer's Guide to the LPC2100 Series

sixtyfivebit wrote:

>Hi all,
>
>I want to get into the LPC2106 or similar mcu, and i'm moving from the
>AVR world. I've read many things about how you need some bootloader or
>something working on the mcu to receive data from the jtag, etc. >
The LPC2000 series have their own builtin bootloaders. Part of the
Flash memory is protected and that is where it resides (8K). A
bootloader utility can be found on
http://www.standardics.philips.com/support/techdocs/microcontrollers/
it is called "LPC2000 Flash ISP Utility". >is there some detailed explanation regarding this issue and how to
>solve it? Also, I'm looking for a programmer to build for the LPC2106.
>I see several schematics listed in the files, which one would you guys
>recommend? The standard wiggler? I found these ones online as well: >

JTAG is not a "programmer", it is a test interface (Joint Test Action
Group == JTAG). Most of the people here use simple wigglers, they can
give you information as to that, or search the messages for "JTAG" and
"wiggler". That should get you a lot of hits.

For myself, I've found wigglers to be slow, unstable, and, at times,
unpredicatable to get working right. For my current project (dual CPU
board: LPC2106 + LPC2138), I chose to spend the money ($2700) and
purchase an Abatron BDI2000. I've not been unhappy with it! It can
also program the Flash of the controllers as well as give me a stable
JTAG interface to gdb + Insight. That being said, you can whip up a
wiggler in about an hour and a few dollars expendature, then use a
software TCP server which you can download and compile yourself.

The BDI2000 is fast when programming the Flash memory. For example, a
34K file would take about 10 seconds to prgram using the serial utility
only takes about 3 seconds with the BDI2000, and it does it via the JTAG
with two commands. While 10 seconds is not a lot of time, I expect my
program to get a lot larger than 34K!

TomW

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



Leon Heller, G1HSM
leon.heller@leon...
http://webspace.webring.com/people/jl/leon_heller/
----- Original Message -----
From: "sixtyfivebit" <sixtyfivebit@sixt...>
To: <lpc2000@lpc2...>
Sent: Saturday, December 03, 2005 9:29 AM
Subject: [lpc2000] JTAG Programmer Confusion - Noob Question > Hi all,
>
> I want to get into the LPC2106 or similar mcu, and i'm moving from the
> AVR world. I've read many things about how you need some bootloader or
> something working on the mcu to receive data from the jtag, etc.
>
> is there some detailed explanation regarding this issue and how to
> solve it? Also, I'm looking for a programmer to build for the LPC2106.
> I see several schematics listed in the files, which one would you guys
> recommend? The standard wiggler? I found these ones online as well:
>
> http://home.comcast.net/~staskh/projects/tools/
> http://www.adilam.com.au/ARM/arm.html
>
> Sorry if these questions are stupid and I missed something very obvious.

My interface is in jtag.zip, it works fine with the Crossworks tools.

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. ]


From: "Tom Walsh" <tom@tom@...>
> For myself, I've found wigglers to be slow, unstable, and, at times,
> unpredicatable to get working right. For my current project (dual CPU
> board: LPC2106 + LPC2138), I chose to spend the money ($2700) and
> purchase an Abatron BDI2000. I've not been unhappy with it! It can
> also program the Flash of the controllers as well as give me a stable
> JTAG interface to gdb + Insight. That being said, you can whip up a
> wiggler in about an hour and a few dollars expendature, then use a
> software TCP server which you can download and compile yourself.

Hi Tom,

Do you have an URL for that software TCP server?

Regards,
Arie de Muijnck


Arie de Muynck wrote:

>From: "Tom Walsh" <tom@tom@... >>For myself, I've found wigglers to be slow, unstable, and, at times,
>>unpredicatable to get working right. For my current project (dual CPU
>>board: LPC2106 + LPC2138), I chose to spend the money ($2700) and
>>purchase an Abatron BDI2000. I've not been unhappy with it! It can
>>also program the Flash of the controllers as well as give me a stable
>>JTAG interface to gdb + Insight. That being said, you can whip up a
>>wiggler in about an hour and a few dollars expendature, then use a
>>software TCP server which you can download and compile yourself.
>>
>>
>
>Hi Tom,
>
>Do you have an URL for that software TCP server? >
I haven't used it or checked it out, but it looks pretty good.

http://gdb-jtag-arm.sourceforge.net/

TomW >Regards,
>Arie de Muijnck >
>Yahoo! Groups Links


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


Hello,

gdb-jtag-arm doesn't support ARM7 targets, only ARM9TDMI. The ARM9 code has
bugs, and I wouldn't count on its operation.

Macraigor (the company that sells the original "Wiggler") allows you to
download their on-chip debug software for free. I used it with an Amontec
Chameleon in its Wiggler configuration, but only on windows, the wiggler
isn't supported by their linux version.

Regards,

Dominic

On Saturday 03 December 2005 17:18, Tom Walsh wrote:
>
> I haven't used it or checked it out, but it looks pretty good.
>
> http://gdb-jtag-arm.sourceforge.net/
>
> TomW



Leon Heller wrote:

>Leon Heller, G1HSM
>leon.heller@leon...
>http://webspace.webring.com/people/jl/leon_heller/
>----- Original Message -----
>From: "sixtyfivebit" <sixtyfivebit@sixt...>
>To: <lpc2000@lpc2...>
>Sent: Saturday, December 03, 2005 9:29 AM
>Subject: [lpc2000] JTAG Programmer Confusion - Noob Question >
>
>>Hi all,
>>
>>I want to get into the LPC2106 or similar mcu, and i'm moving from the
>>AVR world. I've read many things about how you need some bootloader or
>>something working on the mcu to receive data from the jtag, etc.
>>
>>is there some detailed explanation regarding this issue and how to
>>solve it? Also, I'm looking for a programmer to build for the LPC2106.
>>I see several schematics listed in the files, which one would you guys
>>recommend? The standard wiggler? I found these ones online as well:
>>
>>http://home.comcast.net/~staskh/projects/tools/
>>http://www.adilam.com.au/ARM/arm.html
>>
>>Sorry if these questions are stupid and I missed something very obvious.
>>
>>
>
>My interface is in jtag.zip, it works fine with the Crossworks tools. >
That is a wiggler, we were talking about a JTAG gdb-server.

TomW >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. ] >Yahoo! Groups Links


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


At 06:14 PM 12/3/2005, Bertrik Sikken wrote:

>I tried both ocdcommander and ocdremote and as far as I understand now,
>the big problem with these is that they cannot set breakpoints in flash.

What? Under OCD Commander, the HBR command doesn't work for you? That's
very odd.

I've used hardware breakpoints before, and if you really want to get
tricky, you can access the ICE-breaker registers from OCD commander as well.

--
newell


----- Original Message -----
From: "Bertrik Sikken" <bertrik@bert...>
To: <lpc2000@lpc2...>
Sent: Sunday, December 04, 2005 12:14 AM
Subject: Re: [lpc2000] JTAG Programmer Confusion - Noob Question > -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Dominic Rath wrote:
>> Hello,
>>
>> gdb-jtag-arm doesn't support ARM7 targets, only ARM9TDMI. The ARM9 code
>> has
>> bugs, and I wouldn't count on its operation.
>
> How hard would it be to make it work? Something like this:
> * fix existing bugs (what bugs do you know of?)
> * replace pp.c (linux parallel port io) with a windows equivalent
> * add support for LPC specific registers
> ?
>
>> Macraigor (the company that sells the original "Wiggler") allows you to
>> download their on-chip debug software for free. I used it with an Amontec
>> Chameleon in its Wiggler configuration, but only on windows, the wiggler
>> isn't supported by their linux version.
>
> I got my wiggler clone today (an olimex arm-jtag cable, the "new model"
> with pin 8 and 15 connected on the PC side) and here what I found out
> so far:
>
> I tried both ocdcommander and ocdremote and as far as I understand now,
> the big problem with these is that they cannot set breakpoints in flash.
> Besides, these programs and some wiggler clones don't seem to be
> completely compatible with each other (my cable only works at the lowest
> speed setting, 4 kHz, unless I perform some tricks.)

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.

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. ]


--- In lpc2000@lpc2..., Scott Newell <digital.pickle@g...>
wrote:
>
> At 06:14 PM 12/3/2005, Bertrik Sikken wrote:
>
> >I tried both ocdcommander and ocdremote and as far as I
understand now,
> >the big problem with these is that they cannot set breakpoints in
flash.
>
> What? Under OCD Commander, the HBR command doesn't work for you?
That's
> very odd.
>
> I've used hardware breakpoints before, and if you really want to
get
> tricky, you can access the ICE-breaker registers from OCD
commander as well.
>
> --
> newell
>

Newer versions of ocdremote support the hbreak command, they have
also added another monitor command:
monitor softbkpts off

this means that all breakpoint requests by insight/gdb will be set
as hardware breakpoints, which means when enabled stepping etc works
correctly in Flash.

to resume the default behaviour type monitor softbkpts on

Hope this helps.
sjo