Want to learn embedded systems

Posted on 2004-09-28
Medium Priority
Last Modified: 2010-04-26
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,

Question by:lamdor
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Accepted Solution

RoyInTexas earned 400 total points
ID: 12206893

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.


Author Comment

ID: 12246110
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,

Expert Comment

ID: 13294501
"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!

Featured Post

Bringing Advanced Authentication to the SMB Market

WatchGuard announces the acquisition of advanced authentication provider, Datablink, with one mission – to bring secure authentication to SMB, mid-market, and distributed enterprises with a cloud-based solution, ideal for resale via their established channel & MSSP community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Every server (virtual or physical) needs a console: and the console can be provided through hardware directly connected, software for remote connections, local connections, through a KVM, etc. This document explains the different types of consol…
New style of hardware planning for Microsoft Exchange server.
Michael from AdRem Software outlines event notifications and Automatic Corrective Actions in network monitoring. Automatic Corrective Actions are scripts, which can automatically run upon discovery of a certain undesirable condition in your network.…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question