Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Want to learn embedded systems

Posted on 2004-09-28
3
Medium Priority
?
250 Views
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,
Lamdor.
 

 
0
Comment
Question by:lamdor
[X]
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
3 Comments
 

Accepted Solution

by:
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:
http://www.brillianet.com/electronics/microcontrollers/tutorials/8051/faq.htm

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:
http://www.imagesco.com/catalog/pic/pic.html

http://www.parallax.com/html_pages/products/basicstamps/basic_stamps.asp


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.
 






   
0
 
LVL 1

Author Comment

by:lamdor
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,
Lam.
0
 

Expert Comment

by:embtech
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!
0

Featured Post

Q2 2017 - Latest Malware & Internet Attacks

WatchGuard’s Threat Lab is a group of dedicated threat researchers committed to helping you stay ahead of the bad guys by providing in-depth analysis of the top security threats to your network.  Check out our latest Quarterly Internet Security Report!

Question has a verified solution.

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

Monitor input from a computer is usually nothing special.  In this instance it prevented anyone from using the computer.  This was a preconfiguration that didn't work.
Backups and Disaster RecoveryIn this post, we’ll look at strategies for backups and disaster recovery.
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …
Are you ready to place your question in front of subject-matter experts for more timely responses? With the release of Priority Question, Premium Members, Team Accounts and Qualified Experts can now identify the emergent level of their issue, signal…

604 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