EmbeddedRelated.com
Forums

Simple ARM ISP

Started by Mihai Andrei Stanimir January 24, 2009
Hi all,

After successfully programming Atmel uC, I am now moving to LPCs. I'm a DYI
guy and after successfully destroying my parallel PC interface trying
different adapters, I find myself forced to look for a USB or serial (JTAG)
programmer. I'm not sure what I need as I'm just starting to understand ARM,
and never used JTAG before.

What I'm looking for is a very simple schematic of an adapter I can plug
into my PC and program a tiny LPC2103. No fancy stuff, I just want to make
hex code run on the tiny bastard. Any guidance is more than welcome.

Thanks

An Engineer's Guide to the LPC2100 Series

Am Samstag, 24. Januar 2009 schrieb Mihai Andrei Stanimir:
> What I'm looking for is a very simple schematic of an adapter I can plug
> into my PC and program a tiny LPC2103. No fancy stuff, I just want to make
> hex code run on the tiny bastard. Any guidance is more than welcome.

The simplest thing is to use a simple serial adapter using something like a
max232. The LPC's have a built-in bootloader than can be accessed by
manipulating P0.14 while resetting the chip.

OPnce in the bootloader it can be used to upload code to ram, program the
flash, etc.

See http://www.flashmagictool.com/

Greetings,

Chris

----- Original Message -----
From: "Mihai Andrei Stanimir"
To:
Sent: Saturday, January 24, 2009 11:35 AM
Subject: [lpc2000] Simple ARM ISP
> Hi all,
>
> After successfully programming Atmel uC, I am now moving to LPCs. I'm a
> DYI
> guy and after successfully destroying my parallel PC interface trying
> different adapters, I find myself forced to look for a USB or serial
> (JTAG)
> programmer. I'm not sure what I need as I'm just starting to understand
> ARM,
> and never used JTAG before.
>
> What I'm looking for is a very simple schematic of an adapter I can plug
> into my PC and program a tiny LPC2103. No fancy stuff, I just want to make
> hex code run on the tiny bastard. Any guidance is more than welcome.

One of the FTDI chips is used in most of the low-cost JTAG units, and the
USB interfaces included on some boards. You might be able to find a
schematic for one of the boards and use that. Amontec makes a very cheap
JTAG, although the shipping is expensive. I got one for use with another
chip, and it works OK on the ARM, with the CrossWorks software.

Leon

Leon
> The simplest thing is to use a simple serial adapter using something like
a
> max232. The LPC's have a built-in bootloader than can be accessed by
> manipulating P0.14 while resetting the chip.
>
> OPnce in the bootloader it can be used to upload code to ram, program the
> flash, etc.
>
> See http://www.flashmagictool.com/

Thanks,

So with MAX232 I have TX and RX (and can use DTR and RTS to control RST and
P0.14 with FlashMagic). What I don't know is where to connect TX and RX.
What I could find on LPC2103 is: TXD0, RXD0, TXD1, RXD1 and also MOSI0,
MOSI1, MISO0, MISO1, RTS1, and SCK1. Am I close?

It seems that usually uc have 2 pins called RX and TX but I don't have them.
I hope I don't sound dumb; I just have very little hardware experience (I
come from web development world).

Mihai

see LPC2103 + Serial port schematic from
http://www.micro4you.com/files/lpc2103/ET-BASE2103.pdf

On Sat, Jan 24, 2009 at 11:34 PM, Mihai Andrei Stanimir <
m...@gmail.com> wrote:

> > The simplest thing is to use a simple serial adapter using something
> like
> a
> > max232. The LPC's have a built-in bootloader than can be accessed by
> > manipulating P0.14 while resetting the chip.
> >
> > OPnce in the bootloader it can be used to upload code to ram, program the
> > flash, etc.
> >
> > See http://www.flashmagictool.com/
>
> Thanks,
>
> So with MAX232 I have TX and RX (and can use DTR and RTS to control RST and
> P0.14 with FlashMagic). What I don't know is where to connect TX and RX.
> What I could find on LPC2103 is: TXD0, RXD0, TXD1, RXD1 and also MOSI0,
> MOSI1, MISO0, MISO1, RTS1, and SCK1. Am I close?
>
> It seems that usually uc have 2 pins called RX and TX but I don't have
> them.
> I hope I don't sound dumb; I just have very little hardware experience (I
> come from web development world).
>
> Mihai
>
>
>
>
>

--
http://www.micro4you.com -> Eelectronics and Microcontroller Shop
http://stores.ebay.com/Micro4you-Store -> Ebay Store
http://www.friendlyarm.com -> Eelectronics and Microcontroller Blog

Hello Mihai,

Am Samstag, 24. Januar 2009 schrieb Mihai Andrei Stanimir:
> It seems that usually uc have 2 pins called RX and TX but I don't have
> them. I hope I don't sound dumb; I just have very little hardware
> experience (I come from web development world).
>

you use the first set of uart pins from the LPC, that is, RX0 and TX0. TX from
the pc goes to the max, from there to the RX0 of the LPC, RX from the pc to
the max and then to TX0 from the LPC. Status lines as needed.

BTW, it might be better to use a 3.3 volt rs232 chip, altough the LPC pins are
said to be 5V tolerant.

Select the right chip, a regular max232 has only 2 receivers and two
transmitters, so you can use only one of the status lines to either reset the
LPC or to toggle P0.14. There are others available that provide more
receivers. Alternatively you can use a regular chip and a n-channel FET
transistor for the remaining status line.

Alternatively you can handle the reset and P0.14 with simple pushbuttons.

Do some google searching on the web for lpc isp adapter or similar, it should
give you some results.

Greetings,

Chris

Thanks a lot, that makes it a lot simpler. A quick one: For the status lines
can I just use another max232?

On Sat, Jan 24, 2009 at 7:07 PM, Christian Klippel wrote:

> Hello Mihai,
>
> Am Samstag, 24. Januar 2009 schrieb Mihai Andrei Stanimir:
> > It seems that usually uc have 2 pins called RX and TX but I don't have
> > them. I hope I don't sound dumb; I just have very little hardware
> > experience (I come from web development world).
> > you use the first set of uart pins from the LPC, that is, RX0 and TX0. TX
> from
> the pc goes to the max, from there to the RX0 of the LPC, RX from the pc to
> the max and then to TX0 from the LPC. Status lines as needed.
>
> BTW, it might be better to use a 3.3 volt rs232 chip, altough the LPC pins
> are
> said to be 5V tolerant.
>
> Select the right chip, a regular max232 has only 2 receivers and two
> transmitters, so you can use only one of the status lines to either reset
> the
> LPC or to toggle P0.14. There are others available that provide more
> receivers. Alternatively you can use a regular chip and a n-channel FET
> transistor for the remaining status line.
>
> Alternatively you can handle the reset and P0.14 with simple pushbuttons.
>
> Do some google searching on the web for lpc isp adapter or similar, it
> should
> give you some results.
>
> Greetings,
>
> Chris
>
>
Am Samstag, 24. Januar 2009 schrieb Mihai Andrei Stanimir:
> Thanks a lot, that makes it a lot simpler. A quick one: For the status
> lines can I just use another max232?
>

Yes, of course.

You should look for PoUSB12 on www.poscope.com
You can connect it directly to any LPC device.

Z lepimi pozdravi / With best regards
Boris Zalokar


Many thanks to everybody who answered. You've all been a real help. I
decided to go with Christian's solution for now which worked perfectly form
the first try. I'll probably try the other options in the future as needed.
Mihai