Is ARM what I want?

TonyG:

stevech:
It’s pretty cool having 400 MHz and 64MB of SDRAM available to blink an LED and print to a UART, though… !

Funny! Mini-ITX motherboards, at $65, complete with CPU, graphics, sound, SATA, USB, etc. are hard to beat, unless you work for HTC and are designing Android handhelds.

stevech:
Funny! Mini-ITX motherboards, at $65, complete with CPU, graphics, sound, SATA, USB, etc. are hard to beat, unless you work for HTC and are designing Android handhelds.

Definitely - those mini-itx boards (and nano- and pico- now, my god!) are pretty cool. Just as long as you want an x86 system. Way beyond my skill set, I once tried to write my own O/S from scratch. Closest I’ve ever come to a nervous breakdown!

Okay, so I was relatively green, and staying up until 5am writing this thing every night on a winter break during college. So that might have had something to do with it. But I did get it to read/write to a virtual hard drive and do some other basic things, coded from the boot sector on up! So that was kind of cool, and a great learning experience.

-Tony

TonyG:
Just as long as you want an x86 system.

Thanks for pointing that out. Saved me wasting any time looking further ;-)

cfb:

TonyG:
Just as long as you want an x86 system.

Thanks for pointing that out. Saved me wasting any time looking further ;-)

Hmm, your post inspired me to take a look. It looks like there ARE other platforms out there in that form factor - I assumed Steve was talking about x86 mini-itx boards specifically. Definitely worth a look.

-Tony

cheap == x86 due to volume.

Except for mass market smartphone devices heavily subsidized (in effect, a loan) by carriers - where YOU pay anyway, over 2 years. Such is the case for my nifty HTC Android Incredible (ARM CPU)

I started with the EK-LM3S1968 (Cortex M3) 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

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

I decided to use ARM Cortex only in all my products from now on.

M serires for MCU, A for application processor.

This decision comes quickly after I finished a RFID consulting job on a iPhone/iPod pedal product using a STM32F101RB MCU from ST.

The learning curve is low, in fact I knew how to program the processor using ST’s FWLib from day 2, but I still learned more about the ARM Cortex M3 architecture and assembly programming to have a solid overview to this totally new architecture to me (I’m familiar with ARM9 in the past).

Though I know the full grasp of the ARM Cortex is a long way down, but I’m confident enough to begin my own coding from day 5 using the existing CMSIS compliant ST FWLib, I just used 2 days to port our old ARM7 code to ARM Cortex M3 and made it basically worked, and after 3 days digital circuit debug, we have verified the code and the digital circuit to be quite reliable, our RF/antenna designer begin to do his analog job then.

Quite impressive with both the feature and performance of ARM Cortex M3, and the easiness to begin a new project in it, and the price is just fantastic, the chip is just a little above US$2 here.

I don’t find any reason why I should use other MCUs from now on.

Maybe there’s some exceptional cases, such as extreme low power, extreme weather conditions, etc, but I guess my products will never have these extreme conditions.

ARM is the king.

As to x86, I worked as a PC BIOS engineer in a Taiwanese company for 3 years in the past, from my knowledge of CPU architecture, I don’t know if x86 can ever catch up with ARM in performance/power ratio, which is the most important in current economy.

RustyBucket:
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.

After all this time, and all these users, WHY does it take everyone so long to get this running? Not so for WinAVR (GCC/free). It can be done. Atmel used to subsidize support of WinAVR for sales enhancement purposes, and to get Universities to use it and AVRs. Can't the same happen for ARM GCC? Meanwhile, there's mbed.org.

stevech:
WHY does it take everyone so long to get this running?

Your mileage may vary: on the ARM-based designs I've worked on, the gcc cross-compilation and remote-debug tool chain has taken less than a day to integrate into our environment. Go figure.

tecoist:

stevech:
WHY does it take everyone so long to get this running?

Your mileage may vary: on the ARM-based designs I've worked on, the gcc cross-compilation and remote-debug tool chain has taken less than a day to integrate into our environment. Go figure.

WinAVR takes less than a minute to get running. Plug and play, then get on with the goal, and not futz with the tools!

I messed with YAGARTO and after 2 days of trial and error and looking for non-existent documentation, I gave up. that was a year ago. Maybe Eclipse is better.

I downloaded Yagarto just now, and installed it. I downloaded one of the LPC2148 test programs, unzipped it into my C directory, typed make and the application was built. It took about 10 minutes in total.

leon_heller:
I downloaded Yagarto just now, and installed it. I downloaded one of the LPC2148 test programs, unzipped it into my C directory, typed make and the application was built. It took about 10 minutes in total.

Same here. I’m used to the all-in-one easy install of MPLAB or Visual Studio, and had a little trouble the first time I set up Eclipse and Yagarto, but was able to get it running after fixing a few dumb mistakes. I re-installed a few weeks ago on a new computer and it took me no time at all. I followed Jim Lynch’s tutorial and modified his makefiles for my device. Works like a charm, and for free.

-Tony