On Feb 9, 2010, at 9:06 PM, Ethan Dicks wrote:
I myself have only ever programmed AVRs in C
(including older parts
that had a mere 2K of code space), but I've done some PIC and MCS51
assembler in the past 5 years. Not much point to it usually,
though.
That much optimization is rarely needed in a part that has
limited I/O
and very limited memory.
That's funny, I find that sort of optimization is required
*because* the
parts have limited memory. ;) (not arguing about I/O though)
I was unclear - I meant time/cycle optimization, not space
optimization.
Ahh, gotcha.
For bang-for-the-buck, AVRs are pretty good. The most
expensive one I
ever bought was just over $3.
That's excellent. There's no denying that they are Good Stuff
(tm). And their development suite support is good too, not just
loads of overpriced Windows-only binary-only commercial garbage.
On 8051
designs, I always code very low-level routines that will
be called
a lot in assembler. Stuff like the low-level UART drivers for
maintaining
serial output buffers and such. The rest I generally do in C. I
rarely
write pure-C 8051 programs.
Sure... serial comms are one of those time-sensitive things like
video. When I used to write protocol engine code, our Z8530 routines
were in assembler and 95% of the rest of the code was C (even the DMA
engine code).
We work along similar philosophies. :)
-Dave
--
Dave McGuire
Port Charlotte, FL