john said:
[...]
I've been severely bitten by the ARM bug. Been playing with one of
these recently:
http://www.olimex.com/dev/lpc-2378stk.html
It makes for a way cool toy.
Was looking at an ARM development board on Sunday. Are they
straighforward to program in assembly?.
I really like the instruction set, much more powerful than the typical micro
IMO.
I've now had 10 years of PICs and am heartily fed up with their
obtuse, infernal internals.
;-) I wanted to do some work in C and learn something about ARM, so I
finally got around to getting a dev board. The dev board in the link I
posted is my second one. I started with a LPC2106 board to get my feet wet
and then bought the second board a couple of weeks later. I've been having
a ball with this one, what with all the nifty peripherals that I haven't
played with before.
On average I get through maybe 4 jobs a year that use a PIC and each
time round I have to relearn the bit settings, the register defaults,
the interrupt sequencing, the pin allocating, the ... . It's a
grade#1 pain. Maybe it's because I'm not really interested in
programming and see it as just a means to an end, yet I still find
it very easy to read Z80 assembly listings from 15 years back and
could still program one from scratch.
I don't think the ARM architecture is going to make you suddenly enjoy
programming, but I think you will find the instruction set allot easier on
your sanity. My biggest problem with PIC chips is the W reg, it makes life
so tedious.
Something I noticed pretty quickly about the ARM world is that while the
instruction set is the same between manufacturers, the way the built in
peripherals work can vary quite a bit. I originally had planned to start
using Atmel SAM7 parts, but due to a shortage in the dev boards, I ended up
going with the LPC(NXP/Phillips) part. I'm kinda glad I did as I like the
GPIO port design in the NXP parts better......I think. ;-)
I reckon the PICs are doing my head in. There must be something
better out there. Perchance the ARM?.
This may be somewhat of an apples/oranges issue. IMO the PIC will always
have its place because of its ruggedness and reliability not to mention the
miniscule amounts of power it uses. OTOH, the ARMs are getting really cheap
and they are just sooo frigging fast it's amazing. I'm used to PIC
instructions taking .5 to 1 uS to execute, now I'm burning the place down
with instruction cycle times < 15nS. Seems so odd to call a subroutine to
delay for 1uS, but I'm not complaining mind you. ;-) OTOH, welcome to the
world of wait states when running from flash. :-( I guess you can't have
everything.