DPRG
DPRG List  



[DPRG] ARM7 preferences

Subject: [DPRG] ARM7 preferences
From: Rick Bickle rbickle at swbell.net
Date: Tue Apr 18 10:14:45 CDT 2006

Karim,

Thanks very much for the great information.

It looks like I will be using the Philips LPC2214 device. I need the
external data bus to address a couple of meg of flash and nvram.
I just purchased an Olimex development board for the 2214. I'll probably
get the JTAG device that Keil supports.

Rick



-----Original Message-----
From: Karim Virani [mailto:karim at compuguru.com] 
Sent: Monday, April 17, 2006 5:33 PM
To: DPRG Mailing List; Rick Bickle
Subject: Re: [DPRG] ARM7 preferences


Hi Rick,

You should browse through the LPC2000 yahoo group entries.  Lots of
information there. (http://groups.yahoo.com/group/lpc2000/)


Per my experience:

I went with a Wiggler compatible - just because of the cost - 20 bucks
for the Olimex product - bought through Sparkfun.
(http://www.olimex.com/dev/arm-jtag.html)
(http://www.sparkfun.com/commerce/categories.php) A USB JTAG would be a
whole lot nicer, but most are a whole lot pricier.  Problems with the
Wiggler, though - the OCDRemote software from Macgraigor is horrible -
there's no telling whether it will work on a particular machine.  So
that means going with a third party driver or with a compiler with a
built-in driver.

Luckily, there are some options.  H-JTAG is an RDI driver for the
Wiggler. (http://hjtag.blogspot.com/)  It works solidly with the IAR
compiler, which is a really nice quality compiler and has the highest
trial version code limit - 32K.
(http://supp.iar.com/Download/SW/?item=EWARM-EVAL)

Rowley Crossworks is rock solid with the Wiggler using it's own internal
driver - but it has a limited 30 day trial period.
(http://www.rowley.co.uk/arm/index.htm) It's one of the most affordable
of the professional compilers, but still outside of my hobby budget.
There is rumor that they will be offering a demo board with a compiler
version limited to compiling for that board but unlimited otherwise,
targeted at the hobby/entry market.

Keil is probably the biggest player in ARM compilers.  The club received
some demo boards based on the LPC2129 from Keil and I have one checked
out - it's a nice board. (http://www.keil.com/arm/mcb2100/) I like the
2129 processor for its CAN peripherals which might come in handy on
larger outdoor bots.  Also included is the trial version of their
compiler - limited to 16K code.  There were no JTAG adapters included in
the demo kits (Keil supports the Ulink adapter
http://www.keil.com/ulink/).  Unfortunately, the RDI debugger selection
in Keil does not play nicely with H-Jtag, so I have stayed away from the
Keil compiler.  The Keil IDE, however, is very nice and the simulator is
probably the best in the industry. My guess is that this is why ARM
bought out Keil.

Right now I'm working with IAR.

There's also the open source route.  All of the professional compliers
above run on windows.  You can also go the gnu route on windows or on
linux.  

Jim Lynch has a really nice tutorial on using Eclipse/GDB on windows
under cygwin.  The latest version also discusses using OpenOCD which is
another Wiggler driver that is supposed to work much better than
Macgraigor's.  I haven't tested it yet.  The tutorial is usually
available from the Olimex site, but that link isn't working - I'll look
for another.  It's really a long series of installation steps and
downloads.  To make it easier, Jim posted most of the packages - except
cygwin - into a single download from Megaupload.  You have to wait for
advertising and might get hit with lascivious popups, but it's a mostly
harmless way to download the tutorial and most of the packages.  But I
still haven't attempted the installs.
(http://www.megaupload.com/?d=CNY1Y6DX)  If you want to bypass
megaupload, it's also supposed to be available at
http://gnuarm.alexthegeek.com/

The GNUARM toolchain can be built natively in linux or under cygwin on
windows or on MacOS. (http://www.gnuarm.com/)    There's also the WinARM
toolchain which is the gnu chain built to run natively on windows
without cygwin.
(http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm)

There is plenty of sample code posted for all of the above compilers,
but the gnu chains probably have the most.  I think Rowley uses the
gnuarm headers for the LPC2000 and Keil can use the gnu compiler.

I'm also interested in persuing FreeRTOS which I think would be a better
foundation than a simple loop for an extensible robotic architecture.
There are multiple ports to various arm controller / compliler
combinations.  http://www.freertos.org/

Regarding processors, I'm obviously partial to the LPC2000 family from
philips.  I was more interested early on in the Atmel variants - I think
they have more flexible peripheral multiplexing, but the philips line is
easier to configure and seems to have a bigger following.  And the
LPC2000 group is very active.  (http://groups.yahoo.com/group/lpc2000/)

Also, if you're going this route, there's a must-read free downloadable
version of the Insiders Guide to the Philips ARM7 Microcontrollers
available at
http://www.hitex.co.uk/arm/lpc2000book/book_downloadform.html 

That's all I have - hope it helps.

Karim




More information about the DPRG mailing list