Want to learn embedded systems

Hi all,

 I am a graduate. I want to learn pure embedded systems. Like

 1) want to deal with Hardware boards
 2) Want to develop programs in Assembly and C.

 In this regard I bought a 8051 Chip from cygnal (silabs). Can anybody help me what are all the steps and resources  to learn a perfect embedded systems.

 I want to deal with some free RTOS with 8051..how could I do that.

 Please help me to learn embedded systems.

 Thanks in advance.

With Regards,

Who is Participating?
RoyInTexasConnect With a Mentor Commented:

Haven’t you heard the saying, “Friends don’t let Friends program in assembly language”?

Well, you are in luck.  When I started programming in embedded systems, we had to program in assembly language.  Now there are Basic(not visual basic) and C compilers.

Since the memory address range for any 8051 is on the order of 16 bits, you can only address 2 ** 16 or 65, 536 bytes of memory.   That’s not a whole lot of room to work with. So if you have an operating system,a general purpose house keeping set of pre-complied programs),  you won’t have a whole lot of room left over for your specific program.  Most 8051 applications do just one or two specific things. Since they just do one or two things, they don’t need any operating system.  Everything that you need to do is all contained in the main program.

One nice thing they have now are assembly language software simulators.  What these simulators allow you to do is visually step through the program operations on your PC before you burn your program into memory.

An 8051 system is going to consists of a CPU(the 8051), an EPROM(Erasable Programmable Read Only Memory)  and optionally some Static RAM.

An EPROM will retain its memory when the power is shut off.  Static RAM will  get filled with garbage when power is reapllied.  So when you first power up an embedded system, you should always initialize your RAM to a known state by filling it with zeros.  If you are programming in a higher level language, always initialize your variables before you use them.

With a 8051 system, there is typically no Hard Drive or Floppy drive so your program has to reside inside of a chip, the EPROM.  In order to program the EPROM, you need a EPROM programmer.  But there are similar CPUs on the market that allow you to serially program them using your serial port on your PC.  There are even CPUs out there that let you directly program in Basic. I you are going to program in C, you will need to purchase a C complier designed specifically for the 8051.

To save lots of time, there are general purpose 8051 experimenter boards that are already built and low cost.

Make sure when you work with embedded systems, that you wear an anti-static wrist wrap.  You can make your own by simply attaching a small copper wire around your wrist to a cold water pipe.  Be careful if you hook up an anti-static writs wrap to the ground on any house hold plug because it can be wired incorrectly. Digital circuits are designed to run at 5 volts and lower. Through friction, you body can generate over 20,000 volts.  So if you are charged to 20,000 Volts and you touch a digital circuit, kiss that puppy good bye.  You might not even feel the transfer of electricity.

Here is a link to get you started:

Just remember, compliers and assemblers are computer programs. And as you all ready know, programs can have bugs.

Though if I were you, I would start with a PIC Microcontroller or Basic Stamp Microcontroller. With the Microcontrollers, you get the RAM and EPROM on board the main chip so it’s a lot more compact and thus cheaper.  If memory servers correct, it’s serially programmable so you don’t need to spend several hundred dollars on an EPROM programmer. In addition, it’s got a much larger following. Hence there is more reference material to get you up to speed.   Here is a link to get you started:


Keep in mind when programming in embedded systems, you will use the GoTo and loops a lot.  Reason being is because embedded system computer programs execute in a top down manor and if your program does not GoTo or loop when it reaches the last instruction in its list of steps, it will crash because it would be like running over a cliff.

Keep in mind, I have never purchased anything from the above website nor have I used their software.

 Most of the starter development boards I have seen do not come with their won 5 Volt power supply so you will need to purchase one.

You can pick one up from http://www.jameco.com. Radio shack used to sell power supplies but they seem to be getting out of the electronic hobbyist arena.

lamdorAuthor Commented:
Hi Roy,

 Thanks a milion to help me in learning embedded. I hope I will remember you alover my career.

 Since this is the first move and first help I which boosted me a lot in understanding the things.

 Yeh!, I am planning to use 'C' Only initially. Later I will go for Assembly.

 By the way the PIC controller what ever you told I need more information on that. Can you please provide me..

 Thanks a milion ..get back to you.

With Regards,
"An 8051 system is going to consists of a CPU(the 8051), an EPROM(Erasable Programmable Read Only Memory)  and optionally some Static RAM."

Although true many years ago, this need no longer be the case - there are plenty of 8051 microcontrollers available today with on-chip, In-System Programmable, Flash EPROM and plenty of RAM.
The Si Labs (nee Cygnal) chips mentioned originally are a case in point.

"With the Microcontrollers, you get the RAM and EPROM on board the main chip so it’s a lot more compact and thus cheaper."

The 8051 *is* a microcontroller!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.