EmbeddedRelated.com
Forums

Beginner Q: Starting out in embedded systems dev

Started by john...@fastmail.com.au May 23, 2004
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. :)
In article <f2a0720e.0405230414.7a26b598@posting.google.com>,
johnathan_doe@fastmail.com.au <johnathan_doe@fastmail.com.au> writes
>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,
Have a look at the papers on Http://Quest.phaedsys.org and ask question here.
>I think that perhaps writing code and running it on a >simulator would be a good idea to get started.
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)
> Perhaps after a while >I can find some secondhand hardware on eBay or something and do the >real thing.
8051 Hw is VERY cheap these days. (also PIC not that I like it)
> 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?
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.
>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?
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.
> Also, are there any good simulators >that simulate network connections, i.e. Ethernet? Perhaps by hooking >up the simulator to the loopback device?
Ethernet is a whole new ball game... You can do this with some 8051's the Dallas 400 has ether net on it.
>Am I confusing microcontrollers and "embedded systems"
Yes but that is not a problem... So does everyone else :-)
>when I think >they are really small and I can't write a stinking great big >feature-full web server for an embedded system?
Yes. Even 8 bit 8051 types. Atmel do several 51 kits with TCP-IP stacks. (free ones at that!)
> Do "embedded systems" >run really meaty processors like the Pentium?
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).
> So, is there any >distinction between embedded systems development and microcontroller >development?
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 /\/\/\/\/\ /\/\/ chris@phaedsys.org www.phaedsys.org \/\/ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
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
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
EventHelix.com wrote:
> You will find several articles on embedded software design at: > > http://www.eventhelix.com/RealtimeMantra/
Thanks!! Johnathan
<johnathan_doe@fastmail.com.au> wrote in message
news:f2a0720e.0405230414.7a26b598@posting.google.com...
> 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. :)
Well, yes, that reminds me. Don't use heap memory in an embedded application :-) David Bardon, Avocet
> > 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
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.
johnathan_doe@fastmail.com.au (johnathan_doe@fastmail.com.au) wrote in message news:<f2a0720e.0405230414.7a26b598@posting.google.com>...
> 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,
Rabbit
> and what would be the easier out of > these for a beginner to go with?
Rabbit
> What is the best documented chip?
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
johnathan_doe@fastmail.com.au wrote:

> What are the most popular embedded systems chips that employers hire > programmers to write code for?
You might try www.hotjobs.com and search for various embedded processors. Of the few processors I tried, '8051' was mentioned most in the listings. Kelly
In article <c29d7dc6.0405241453.3341d210@posting.google.com>, Brian
Murtha <bmurtha@zworld.com> writes
>johnathan_doe@fastmail.com.au (johnathan_doe@fastmail.com.au) wrote in message >news:<f2a0720e.0405230414.7a26b598@posting.google.com>... >> 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, > >Rabbit
Not by a long way...
>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.
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 /\/\/\/\/\ /\/\/ chris@phaedsys.org www.phaedsys.org \/\/ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/