Forums

Starting out with LPCs/ARMs--what development system?

Started by smgloser August 31, 2008
Most of my microcontroller experience has been with PICs and some
other 8-bit microcontrollers. I want to start moving out to 32-bit,
and the LPC2xxx series seems to be the best way to begin, as there
appears to be a decent amount of support (at least in the hobbyist
community). However, I've been a bit confused with how to start out.

Model: Which LPC2xxx has enough peripherals to be a nice general
purpose chip to start out with? I've had some bad experiences when I
started out with the PICs after I found out that the model I stocked
was missing a single very, very useful peripheral.

Development System: Though I'm a hobbyist, I don't have that much
time for my hobby, and I'd really like (at least in the beginning) to
use something that won't use up all my time setting up. Looking back
at how I've gone about starting out with other microcontrollers and
how much time I've wasted, I'm really leaning towards avoiding free
open source stuff altogether, unless it doesn't take forever for me
to learn and setup, has very good documentation, and has some easy
way of streamlining everything.

Starter board: I've seen boards by Olimex, Embedded Artists, IAR, and
whatnot. I'm not really sure how it works, but do the ones by the IDE
companies (Keil, IAR, whatnot) usually come with their IDE, or do
they expect you to buy the IDE separately?

Cost: Obviously I'm just a hobbyist, and my budget isn't very big,
but I'm willing to spend more if it'll let me learn faster, reduce
frustration, and save time. I can probably pay anywhere from $100-
$500, and perhaps even more, for the IDE/starter kit/programmer
depending on whether or not I think the time savings are worth it.

Programming: I'm completely stumped on this topic. From what I've
read on sparkfun.com, you can't actually (directly) write to the
flash memory via the JTAG interface, and only very few IDEs provide a
workaround to program LPCs via the JTAG interface and require you to
program via USB. I obviously want the debugging interface, so which
IDEs are streamlined in this respect? Or is this matter already long
resolved? Also, I don't have parallel ports on any of my development
computers, so I'd really like a USB JTAG programmer. Are there any
low-cost USB JTAG programmers around? It just doesn't seem worth it
to me to buy a programmer that costs as much as the starter board if
I'm just a beginner starting out with this stuff.

I know that was a long post and probably a lot of questions, but
THANK YOU for your help.

An Engineer's Guide to the LPC2100 Series

On Sun, 31 Aug 2008 04:07:57 -0000, you wrote:

>Most of my microcontroller experience has been with PICs and some
>other 8-bit microcontrollers. I want to start moving out to 32-bit,
>and the LPC2xxx series seems to be the best way to begin, as there
>appears to be a decent amount of support (at least in the hobbyist
>community). However, I've been a bit confused with how to start out.
>
>Model: Which LPC2xxx has enough peripherals to be a nice general
>purpose chip to start out with? I've had some bad experiences when I
>started out with the PICs after I found out that the model I stocked
>was missing a single very, very useful peripheral.
>
>Development System: Though I'm a hobbyist, I don't have that much
>time for my hobby, and I'd really like (at least in the beginning) to
>use something that won't use up all my time setting up. Looking back
>at how I've gone about starting out with other microcontrollers and
>how much time I've wasted, I'm really leaning towards avoiding free
>open source stuff altogether, unless it doesn't take forever for me
>to learn and setup, has very good documentation, and has some easy
>way of streamlining everything.
>
>Starter board: I've seen boards by Olimex, Embedded Artists, IAR, and
>whatnot. I'm not really sure how it works, but do the ones by the IDE
>companies (Keil, IAR, whatnot) usually come with their IDE, or do
>they expect you to buy the IDE separately?
>
>Cost: Obviously I'm just a hobbyist, and my budget isn't very big,
>but I'm willing to spend more if it'll let me learn faster, reduce
>frustration, and save time. I can probably pay anywhere from $100-
>$500, and perhaps even more, for the IDE/starter kit/programmer
>depending on whether or not I think the time savings are worth it.
>Programming: I'm completely stumped on this topic. From what I've
>read on sparkfun.com, you can't actually (directly) write to the
>flash memory via the JTAG interface, and only very few IDEs provide a
>workaround to program LPCs via the JTAG interface and require you to
>program via USB. I obviously want the debugging interface, so which
>IDEs are streamlined in this respect? Or is this matter already long
>resolved? Also, I don't have parallel ports on any of my development
>computers, so I'd really like a USB JTAG programmer. Are there any
>low-cost USB JTAG programmers around? It just doesn't seem worth it
>to me to buy a programmer that costs as much as the starter board if
>I'm just a beginner starting out with this stuff.

Most of the series has a good set of general-purpose peripherals - cetainly more than most PICs.

You definitely want a setup that includes a JTAG interface for debugging - the chips come with an
in-circuit emulator on-chip so it's nuts to not make use of it. You also want a chip that leaves
enough useful pins after the JTAG has taken it's share.
LPC213x is pretty reasonable in this respect.

The IAR kickstart plus kits are a pretty good way to start - they include a J-Link JTAG interface, a
board and software. IAR do a free 32K code-limited version of their dev system, so for smaller
projects you get a commercial-quality C/C++ compiler and good IDE.

Initial setup is a little fiddly but if you use their sample projects as a template, you don't need
to actually understand much of it until you start wanting to do more complex stuff, for which you
need to understand about linkers & stuff anyway.

You can effectively use the J-link as just a programmer - although Segger do some expensive
standalone software for this, within the IAR IDE all you need to do is go into & back out of debug
mode & the chip is programmed.

If I were you, I'd go for one of the Olimex boards havineg the periphals
you are most interested in that is also supported by a board package
from Rowley (Crossworks).

Crossworks is really easy to set up, and you get IMHO the by far best
bang for the buck. Back when I started with the ARMs, I also evaluated
IAR and Keil.
None of the two were so painless to set up (Keil was even a real pain
to install and somehow was quite hard to uninstall). Then, since you
seem to use this for hobby purposes only, their personal license seems
to be the right thing for you which from what I remenber is like around
$90 or so. Just visit http://www.rowley.co.uk/

Note, I'm not related to Rowley other than being a happy customer.

Just my 2 of course.

Markus

smgloser schrieb:
>
> Most of my microcontroller experience has been with PICs and some
> other 8-bit microcontrollers. I want to start moving out to 32-bit,
> and the LPC2xxx series seems to be the best way to begin, as there
> appears to be a decent amount of support (at least in the hobbyist
> community). However, I've been a bit confused with how to start out.
>
> Model: Which LPC2xxx has enough peripherals to be a nice general
> purpose chip to start out with? I've had some bad experiences when I
> started out with the PICs after I found out that the model I stocked
> was missing a single very, very useful peripheral.
>
> Development System: Though I'm a hobbyist, I don't have that much
> time for my hobby, and I'd really like (at least in the beginning) to
> use something that won't use up all my time setting up. Looking back
> at how I've gone about starting out with other microcontrollers and
> how much time I've wasted, I'm really leaning towards avoiding free
> open source stuff altogether, unless it doesn't take forever for me
> to learn and setup, has very good documentation, and has some easy
> way of streamlining everything.
>
> Starter board: I've seen boards by Olimex, Embedded Artists, IAR, and
> whatnot. I'm not really sure how it works, but do the ones by the IDE
> companies (Keil, IAR, whatnot) usually come with their IDE, or do
> they expect you to buy the IDE separately?
>
> Cost: Obviously I'm just a hobbyist, and my budget isn't very big,
> but I'm willing to spend more if it'll let me learn faster, reduce
> frustration, and save time. I can probably pay anywhere from $100-
> $500, and perhaps even more, for the IDE/starter kit/programmer
> depending on whether or not I think the time savings are worth it.
>
> Programming: I'm completely stumped on this topic. From what I've
> read on sparkfun.com, you can't actually (directly) write to the
> flash memory via the JTAG interface, and only very few IDEs provide a
> workaround to program LPCs via the JTAG interface and require you to
> program via USB. I obviously want the debugging interface, so which
> IDEs are streamlined in this respect? Or is this matter already long
> resolved? Also, I don't have parallel ports on any of my development
> computers, so I'd really like a USB JTAG programmer. Are there any
> low-cost USB JTAG programmers around? It just doesn't seem worth it
> to me to buy a programmer that costs as much as the starter board if
> I'm just a beginner starting out with this stuff.
>
> I know that was a long post and probably a lot of questions, but
> THANK YOU for your help.
>
>
--- In l..., "smgloser" wrote:
>
> Model: Which LPC2xxx has enough peripherals to be a nice general
> purpose chip to start out with? I've had some bad experiences when
I
> started out with the PICs after I found out that the model I
stocked
> was missing a single very, very useful peripheral.
>

I started with a MikroElektronica EasyArm board as it had all the
peripherals I was immediately interested in plus a few extra. It
comes with the LPC2148 with an optional LPC2214. It handles USB,
RS232, 2x16 Alphanumeric LCDs, Graphic LCDs, SD cards, temperature
sensor etc. etc.

I've also just taken delivery of an ARMee hobbyist board with an
LPC2106 (the daughterboard with CPU is pre-assembled but you'll need
to be able to use a soldering iron to put the prototype board
together) from Elektor magazine and have also ordered a couple of
Embedded Artists systems one with an LPC2106 and another with an
LPC2148 as they all represent the lowest cost minimal systems I
could find. Embedded Artists also have an Educational board which is
crammed with peripherals to experiment with.

> Development System: Though I'm a hobbyist, I don't have that much
> time for my hobby, and I'd really like (at least in the beginning)
to
> use something that won't use up all my time setting up. >

I can't give you an unbiased opinion here as the reason I've got
these boards is for final testing of 'Armaide' - an Oberon-07
development system that will be pre-released in the next month or
so. (Oberon-07 is the latest language in the evolution: Pascal >
Modula-2 > Oberon). See: http://www.armaide.com for details.

> Starter board: I've seen boards by Olimex, Embedded Artists, IAR,
and
> whatnot. I'm not really sure how it works, but do the ones by the
IDE
> companies (Keil, IAR, whatnot) usually come with their IDE, or do
> they expect you to buy the IDE separately?
>

MikroElectronika supply Keil-based examples, Elektor is not
specific, and Embedded Artists is GCC based.

> Cost: Obviously I'm just a hobbyist, and my budget isn't very big,
> but I'm willing to spend more if it'll let me learn faster, reduce
> frustration, and save time. I can probably pay anywhere from $100-
> $500, and perhaps even more, for the IDE/starter kit/programmer
> depending on whether or not I think the time savings are worth it.
>

All of the systems I have mentioned are low-cost hardware and, if
you want to program in C, include evaluation systems which would be
adequate for simple experimental projects.

> Programming: I'm completely stumped on this topic. From what I've
> read on sparkfun.com, you can't actually (directly) write to the
> flash memory via the JTAG interface, and only very few IDEs
provide a
> workaround to program LPCs via the JTAG interface and require you
to
> program via USB. I obviously want the debugging interface, so
which
> IDEs are streamlined in this respect?

The MikroElektronika LPC2148 board can be programmed (and powered)
via the USB port using a Windows utility they provide. The LPC2106-
based boards I mentioned which don't have a USB port can be
programmed via the RS232 port using FlashMagic from Embedded Systems
Academy.

Regards,
Chris Burrows
http://www.armaide.com
--- In l..., "smgloser" wrote:
>
> Most of my microcontroller experience has been with PICs and some
> other 8-bit microcontrollers. I want to start moving out to 32-bit,
> and the LPC2xxx series seems to be the best way to begin, as there
> appears to be a decent amount of support (at least in the hobbyist
> community). However, I've been a bit confused with how to start out.
>
> Model: Which LPC2xxx has enough peripherals to be a nice general
> purpose chip to start out with? I've had some bad experiences when I
> started out with the PICs after I found out that the model I stocked
> was missing a single very, very useful peripheral.
>
> Development System: Though I'm a hobbyist, I don't have that much
> time for my hobby, and I'd really like (at least in the beginning) to
> use something that won't use up all my time setting up. Looking back
> at how I've gone about starting out with other microcontrollers and
> how much time I've wasted, I'm really leaning towards avoiding free
> open source stuff altogether, unless it doesn't take forever for me
> to learn and setup, has very good documentation, and has some easy
> way of streamlining everything.
>
> Starter board: I've seen boards by Olimex, Embedded Artists, IAR, and
> whatnot. I'm not really sure how it works, but do the ones by the IDE
> companies (Keil, IAR, whatnot) usually come with their IDE, or do
> they expect you to buy the IDE separately?
>
> Cost: Obviously I'm just a hobbyist, and my budget isn't very big,
> but I'm willing to spend more if it'll let me learn faster, reduce
> frustration, and save time. I can probably pay anywhere from $100-
> $500, and perhaps even more, for the IDE/starter kit/programmer
> depending on whether or not I think the time savings are worth it.
>
> Programming: I'm completely stumped on this topic. From what I've
> read on sparkfun.com, you can't actually (directly) write to the
> flash memory via the JTAG interface, and only very few IDEs provide a
> workaround to program LPCs via the JTAG interface and require you to
> program via USB. I obviously want the debugging interface, so which
> IDEs are streamlined in this respect? Or is this matter already long
> resolved? Also, I don't have parallel ports on any of my development
> computers, so I'd really like a USB JTAG programmer. Are there any
> low-cost USB JTAG programmers around? It just doesn't seem worth it
> to me to buy a programmer that costs as much as the starter board if
> I'm just a beginner starting out with this stuff.
>
> I know that was a long post and probably a lot of questions, but
> THANK YOU for your help.
>

Hi,

you can find some comparison about different LPC2000 on the site:
http://www.lpc2000.com/
there is also a sub site about tools:
http://www.lpc2000.com/tools/indextools

The LPC213x has been recommended, I tend to agree to that, it is
fairly simple (no USB, no CAN and no Ethernet) and the code can be
used pretty much as is, once you want to upgrade to the LPC23xx or
LPC24xx (with USB, CAN and Ethernet).
As for tools, IMHO Keil offers the tools that get you going the
fastest. You can download their simulator and start with that one. IAR
would be next on my list. With budget constrains, Rowley might
suddenly jump to the top. Very good support, a decent debugging
interface and an overall nice package to work with.

hth, Bob
Hi,

Take a look for a really very low priced www.hbbrbasic.com
compiler.

Basic for ARM is a good choice for a rapid prototyping, and concept
aprooving for beginners.

Knd Regards

John

_____

From: l... [mailto:l...] On Behalf Of
lpc2100_fan
Sent: Tuesday, September 02, 2008 12:34 AM
To: l...
Subject: [lpc2000] Re: Starting out with LPCs/ARMs--what development system?

--- In lpc2000@yahoogroups .com,
"smgloser" wrote:
>
> Most of my microcontroller experience has been with PICs and some
> other 8-bit microcontrollers. I want to start moving out to 32-bit,
> and the LPC2xxx series seems to be the best way to begin, as there
> appears to be a decent amount of support (at least in the hobbyist
> community). However, I've been a bit confused with how to start out.
>
> Model: Which LPC2xxx has enough peripherals to be a nice general
> purpose chip to start out with? I've had some bad experiences when I
> started out with the PICs after I found out that the model I stocked
> was missing a single very, very useful peripheral.
>
> Development System: Though I'm a hobbyist, I don't have that much
> time for my hobby, and I'd really like (at least in the beginning) to
> use something that won't use up all my time setting up. Looking back
> at how I've gone about starting out with other microcontrollers and
> how much time I've wasted, I'm really leaning towards avoiding free
> open source stuff altogether, unless it doesn't take forever for me
> to learn and setup, has very good documentation, and has some easy
> way of streamlining everything.
>
> Starter board: I've seen boards by Olimex, Embedded Artists, IAR, and
> whatnot. I'm not really sure how it works, but do the ones by the IDE
> companies (Keil, IAR, whatnot) usually come with their IDE, or do
> they expect you to buy the IDE separately?
>
> Cost: Obviously I'm just a hobbyist, and my budget isn't very big,
> but I'm willing to spend more if it'll let me learn faster, reduce
> frustration, and save time. I can probably pay anywhere from $100-
> $500, and perhaps even more, for the IDE/starter kit/programmer
> depending on whether or not I think the time savings are worth it.
>
> Programming: I'm completely stumped on this topic. From what I've
> read on sparkfun.com, you can't actually (directly) write to the
> flash memory via the JTAG interface, and only very few IDEs provide a
> workaround to program LPCs via the JTAG interface and require you to
> program via USB. I obviously want the debugging interface, so which
> IDEs are streamlined in this respect? Or is this matter already long
> resolved? Also, I don't have parallel ports on any of my development
> computers, so I'd really like a USB JTAG programmer. Are there any
> low-cost USB JTAG programmers around? It just doesn't seem worth it
> to me to buy a programmer that costs as much as the starter board if
> I'm just a beginner starting out with this stuff.
>
> I know that was a long post and probably a lot of questions, but
> THANK YOU for your help.
>

Hi,

you can find some comparison about different LPC2000 on the site:
http://www.lpc2000. com/
there is also a sub site about tools:
http://www.lpc2000.
com/tools/indextools

The LPC213x has been recommended, I tend to agree to that, it is
fairly simple (no USB, no CAN and no Ethernet) and the code can be
used pretty much as is, once you want to upgrade to the LPC23xx or
LPC24xx (with USB, CAN and Ethernet).
As for tools, IMHO Keil offers the tools that get you going the
fastest. You can download their simulator and start with that one. IAR
would be next on my list. With budget constrains, Rowley might
suddenly jump to the top. Very good support, a decent debugging
interface and an overall nice package to work with.

hth, Bob