Microcontroller programming

I am student of computer science. i have good skill of programming in C/C++. I want to start learning Microcontroller Programming. What is the pre-requisite to get started and what kind tools (Software and Hardware) i need to get a start.

Reply to
Demon
Loading thread data ...

First of all you have to learn CPU architecture. Best way to do that is assembly programming :)

Reply to
Mad I.D.

Start with Microchip PIC microcontroller. It's a good trainning. You could program in assembly (better) or C. It's cheapest and you could find it easly

Reply to
dosadih

Take a look at something like this :

formatting link

for very low prices ($10.99+) you can get real silicon, and real in-circuit emulation, with a uC with demo versions of Compilers included.

Or if 8 bits in a 3mm package scares you a little, this alternative

formatting link

gives you 16 x 32 bit register CPU. Large PCB+Compiler ToolChain and In System Debug, is

Reply to
Jim Granville

In addition skills already mentioned in other messages, in most cases you would need at least a very rudimentary understanding of electronics, i.e. voltage, current and resistance and how to measure these with a multimeter or oscilloscope etc. and perhaps how open collector/open drain and tri-state outputs work.

Paul

Reply to
Paul Keinanen

Reply to
Mike Silva

Demon wrote: : I am student of computer science. i have good skill of programming in : C/C++. I want to start learning Microcontroller Programming. What is : the pre-requisite to get started and what kind tools (Software and : Hardware) i need to get a start.

I'm glad you didn't say "embedded", there would be no answer to the question since no two people can agree upon the difinition...

Regardless, the answer is : it depends.

Working with micros is WAY different from working with the "big iron" of the high level language world. A run time error results in your code going off into the weeds or doing something that you don't want. You don't have a console, you won't get any warnings and you'll have to use logic to figure out what went wrong. This means you need to know the hardware architecture of the device you are working with. The above means that you're going to have to learn some electronics and your're going to have to learn how a microcontroller works. THAT in turn means you're going to need to learn some assembly on something, it doesn't matter what since the point is to learn low LOW level programming, the syntax differs between the various types of devices but the concepts remain the same.

So in summary you will need to learn about: microcontroller/microprocessor internals (harvard vs. Von Neuman) electronics assembly and micro concepts like pipelining and instruction cycles

The good part is that no matter what you start with, the basic concepts will move from device to device with just minor changes in specifics.

have fun! DLC

--
============================================================================
* Dennis Clark         dlc@frii.com                www.techtoystoday.com   * 
* "Programming and Customizing the OOPic Microcontroller" Mcgraw-Hill 2003 *    
============================================================================
Reply to
Dennis Clark

Let us know how you get on. I have not got my hands on one yet, but I'm tempted to give one to my son. Appeal is the low price, and ALL docs and Tools come from one company. Caution is, it is new silicon, but for teaching that's not such an issue. [for work, I'll stick with 8051, until an app screams for more crunch-power :)]

-jg

Reply to
Jim Granville

That's an improvement in terms of pin count, but is more complex to code and consumes more execution time, too. Always remember and never forget that there are ALWAYS tradeoffs!

--
========================================================================
          Michael Kesti            |  "And like, one and one don't make
                                   |   two, one and one make one."
    mrkesti at hotmail dot com     |          - The Who, Bargain
Reply to
Michael R. Kesti

And I would recommend the TI MSP-430 USB key. You can carry it around in your pocket, comes with an debugging system, tool chain and a "sort of" 16-bit processor with 8 I/O pins. For $15 if you sign up for their contest or whatever it is.

As someone else mentioned about TI processors, you get all the documentation you could want (lots of sample code, processor docs, etc.) from TI, but it is TI documentation. You get to read it and re-read it....

--Charles

Reply to
Charles Marslett

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.