Beginner Q: Starting out in embedded systems dev

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
I'd like to learn about embedded systems development, but since books
are too expensive right now and there's no decent library for 300
miles near me, I think that perhaps writing code and running it on a
simulator would be a good idea to get started.  Perhaps after a while
I can find some secondhand hardware on eBay or something and do the
real thing. Are there any significant drawbacks to using a simulator,
for instance, will code that relies on timing (if that's ever done) be
all wrong when run on the real hardware?  Any gotchas for developing
on a simulator?

What are the most popular embedded systems chips that employers hire
programmers to write code for, and what would be the easier out of
these for a beginner to go with?  What is the best documented chip?
Do simulators simulate I/O well, that is, can I learn a great deal
about doing I/O on simulators?  Also, are there any good simulators
that simulate network connections, i.e. Ethernet?  Perhaps by hooking
up the simulator to the loopback device?

Am I confusing microcontrollers and "embedded systems" when I think
they are really small and I can't write a stinking great big
feature-full web server for an embedded system?  Do "embedded systems"
run really meaty processors like the Pentium?  So, is there any
distinction between embedded systems development and microcontroller
development?

Thanks heaps. :)

Re: Beginner Q: Starting out in embedded systems dev
Quoted text here. Click to load it

Have a look at the papers on Http://Quest.phaedsys.org
and ask question here.

Quoted text here. Click to load it

Yes. My preference would be the Keil 8051 compiler and simulator. The
eval version is size limited not time limited. However you can do
similar with eval versions of most embedded compilers for most targets.
(IAR, Cosmic, Tasking, etc etc )

Use C (there will now be a 900+ sets of postings arguing why you should
C++, Pascal, Mod2, forth and ASM that you can ignore c is used in over
80% of embedded developments with C++ and ASM coming 2nd and third)

Quoted text here. Click to load it

8051 Hw is VERY cheap these days.  (also PIC not that I like it)

Quoted text here. Click to load it

For learning there is no real difference. The simulator whilst not real
time does synchronise everything and assumes perfect HW. You can do a
LOT with simulators. the KEil does simulate the peripherals.

Quoted text here. Click to load it

8051 family (about 600 variants from 40 manufacturers + IP cores)
PIC
AVR

Any of the 8 bit types.... 8 bit is the most common in terms of numbers
of projects.

Quoted text here. Click to load it

Ethernet is a whole new ball game...  You can do this with some 8051's
the Dallas 400 has ether net on it.

Quoted text here. Click to load it
Yes but that is not a problem... So does everyone else :-)

Quoted text here. Click to load it

Yes. Even 8 bit 8051 types. Atmel do several 51 kits with TCP-IP stacks.
(free ones at that!)

Quoted text here. Click to load it

Not usually as they require a fan and heat sink. Most comms systems use
the far more powerful PowerPC.

The x86 family tends to be use on cut down PC's (See PC104 format).

Quoted text here. Click to load it

YEs, No and maybe... ignore the next 600+ posts on this topic. It is as
bad as asking which is the right car or who should I vote for.... :-)

Most embedded systems have a Micro controller in them. or a IP core in
the case of ACIs and FPGA's but it is not always the case.


/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England    /\/\/\/\/\
/\/\/ snipped-for-privacy@phaedsys.org       www.phaedsys.org \/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Re: Beginner Q: Starting out in embedded systems dev
Thankyou Chris.

I've been a little confused about embedded vs. micro and such, but now
it's starting to make sense.

I seem to recognise the Keil 8051 C Compiler and simulator from
somewhere.  I wonder if there was a book written about it or something?
  I must have seen it while browsing Amazon or something.

 > Yes. Even 8 bit 8051 types. Atmel do several 51 kits with TCP-IP
 > stacks. (free ones at that!)

Whoa!  It must take some serious skill to squeeze on a network stack and
some basic servers and such.  What about filesystems?  Is there a common
kind of filesystem for embedded systems?

Anyway, before asking too many more questions I'll go and read the link
you have.  Thanks a thousand times for that. :)

Johnathan

Re: Beginner Q: Starting out in embedded systems dev
You will find several articles on embedded software design at:

http://www.eventhelix.com/RealtimeMantra /

Sandeep
--
http://www.EventHelix.com/EventStudio
EventStudio 2.0 - Real-time and Embedded System Design CASE Tool

Re: Beginner Q: Starting out in embedded systems dev
Quoted text here. Click to load it

Thanks!!

Johnathan

Re: Beginner Q: Starting out in embedded systems dev

Quoted text here. Click to load it

Well, yes, that reminds me.  Don't use heap memory in an embedded
application :-)

David Bardon, Avocet




Re: Beginner Q: Starting out in embedded systems dev
Quoted text here. Click to load it

You can discover an excellent starting point at
  http://www.mikroelektronika.co.yu

mikroElektronika makes very good developement systems for PIC, AVR,
8051, PSOC, Motorola... They also have free online books to download.

All the same, there is a lot of free software to download.

Pay attention to Pascal compiler for PIC, it is very good for both,
beginners and professionals.

Zoran.

Re: Beginner Q: Starting out in embedded systems dev
johnathan snipped-for-privacy@fastmail.com.au (johnathan_ snipped-for-privacy@fastmail.com.au) wrote in message
Quoted text here. Click to load it

Rabbit


Rabbit


Rabbit

OK, I'm biased, I work for Rabbit, and I may have exagerated on the
first answer. But we have good, inexpensive HW, SW and kits for 8 bit
processors, and we're happy to take on beginners who aren't going to
buy 10,000 units right away. You can have an embedded Webserver
running within 10 to 20 minutes after you open the box with our
Ethernet enabled products. You can add SSL/HTTPS security for a few
lines of code and a few dollars more. You don't need a  simulator.

www.rabbitsemiconductor.com
www.zworld.com
www.imaginetools.com

Here's a good book for embedded networking beginners.

http://www.rabbitsemiconductor.com/products/embedded_ethernet_internet_comp/index.shtml

Re: Beginner Q: Starting out in embedded systems dev
Quoted text here. Click to load it

Not by a long way...

Quoted text here. Click to load it

:-)

Quoted text here. Click to load it

Well that you can't argue with.

But going back to the first point.. you cant go wrong with an 8051...
actually you can. lots. but it is a good place to start which is why
there are over 50 manufacturers producing 600 different versions that
will all run the same core binary.


/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England    /\/\/\/\/\
/\/\/ snipped-for-privacy@phaedsys.org       www.phaedsys.org \/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Re: Beginner Q: Starting out in embedded systems dev
Quoted text here. Click to load it

Just what is this love affair with the 8051 all about? Apart of course your
commercial interest. This processor is 30 years old, it has a primitive
instruction set not suited to running pointer intensive languages like C. It
has an architecture which is just as usuited to C as well. The chips themselves
are not fast, not cheap nor allways available, apart from the basic 40pin
version. I can't think of a single good reason for using them these days, if
you can then maybe you can enlighten me.

Re: Beginner Q: Starting out in embedded systems dev
Quoted text here. Click to load it

Chris and I don't see eye-to-eye on quite a few things, but we argue
quite cordially :) His [other] schtick is, in a nutshell, that the '51
is so widespread that it's a good learning platform because (a)
there's tons of IP out there waiting to be reused, and (b) it's a good
bullet point on the resume.

To which I would add (c) if you can program the '51 skilfully, you
won't have trouble programming an elegant architecture, much like a
driver trained on a Yugo won't have much trouble driving a Bentley.

I don't regret the time I spent learning how to program this platform.
Among other things, there are a _load_ of ASSPs that use a 51 to do
the grunt bit-shuffling work, transferring data into and out of
special-purpose hardware on the chip (crypto, A/V codec, etc). Used to
be that it was the price king, and I guess as a soft core it still is.

(My potential new employer uses '51s and - ARGH! - COPs, but -
amazingly - is migrating some applications to AVR and is dabbling in
MSP430, too! I am so happy! Ulf, are you reading this?).

Re: Beginner Q: Starting out in embedded systems dev
Quoted text here. Click to load it

  I must have missed the release of the 100MHz AVR - or the 24 Bit ADC
MSP430, or the USB_PIC ?
  Last time I looked at an AVR, the BOOLEAN handling was primitive, and
there was no register bank switching : since those two things mattered
more in the task at hand, the 80C51 won hands down.
  The 80C51 was designed as an embedded microcontroller, and it still
excells at that task.
  Like all devices, it has a certain natural Opcode Data and Code
'reach' and outside that, it becomes less efficent. A microprocessor it
is not.

  If you/your application likes C, and lots of pointers, then the
new ARM controllers will make you right at home.
  Or maybe not, as ARM fails the 'fashion test', being close to 20yrs
old ? :)

-jg


Re: Beginner Q: Starting out in embedded systems dev


Quoted text here. Click to load it

A microcontroller is like a girl; when it's less than 18 years old,
I lose interest.  :)


Re: Beginner Q: Starting out in embedded systems dev
Quoted text here. Click to load it

Wot - no '& when it's over YY years old, you also lose interest" ? ;)


Re: Beginner Q: Starting out in embedded systems dev
Quoted text here. Click to load it

it has nothing to do with fashion, if you want to use old stuff thats fine with
me. I'm still waiting for someone to mention a single factor that makes the
8051 more suitable for a new design.

Re: Beginner Q: Starting out in embedded systems dev


Quoted text here. Click to load it

You just read about three of them:

  "I must have missed the release of the 100MHz AVR
   or the 24 Bit ADC MSP430, or the USB_PIC"
                                 -Jim Granville

Those are factors that makes the 8051 more suitable for a new design.

When you wrote "it has a primitive instruction set not suited to
running pointer intensive languages like C. It has an architecture
which is just as unsuited to C as well" I think you expressed your
real objection, and a fine objection it is - for those who program
microcontrollers in C.  That's the high end.  Down here where the
chips cost less than a dime and the programs are less than 100
bytes long we use assembly language and ponder whether to use an
8051 with onboard peripherals or a 4-bit processor with external
peripherals.

--
Guy Macon, Electronics Engineer & Project Manager for hire.
Remember Doc Brown from the _Back to the Future_ movies? Do you
We've slightly trimmed the long signature. Click to see the full one.
Re: Beginner Q: Starting out in embedded systems dev
Quoted text here. Click to load it

As an assembly language chip the 8051 holds its own alot better but the pics
and avrs still have it beat. You don't need to be very "high end" to use C
these days.

Re: Beginner Q: Starting out in embedded systems dev
On 26 May 2004 09:29:33 GMT, the renowned snipped-for-privacy@aol.com

Quoted text here. Click to load it

Say you want a 24-bit delta-sigma DAC on board.. AFAIK only the 8051
core is available in production quantity (at least two suppliers),
with ARM availability (one supplier) projected to be in 3rd quarter
2K004. There are other similar examples.

More generally, why in the world would you reject a competitively
priced 8051 from consideration in an application where it would be
appropriate?  For example, the modern Philips 6mm x 6mm P89LPC932FHN.
 
http://www.semiconductors.philips.com/pip/P89LPC932BA.html

Or an inexpensive OTP P87LPC760BDH (USD0.87 ea/reel from Avnet)
http://www-us.semiconductors.philips.com/pip/P87LPC760BDH.html


Best regards,
Spehro Pefhany
--
"it's the network..."                          "The Journey is the reward"
snipped-for-privacy@interlog.com             Info for manufacturers: http://www.trexon.com
We've slightly trimmed the long signature. Click to see the full one.
Re: Beginner Q: Starting out in embedded systems dev
Quoted text here. Click to load it

I guess there must be a requirement for 24bits somewhere I just can't think of
1.

Quoted text here. Click to load it

Seems ok, but no ADC, so no good for 50% of projects. PIC16F870 would seem a
better choice.

Quoted text here. Click to load it

Biggest problem here is OTP, PIC16F630 seems better.

Re: Beginner Q: Starting out in embedded systems dev

Quoted text here. Click to load it

Weighing systems and metering are a couple of large segments.
Vendors don't make multiple variant families for no customers....

Quoted text here. Click to load it

Small Package+ADC flash is one sector where the 80C51 is a relative
new-commer, but Philips now show ~9 members of their LPC9xx family with
ADCs.

Quoted text here. Click to load it

  I like the look of the P89LPC912FDH-S, in a nice TSSOP14 package -
FLASH and US0.86/reel (but new).
( I always ran out of pins, when ever I looked at 8 pin uC ! )

-jg


Site Timeline