On Tue, Feb 9, 2010 at 8:24 PM, Chuck Guzis <cclist
at sydex.com> wrote:
On 9 Feb 2010 at 18:13, e.stiebler wrote:
That's why I love to embedded stuff. And even
here, any "reasonable"
Real Time OS of today, can't really boot with 48 kbytes of memory.
Been on the
AVR forums much lately? It's getting more difficult to
find someone who writes in assembler. I suspect it's almost
impossible on the ARM uC area.
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. Occasionally, though, tasks like video
timing or less-sloppy clock precision can benefit from some
well-formed assembler.
It wouldn't surprise me to learn that ARM microcontrollers were
"impossible" to program in assembler. Workstations turned that corner
when they went from CISC to RISC - I know very, very few RISC
assembler programmers, but dozens who have done CISC assembly.
-ethan
You may well be nearly right about the "impossible" part, though I
notice you put it in quotes which I interpret to mean you think it may
only be extremely difficult. I never got really serious about it, but I
did look at just a few of the "start up" instructions in an ARM-7 TDMI
chip (Philips/NXP 2148 actually) once when I was trying to puzzle
something out about what happened just after a reset - like which I/O
pins were checked in what order to see what to do next. The
instructions did seem rather arcane, but I was able to puzzle out enough
for my purposes and felt that I could have understood it fully if I had
the time and a real need to do so. Might not be a lot of fun though. I
still have an eval board for that chip, so maybe some day I'll dig a
little deeper and see how bad it really is. In some of my reading I
have gotten the idea that over the years the difference in CISC and RISC
has been substantially reduced too. Just as one example, I understand
that early on the RISC guys insisted that every instruction be the same
length but evidently that went out the window over time when they
realized the non-economy of insisting on that philosophy. From what I
read, over time the line between CISC and RISC has became even more
blurred. If this is true then assembly language programming for the
latest ARM might be much easier than RISC assembly was early on, and
might not be so bad after all.
Later,
Charlie C.