SparkFun Forums 

Where electronics enthusiasts find answers.

Everything ARM and LPC
By stevech
#78280
millwood wrote:
stevech wrote:this thread was on the merits of ARMs.
how do you evaluate the "merits" of A without considering the "merits" of its alternatives?
ARM is licensed to perhaps a dozen companies.

I think the 8051 is the only 8 bitter that is cross-licensed and second-sourced, germane as we watched Microchip's attack on the solvency of Atmel via a board-room hostile take-over attempt.
I am sure that's relevant to the discussion of ARM vs. non-ARM.
Because I've used, for years, PIC, AVR, 8051, 68000, x86 and know their strengths and weaknesses, and market position.
By millwood
#78295
stevech wrote:Because I've used, for years, PIC, AVR, 8051, 68000, x86 and know their strengths and weaknesses, and market position.
bingo! you can evaluate the "merits" of ARM vs. non-ARM because you have used both.

so how do you articulate the merits of ARM vs. non-ARM here without talking about those non-ARM chips, as you suggested earlier?
By stevech
#78320
zzzzzzzzzzzzzzzzzzzzzzzzzzz.

It's not really useful to compare ARM7 to 8 bitters, on a technical level. the $1-2 8 bitters solve a great need.

The curious part is that ARM7's due to their huge volume and multi-sourcing, are price competitive with the high end 8 bitters. But feature and architecture wise, ARM7's are very much superior and less sole-source risky.

So this relatively recent value situation for a 32 bitter is quite curious.

Unless my future project is very, very price sensitive, I'd prefer to choose an ARM7 or ARM Cortex-M3. The latter seems to be less costly yet.

Readers' opinions may differ.
:D
By millwood
#78328
none of that answers the question of how one could evaluate a product's merits without evaluating its alternatives.

to answer that question, you don't need to discuss prices, business model, features, or architecture unless they are part of the "merits".

again, is it wise to discuss a product's merits in vacuum?
By inventore123
#78331
Anyway, while I don't like PICs, I've used them for a couple of years (writing in assembler).
(This is a project I've done with a PIC http://www.youtube.com/watch?v=Ayeto4jl ... re=channel)
I also used AVRs, and I quite like them even now that I moved to ARM, for an 8bit architecture, they are powerful and easy to use, and support C programming very well, with a good port of GCC (and this is aproject i've done with an AVR http://www.youtube.com/watch?v=6jcmi-lQ ... re=channel).
I've tried also MSP430, but they don't seem to have anything special except their low power consumption, and lastly used some minor architectures, like ST7, but I've done very little with those.

Anyway, ARM still looks like the best architecture I've tried. Started with an hello world, ended up writing an RTOS. What I like most is that they have more memory (both RAM and FLASH) and are a 32bit architecture, and support very well higher level programming and code reuse across different projects.
With all the other architectures I've used, I was too busy in getting my code to fit into the small memory that hadn't any chance of writing more general code. When I started with ARM, I kept for a while that attitude, but then, I slowly started using more libraries, and in the end even moved from C to C++.
So in the end, ARM is an architecture that imposes you less limits, that's my opinion.
By stevech
#78337
I agree with the last poster and have been down that PIC-poop road to AVR (back further is 8051) is good (but Atmel is increasingly tenuous) and on to ARM7. The abundance of ARM7 sample code - public domain and freebies on the web sites of IAR and Keil is how I got over the at-first intimidating config of PLL and VIC. Now I'm rolling - having a very complicated project going, with XBees and WizNet 812MJ, dual UARTS, all interrupt driven, etc. The only gripe I have is that the old LPC2106/2129 chips lack features that are in the same but newer revs, but prototyping boards from Olimex and others have the old chips and no new builds have been done. But this is because I'm using low quantities, like 10.

With ARM7, going away from the dual address space of PIC and AVR sure makes life simpler. The ARM7's clever way to read flash at flash speeds but several bytes in one cycle, then chop it up to run the CPU much faster than flash speeds, is nice. 60MHz CPU if you want. Some up to 72MHz. But more than speed, the single address space makes it so like programming a 32 bit minicomputer and not a microprocessor. Forget all the PITA stuff about constants in flash have different libraries and all that rot - and special versions of printf() et al. Nice.

The LPC2106 is a nice low end chip. 128KB flash, 64KB RAM, single linear address space. Same binaries run in other 21xx chips, if you don't need all the RAM.
By millwood
#78338
inventore123 wrote:So in the end, ARM is an architecture that imposes you less limits, that's my opinion.
I agree with that.

there are always limits to any hardware. the only difference is that some has more limitations than others.

the key for us is to understand the limitations of each and use the right hardware for the right applications.

As you program mcus more and more like micro-computers, I am sure we will find one day, sooner or later, that we need more than what a given platform can offer. that day has come for PIC, AVR, or 8051, etc. and I am sure that day will come for ARM, or any chips that are yet to be invented.

like that old saying: there are no bad MCUs, just bad engineers.
By stevech
#78394
millwood wrote:
inventore123 wrote:So in the end, ARM is an architecture that imposes you less limits, that's my opinion.
I agree with that.

there are always limits to any hardware. the only difference is that some has more limitations than others.

the key for us is to understand the limitations of each and use the right hardware for the right applications.

As you program mcus more and more like micro-computers, I am sure we will find one day, sooner or later, that we need more than what a given platform can offer. that day has come for PIC, AVR, or 8051, etc. and I am sure that day will come for ARM, or any chips that are yet to be invented.

like that old saying: there are no bad MCUs, just bad engineers.
Were you a philosophy major? <grin>
By TheDirty
#78471
stevech wrote:Were you a philosophy major? <grin>
He likes to argue. He simply takes everything you say as absolutes and broadens it so that he seems right on some level. It's really painful.
By millwood
#78561
TheDirty wrote:He likes to argue. He simply takes everything you say as absolutes and broadens it so that he seems right on some level. It's really painful.
so how would you understand the man when he said that we should not discuss non-ARM chips when we decide on the merits of ARM?
By millwood
#78562
stevech wrote:Were you a philosophy major? <grin>
no. couldn't get into a college.
By Tomy Walsh
#80264
I started with 51,ARM is not so difficulty as you think,it just a chip that more faster.
I think that the best kind of ARM for you is ARM7 or Cortex-M3,but Cortex M3 has highly-efficient and Low-Power consumption as ARM7.
So,I suggest you use cortex-M3,it has sufficient ability to solve need on video processing/streaming.As we have made MP3 soft decoding on AT91SAM3(one kind of Cortex-M3), http://www.coocox.org/EXAMPLE/SAM3U_MP3_CoOS.htm
Hope it be useful to you,good luck!
By waltr
#81456
Interesting thread.
I've been using PIC's (have in the past used 8080, 8085, 1802, 6802, 8051 etc in assembler). PIC's are great for some apps but I am moving to an embedded app that requires a higher level of functionary abstraction in the code. So I'm looking at the ARM7 & AMR9 processors. The NXP LPC's look good.

Now my question that is related to the origins of this thread:
What Development systems are recommended at a low (hobbyist) price?

IAR was suggest in one post as was GCC WinARM and then Keil on a professional level.

Any suggestions? I do use PICs in part due to the FREE IDE.
User avatar
By leon_heller
#81457
Rowley CrossWorks is very good. A low-cost license is available for hobbyists.

Leon
By theatrus
#81464
waltr wrote: Now my question that is related to the origins of this thread:
What Development systems are recommended at a low (hobbyist) price?
IAR was suggest in one post as was GCC WinARM and then Keil on a professional level.
Any suggestions? I do use PICs in part due to the FREE IDE.
The IDE is FREE as in beer, but not open source :-)

I'm always one to suggest GCC for ARM, in any flavor. Rowley wraps GCC in a nice UI, if IDEs are your thing. But its just as capable as using GCC with traditional build tools (command line).

You also can use Eclipse for C development, and its not too bad. But it still is Eclipse.