New to th Arm world, could use some advice.

So, I’ve been playing with the 8 bit AVR’s for a few years, and right now I’m thinking of moving into the ARM world.

I really like the AVR world however, more and more of my applications need multiple UART ports (in which case i usually end up linking 2 or more AVRs together via I2C). Finally, i would like to get into some USB device programming.

So the questions that I have are as follows:

  1. What would you recommend in a way of starter kits.

  2. What is the standard IDE (perferably C based) that the ARM hobbyist community tends to use.

  3. Can you point me to any big ARM hobbyist forums/sites (the arm version of avrfreaks)

  4. Can you point me to any good tutorials to help me get started ?

Thanks guys.

Q

I suggest either

  1. mBed, NXP 17xx demo module with an on-line compiler. State of the art.

  2. Free IAR compiler/IDE targeting ARM7 (NXP or STM) or NXP 17xx. Olimex and others. IAR is free for small non-commercial programs (32KB). Compiler produces .hex file. Download that using built-in serial port/USB loader. Being older, there is a lot more for ARM7, say, LPC21xx. If you have the $$, get a J-link JTAG. Wow what a difference it makes in breakpoint debugging.

A hard part of ARMs is getting the phase locked loop setup vs. crystal frequency. Best to get some existing code that does this. Use it until you understand how to do it. Takes a long time if you try to do it from scratch. Same too, for the interrupt vectoring.

qema:

  1. What would you recommend in a way of starter kits.
Embedded Artists have a wide range of ARM development boards to suit all levels:

http://www.embeddedartists.com

qema:
4. Can you point me to any good tutorials to help me get started ?

The Hitex Insider's Guides:

http://www.hitex.com/index.php?id=downl … ers-guides

I’m not sure what hobbyists tend to use for code development. For the ARM projects I’ve worked on professionally, gcc, gdb, and make (oddly enough, I’ve used the same tools for AVR development).

hobbiests would use codesourcerys’ gcc toolchain and code::blocks or programmers notepad as ide. Or scite, vi or emacs.

Mr. Martin Thomas’s website is the closest you get to avrfreaks. http://www.siwawi.arubi.uni-kl.de/avr_p … _projects/

Arm supports lots of googleing.

The hard part for me is startup code, thats usually in assembler.

Hardware is whatever you want to use. After playing with several types, I have settled on stm32 myself. futurlec.com has 2-3 dev boards, and a stamp type to play with.

olimex makes several boards. code red makes several. google for them.

If you use NXP ARM chips you will get plenty of support on the LPC2000 Yahoo group. They have a large collection of files that will get you started. Embedded Artists have lots of software examples for their boards, also.

Hi guys, thanks for the reply but i have a few more questions,

I like the look of the mBed, NXP 17xx demo module However, my main concern is that it seems to use costume libraries, however, is it possible to program this platform at the lowest level much like how you could use “pinMode(ledPin, OUTPUT);” or manual change the DDx and PORTx registers in order to configure the outputs.

The reason I ask, is because I would really like to dig into the data-sheet and learn the ins and outs of the processor itself, and not be tied down by specialty software.

Lastly, is there an offline compiler for the mBed ? I don’t always have access to the internet when I have time to play hobby stuff.

PS. thanks again for the input.

You can use the Keil compiler with the mBed, apparently. It was mentioned on the mBed forum.

The NXP LPCXpresso is worth looking at, as well. It’s available from Embedded Artists, and their distributors.

I started with the EK-LM3S1968 dev board from TI with Code Red IDE. (this board is programmed debugged over USB, great thing is it is ALSO a hardware programmer/debugger!

I am using an opensource toolchain Eclipse, GDB, OpenOCD, with Olimex USB Tiny programmer.

It took a week to figure it all out, but now it works great, debugging with breakpoints etc.

I have written a wiki on the entire procedure of setting up the toolchain (if anyone is interested Ill post, otherwise ill get to it eventually :slight_smile:

The great thing about the Stellaris chips is the Stellarisware driver library, lots of examples, and the library makes it quite easy to do things such as setting clock control, using peripherals etc. And the TI forum is great too, very fast responses. (almost as good as this forum :slight_smile:

I’ve used Olimex LPC21xx boards quite a bit.

Next week I receive and will play with mBed, an LPC17xx.

First, I recommend you look to the ARM Cortex-M3 rather than the older ARM architectures like ARM7TDMI, since the Cortex-M3 has much cleaner and moreover, uniform handling of several issues that were in ARM7TDMI implementation-dependent.

The mBed board has been mentioned, but of course it’s not supported except through the restricted online environment.

I would recommend you look at the [Blueboard LPC1768-H ($49.95) which is currently the best deal I have seen for such a powerful development platform. Four UARTs, 512 KiB flash and 64 KiB RAM… nice. It doesn’t have all the extra hardware (e.g., LCD display, extra buttons, multiple LEDs, etc.) and such that the fancier $100-$300 development board include, but I would rather have a clean, simple, flexible, and low-cost platform with which I can prototype and develop.

I have a bunch of the Olimex LPC-P1343 boards with LPC1343 microcontrollers, and these are a great, very low cost platform for projects that don’t require a LPC17xx chip. I have asked SparkFun to consider carrying this product so we don’t have to order all the way from Europe, but it’s still worth the wait and the shipping cost.

P.S. You will really want to have an SWD (Serial Wire Debug) programmer for the LPC1300 MCUs unless you want to use the serial bootloader only. I use and recommend the really affordable and powerful (and open source, with OpenOCD support!) [Versaloon SWD/JTAG interface.](http://www.versaloon.com/)](http://www.sparkfun.com/commerce/product_info.php?products_id=9931)

Yes,

For hobby messing about…

LPC Expresso

Blueboard

and the odd one–

mbed (a different beast, but fun), see mbed.org, used with http://www.coolcomponents.co.uk/catalog … umahtmuqg5 shipping to US $6