EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Where to learn embedded system basics for little or no money?

Started by Charlie King March 26, 2005
I've been working on a project that involved testing a toy with a
simple processor in it, that controlled how the toy reacted when the
user did things.

All of which got me interested in how the thing works at a hardware
level - something in which I have no experience at all.   I would like
to learn more.

I have around me a Windows PC, a Linux PC, an EEPROM 'memory
programmer', some basic programming skills, the ability to wire a
plug, the ability to learn stuff, and broadband.

I would like to learn how to build and code embedded system type
things with the absolute minimum of expenditure.  Where should I
start?  

Are there emulators for microprocessor packages that I can program,
complete with emulated lights and switches, or somesuch?  Are there
freeware ones?  What about the attendant circuitry - sensors, buttons,
motors, diodes and such?


-- 
Charlie
Charlie King wrote:

> I've been working on a project that involved testing a toy with a > simple processor in it, that controlled how the toy reacted when the > user did things. > > All of which got me interested in how the thing works at a hardware > level - something in which I have no experience at all. I would like > to learn more. > > I have around me a Windows PC, a Linux PC, an EEPROM 'memory > programmer', some basic programming skills, the ability to wire a > plug, the ability to learn stuff, and broadband. > > I would like to learn how to build and code embedded system type > things with the absolute minimum of expenditure. Where should I > start? > > Are there emulators for microprocessor packages that I can program, > complete with emulated lights and switches, or somesuch? Are there > freeware ones? What about the attendant circuitry - sensors, buttons, > motors, diodes and such? > >
Yes to all those questions. I use the 8052 microcontroller which has been around for ages and is available in lots of different versions. There are plenty of free and evaluation tools including all sorts of emulators some of which will simulate external circuits too. A google search will bring up lots of sites. You could do worse than start at www.8052.com which has tutorials and many links. HTH Ian -- Ian Bell
On Sat, 26 Mar 2005 21:27:12 +0000, in
<d24k2m$4hi$1@slavica.ukpost.com> (comp.arch.embedded) Ian Bell
<ruffrecords@yahoo.com> wrote:

> Yes to all those questions. I use the 8052 microcontroller which has been > around for ages and is available in lots of different versions. There are > plenty of free and evaluation tools including all sorts of emulators some > of which will simulate external circuits too. A google search will bring up > lots of sites. You could do worse than start at www.8052.com which has > tutorials and many links. > > HTH
It does, thank you - I will read avidly. By the way, not only is your reply helpful but your name also reminded me of 50% of one of my favorite programming teams ever :) Cheers -- Charlie
Charlie King wrote:
> I've been working on a project that involved testing a toy with a > simple processor in it, that controlled how the toy reacted when the > user did things. > > All of which got me interested in how the thing works at a hardware > level - something in which I have no experience at all. I would like > to learn more. > > I have around me a Windows PC, a Linux PC, an EEPROM 'memory > programmer', some basic programming skills, the ability to wire a > plug, the ability to learn stuff, and broadband. > > I would like to learn how to build and code embedded system type > things with the absolute minimum of expenditure. Where should I > start? > > Are there emulators for microprocessor packages that I can program, > complete with emulated lights and switches, or somesuch? Are there > freeware ones? What about the attendant circuitry - sensors, buttons, > motors, diodes and such?
Minimum of expenditure = nothing! You can get a simulator which allows you to play with I/O on the PC screen. Check out AVR Studio + WinAVR at www.avrfreaks.net There should be plenty of others. -- Best Regards, Ulf Samuelsson ulf@a-t-m-e-l.com This message is intended to be my own personal view and it may or may not be shared by my employer Atmel Nordic AB
Charlie

Another microcontroller you might want to play arround with is a PIC.
by MicroChip.  Below is a link of some projects I found on a google
search.

http://www.electronic-engineering.ch/microchip/projects/projects.html

Also for a higher level language see if your local kibrary can do  an
inter library loan on this book.
"Real-Time UML: Developing Efficient Objects For Embedded Systems"
By Bruce Powel Douglass.

Another good book to look at is
"UNIX Network programming"
By W. Richard Stevens.
this book wil get you a little more comfortable with unix and allow you
to migrate to realtin OS's

Look at realtime OS's
ThreadX is a C lib
VxWorks
pSOS these two are the work horses of rtos's
Linux hard hat is makeing good progress

Linux
Unix these are also worth looking into..


You should look at data manuals,(PDF  online) and get use to reading
them.  At how devices operate.  They have some basic characteristics
that most share.  Initail default wake up state.  Mode control for data
or control commands.
After you have poked arround on a few chips look at the motorola power
pc 860.  Look at the embedded process and the list of embedded devices
it has.  become familair with these you will often times see many of
these devices over and over, the 860 just hapens to have them all in
one nice basket.  The PIC 16C74 has many devices also.

I noticed that you mentioned you programed EEProms so I am assumeing
that you have an eprom programer or acces to one.  Going to extrapilate
that you can get to either a bread borad or wire wrap set up and a DC
power suply.  IF you got all that or have access to it, then get a
micro controler or two that you have become familair with and an LCD to
display some output or even a few LED's.  Read up a bit on electronics
and build some simple circuits.  Plug in your EEPROM code and have fun
=)

On Sat, 26 Mar 2005 22:14:46 +0100, Charlie King <charlie@removethisitsaspamtrap.stopthatitssilly.com> wrote:

>I've been working on a project that involved testing a toy with a >simple processor in it, that controlled how the toy reacted when the >user did things. > >All of which got me interested in how the thing works at a hardware >level - something in which I have no experience at all. I would like >to learn more. > >I have around me a Windows PC, a Linux PC, an EEPROM 'memory >programmer', some basic programming skills, the ability to wire a >plug, the ability to learn stuff, and broadband. > >I would like to learn how to build and code embedded system type >things with the absolute minimum of expenditure. Where should I >start? > >Are there emulators for microprocessor packages that I can program, >complete with emulated lights and switches, or somesuch? Are there >freeware ones? What about the attendant circuitry - sensors, buttons, >motors, diodes and such?
Check out AVR Studio, and AVRLCD from Atmel. http://www.atmel.com These people have an emulator for some of the AVR processors, and ST devices. http://www.amctools.com/vmlab.htm Currently it costs EU75.00 for the full blown AVR version, until the end of March. The demo is code-size limited: max 4K bytes, max 4 code modules. Texas Instruments have Kickstart (IAR Embedded Workshop), a programming and debugging suite for their MSP430 devices http://focus.ti.com/docs/toolsw/folders/print/iar-kickstart.html It's limited to 4K of compiled C code, but unlimited for ASM. And there's MPLAB for the PIC from Microchip. http://www.microchip.com
Charlie King wrote:

> I've been working on a project that involved testing a toy with a > simple processor in it, that controlled how the toy reacted when the > user did things. > > All of which got me interested in how the thing works at a hardware > level - something in which I have no experience at all. I would like > to learn more. > > I have around me a Windows PC, a Linux PC, an EEPROM 'memory > programmer', some basic programming skills, the ability to wire a > plug, the ability to learn stuff, and broadband. > > I would like to learn how to build and code embedded system type > things with the absolute minimum of expenditure. Where should I > start? > > Are there emulators for microprocessor packages that I can program, > complete with emulated lights and switches, or somesuch? Are there > freeware ones? What about the attendant circuitry - sensors, buttons, > motors, diodes and such?
Take a look at <http://www.ganssle.com/> where you will find a number of useful articles. You should also find a link to Jacks book on embedded systems which includes lots of useful guidance. -- ******************************************************************** Paul E. Bennett ....................<email://peb@amleth.demon.co.uk> Forth based HIDECS Consultancy .....<http://www.amleth.demon.co.uk/> Mob: +44 (0)7811-639972 Tel: +44 (0)1235-811095 Going Forth Safely ....EBA. http://www.electric-boat-association.org.uk/ ********************************************************************
> Minimum of expenditure = nothing! > You can get a simulator which allows you to play with I/O on the PC > screen. > Check out AVR Studio + WinAVR at www.avrfreaks.net > There should be plenty of others.
I was going to recommend that, but you beat me to it! :) Atmel's simulator is dependable. I did my first AVR project years ago in simulation, because the chips weren't quite available yet. When I finally got chips (8515's with a date code of "ES") I dropped the code in them, and everything was fine. For working on real chips, an AVRISP is a nice simple dependable programmer, at $29 from Digikey. For the simpler chips, you can do a $5 programmer using the BA1FB software (google on BA1FB and programmer) A 2343 is a good starting chip. 8 pin, internal RC clock, a timer, some ram and registers, and some EEPROM, and some I/O pins, but not too complicated. Code ports upward relatively painlessly in the AVR line :) As you progress, you'll want to get a Jtag Ice for debugging real hardware. Sparkfun sells them for about $40, and they work nicely.
"Dave VanHorn" <dvanhorn@dvanhorn.org> wrote in message 
news:lrOdnX5Z4N_0UNvfRVn-oQ@comcast.com...
> >> Minimum of expenditure = nothing! >> You can get a simulator which allows you to play with I/O on the PC >> screen. >> Check out AVR Studio + WinAVR at www.avrfreaks.net >> There should be plenty of others. > > I was going to recommend that, but you beat me to it! :) > Atmel's simulator is dependable. I did my first AVR project years ago in > simulation, because the chips weren't quite available yet. When I finally > got chips (8515's with a date code of "ES") I dropped the code in them, > and everything was fine. > > For working on real chips, an AVRISP is a nice simple dependable > programmer, at $29 from Digikey. For the simpler chips, you can do a $5 > programmer using the BA1FB software (google on BA1FB and programmer) A > 2343 is a good starting chip. 8 pin, internal RC clock, a timer, some ram > and registers, and some EEPROM, and some I/O pins, but not too > complicated. > Code ports upward relatively painlessly in the AVR line :) > > As you progress, you'll want to get a Jtag Ice for debugging real > hardware. Sparkfun sells them for about $40, and they work nicely.
When I started using the AVR, the only chip available was the '1200. I used the BA1FB programmer with it, it worked very well. The newer Tiny2313 is a good chip to start with, IMOH. I'm not sure if it is supported by the BA1FB software, but it may be programmed with the SP12 software and (minimal) hardware. Leon -- Leon Heller, G1HSM http://www.geocities.com/leon_heller
"Dave VanHorn" <dvanhorn@dvanhorn.org> wrote in message
news:lrOdnX5Z4N_0UNvfRVn-oQ@comcast.com...
> > > Minimum of expenditure = nothing! > > You can get a simulator which allows you to play with I/O on the PC > > screen. > > Check out AVR Studio + WinAVR at www.avrfreaks.net > > There should be plenty of others. > > I was going to recommend that, but you beat me to it! :) > Atmel's simulator is dependable. I did my first AVR project years ago in > simulation, because the chips weren't quite available yet. When I finally > got chips (8515's with a date code of "ES") I dropped the code in them,
and
> everything was fine. > > For working on real chips, an AVRISP is a nice simple dependable
programmer,
> at $29 from Digikey. For the simpler chips, you can do a $5 programmer
using
> the BA1FB software (google on BA1FB and programmer) A 2343 is a good > starting chip. 8 pin, internal RC clock, a timer, some ram and registers, > and some EEPROM, and some I/O pins, but not too complicated. > Code ports upward relatively painlessly in the AVR line :) > > As you progress, you'll want to get a Jtag Ice for debugging real
hardware.
> Sparkfun sells them for about $40, and they work nicely.
Just a small thing to add ... The STK500 is a really nice and very low cost proto board that can be programmed directly from AVR studio. Usual LED's and IO headers for trying out your IO. Note however that it does not have a JTAG port (oddly) - although you can buy an adaptor to fit on one of the pin headers. As previously stated - the simulator is excellent, so you can develop in the simulator then run on the STK500 for very little cost. Regards, Richard. http://www.FreeRTOS.org

The 2024 Embedded Online Conference