Prev: SC16IS752 anyone?
Next: PIC vs AVR vs ARM
From: Dennis Clark on 29 Sep 2006 12:15 Demon <demon.lhr.pk(a)gmail.com> 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(a)frii.com www.techtoystoday.com * * "Programming and Customizing the OOPic Microcontroller" Mcgraw-Hill 2003 * ============================================================================
From: Ulf Samuelsson on 29 Sep 2006 12:07 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. The best thing to start with is to find some that can show you what to do. If you want to *learn* programming, you actually do not need any H/W. For the AVR, you can download AVR Studio - Free of charge IAR Embedded workbench (Free of charge - code limited to 4 kB) AVR Studio can simulate most peripherals and you have a nice I/O view so you can look what is happening inside the chip. If you like to work more on hardware, then you can actually simulate a limited set of external stuff, like LCD control. It is possuible with the LCD plug in. to "draw" the LCD as a bitmap using "Paint" or similar, generating a file for each LCD segment. The simulator will then lit/unlit the segment on the PC screen when the simulated AVR accesses the internal LCD controller. If you want to, you could extend this by getting the AVR Studio SDK and write some code to simulate buttons or LEDs etc. A cool plugin would connect the simulated UART to the PC UART. Once you are ready for H/W, then the AVR Dragon emulator is about $40 and the STK500 Development board is about $79. Best Regards, Ulf Samuelsson ulf(a)atmel.com GSM: +46 (706) 22 44 57 Tel: +46 (8) 441 54 22 Fax: +46 (8) 441 54 29 Mail: Box 2033 174 02 Sundbyberg Visit: Kavalleriv?gen 24 174 58 Sundbyberg' Sweden -- Best Regards, Ulf Samuelsson ulf(a)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
From: Jim Granville on 29 Sep 2006 17:55 Mike Silva wrote: > Jim Granville wrote: > >>...Or if 8 bits in a 3mm package scares you a little, this alternative >>http://www.zilog.com/docs/zneo/FL0121.pdf >> >>gives you 16 x 32 bit register CPU. Large PCB+Compiler ToolChain and In >>System Debug, is <$50. > > > Jim, your posts on this board have talked me into getting one myself. > Never hurts to play around with another device family. 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
From: Isaac Bosompem on 29 Sep 2006 19:55 Meindert Sprang wrote: > "dosadih" <dosadih(a)gmail.com> wrote in message > news:1159515834.500176.320520(a)i42g2000cwa.googlegroups.com... > > > > 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. > > > > Start with Microchip PIC microcontroller. It's a good trainning. > > No, that is true Masochism! Unless he wants to learn how a processor should > not be designed.... > > Meindert haha, the PIC was my starting MCU. But before then I had already done low level programming on the PC and other platforms so I wasn't too scared lol. But I truly found the chip a bit awkward to work with on the assembly level. I did some pretty fun projects! I actually did some work with the Z80 first. Here is a pic of my system (Please excuse the shoddy construction): http://i28.photobucket.com/albums/c239/x86asm/IMG00044.jpg Of course no one does this anymore since I took up a whole damn board with the design. It was fun to build and still works today! It's firmware is quite basic, made a simple command line program to communicate with the firmware to load programs on it. I even added an output port to play around with external electronics. The black chip on the left hand side of the board with the crystal below it is the UART (CP82C52), I also use it to supply the clock to the Z80 CPU (IC w/ gold square, authentic chip by Zilog, manufactured in 1978). The crystal oscillator above the CPU for some reason did not like me and did not want to drive a good, clean clock. I have forgotten what the problem was. It was a good experience to build it. (I have the firmware source, plan to extend it sometime soon). Also as a side note, I debugged the hardware on this thing with a simple digital multimeter. Neat eh? Also this was my first serious PIC project (w/ a 16x1 LCD). A friend of mine told me to put J-Unit on it so I was like why not. Sadly I don't think I still have the ASM source for it: http://i28.photobucket.com/albums/c239/x86asm/IMG00091.jpg (Once again please excuse the shoddy soldering). This project was fairly easy, slapped in a 10k pot to control the contrast, used the 4-bit mode to communicate with the 44780 and wrote the asm code quite quickly. It was a snap on the PIC (see the PIC is a suitable fit for something!). I also later extended it to use the PWM output on the PIC to control the contrast through software. I am no professional, but I am currently playing with the ARM7 (from Atmel) and TI MSP430 (See these guys have rubbed off onto me). I would like to diversify and get experience for all chips. I'm just saying (to the OP, not ya Meindert) that you should see what each MCU manufacturer has to offer and learn about their offerings. That way you can decide for your own projects which chip is best. And also do a project you enjoy that way a setback won't stop you from continuing, cause you will encoutner setbacks. -Isaac
From: Grant Edwards on 9 Oct 2006 18:12
On 2006-09-29, Fred Bartoli <fred._canxxxel_this_bartoli(a)RemoveThatAlso_free.fr_AndThisToo> wrote: > Mark McDougall a ?crit : ><snipped> >> 4. Masochistic tendencies. Debugging real-time multi-threaded apps using >> a single LED and a CRO is not unheard of! ;) >> > > Morse code? Yes, it's been done. -- Grant Edwards grante Yow! I'm having at a tax-deductible visi.com experience! I need an energy crunch!! |