recommendation of microcontroller please

hi i am new here. i would like to learn embedded programming on a very wel established microcontoller. I know that PICs are becoming more popula but can someone tell me of a controller that is popular in industry fo several years (8 or 16 bit) and also has products available that i can us to learn such as demo kits. motorola 68XX? Atmel? 8051?

many thanks john

Reply to
johnstokes30
Loading thread data ...

First I'd recommend the TI MSP430:

formatting link

They're very easy to program and understand (in C or assembly) and have a nice set of peripherals. They're especially good for low-power, battery operated things.

You can get a small devlopment board/system for as little as $20, and some pretty powerful eval boards for not much more than that:

formatting link

If you want to solder some extra stuff on, the proto boards towards the bottom of the above page work nicely.

The MSP430 port of GCC works quite well:

formatting link

The tools from Rowley are highly regarded and very reasonably priced (personal licenses are only £75):

formatting link

My second recommendation would probably be The AVR Atmega family:

formatting link

Eval/proto boards seem to be harder to find, but there are some available:

formatting link

Like the MSP430, the gcc port works well (here's a windows package):

formatting link

Rowley also supports the AVR:

formatting link
A lot of people use IAR tools for both these platforms but they're way down on my list because of:

1) Price. 2) Dongle and license-server hassles. 3) No Linux support.

If you can stomach those issues, IAR tools are solid and their support seems good (IIRC, there are crippled and/or time-limited eval versions of IAR tools available for both platforms).

Both the AVR and the MSP are popular for both hobby and commercial use.

IMO, the 8-bit PIC is a very nasty little architecture and is difficult to work with. It's not a part I recommend to somebody just learning embedded programming. There are C compilers for it, but it's not well suited for C-language projects.

I've heard that some of the newer PIC arcitetures don't suck as badly, but that isn't saying much.

--
Grant Edwards                   grante             Yow! I'm having an
                                  at               EMOTIONAL OUTBURST!!  But,
                               visi.com            uh, WHY is there a WAFFLE
                                                   in my PAJAMA POCKET??
Reply to
Grant Edwards

Oops. That was suppplosed to be this link

formatting link

--
Grant Edwards                   grante             Yow! Let's send the
                                  at               Russians defective
                               visi.com            lifestyle accessories!
Reply to
Grant Edwards

"johnstokes30" skrev i meddelandet news:iYednf73dqkqdd_anZ2dnUVZ snipped-for-privacy@giganews.com...

With the AVR, you need (want) the following tools.

1) gcc C compiler - or IAR. Some like Imagecraft. 2) AVR Studio 3) STK500 development board 4) JTAG-ICE Mk II.

If you want a real cheap environment, then you can try out the AVR Dragon which is a low cost, low featur combination of STK500 + JTAGICE Mk II but only works for chips with 32 kB flash or less.

You can get IAR, Imagecraft etc compilers which are limited to about 4 kB code for free.

formatting link
will be your friend.

--
Best Regards,
Ulf Samuelsson
This is intended to be my personal opinion which may,
or may not be shared by my employer Atmel Nordic AB
Reply to
Ulf Samuelsson

I agree with Grant that the msp430 is terrific but I'd recommend the AVR family for beginners.

Although I've used 68hc12 for years I have some concerns about this for new people. The 68hc08 is not friendly to newbies.

PICs are easy to use with BASIC Stamps, but there are no decent free C compilers for the 16F devices and their performance with C compiled code is not very good.

I'm still working on my tools document but you can see my family selection document here:

formatting link

You may need help selecting tools because it's more compilated that it should be.

Eric

Reply to
Eric

formatting link

I love your comments about MSP430 marketing's use of the "RISC" and "emulated instruction" terms. Everytime I attend something where there's a TI FAE, he begins by apolgizing those terms in order to pre-empt the inevitable questions/complaints.

TI's brain-dead mar-com stuff also frequenty talks about having a "single-cycle instruction set" or something equally bogus (some of the instructions take up to 5 clock cycles).

--
Grant Edwards                   grante             Yow! LBJ, LBJ, how many
                                  at               JOKES did you tell today??!
                               visi.com
Reply to
Grant Edwards

If you're a linux person: avrdude.

--
Grant Edwards
grante@visi.com
Reply to
Grant Edwards

Can you clarify "only works for chips with 32 kB flash or less" ?

- so that means the JTAG-ICE Mk II therein, is not going to also work with an AVR32, for example ? Then what - you buy another JTAG-ICE Mk II ? How do you then tell them appart ?

'Low feature' means what ? - just that 32K ceiling, or do other things not work either ?

Seems a little strange having a ceiling on an ICE. ST don't mention any on their STM32 Ice ?

-jg

Reply to
Jim Granville

yea but everyone's guilty of that one (AVR too)

Reply to
steve

I would suggest a 32 bit ARM, for $20 you can be up and running with a C complier and eval board in a few hours (Analog devices in my case)

Reply to
steve

Here you go:

formatting link

Search embedded.com for 'Building Bare-Metal ARM Systems with GNU' you will see '10' part tutorial there.

regards, ali

Reply to
Ali

The register-to-register instructions are single-cycle, so I suppose they could claim that's what they meant, but when you see it in context, it seems to be implying that all instructions in the instruction set are single-cycle (which is pretty much true for processors like the AVR).

:)

--
Grant Edwards                   grante             Yow!  I'm RELIGIOUS!! I
                                  at               love a man with a
                               visi.com            HAIRPIECE!! Equip me with
                                                   MISSILES!!
Reply to
Grant Edwards

The Debug functionality only works for devices of 32kB or less. And then only some of them as well. It supports the ATmega32 for example, but not the ATmega162. One can still program devices such as the ATMega128 though.

If you buy the cheap STM32 dev kit (One with games and circleos), then there is a debug limit as well. Something like 32K in RAM mode only. At least it is better than the 16K limit (RAM only) for their STR9 version. 16K is basically useless for ARM if you link with new-lib.

Regards Anton Erasmus

Reply to
Anton Erasmus

Getting interrupts going, especially nested interrupts, is not easy on an ARM for a newbie. I would also recommend AVR for a beginner. Lots of resources, one learn how to use gcc, which provides one with knowledge to get gcc going for ARM, Cortex and a host of other micros which has gcc available.

Regards Anton Erasmus

Reply to
Anton Erasmus

well

use

hi thanks for alot of good advice. I have looked further and decided upon the avr micrcontroller to start off.

there is a lot of demand in the UK for ARM engineers. Is it possible to obtain a development board for this brand? I have been on their website and again as a beginner it is ver confusing? Oh yes i have very good c programming skills so this is not a problem for me. thanks john

Reply to
johnstokes30

I'm a little confused. You say you have decided to learn the AVR line of processors and then you ask about ARM tools. Was one a typo? Or maybe both and you really meant to say you are going with the MSP430 line of parts... ;^)

If you are picking ARM parts, you then have the issue of which ARM and which brand. The cores on all of the are similar, but the different variants have differences in instruction sets and they are all integrated differently with the peripherals... not to mention the difference in peripherals.

Most popular for smaller projects is the ARM7 at this time. The Cortex M3 flavor of the ARM MCU is new, but specifically designed for embedded work. I expect that over the next year or so, the CM3 will be more widely used and will become the dominant flavor of ARM at the lower end. I would also suggest the parts from Luminary Micro. They have some very nice, low cost development kits with several flavors of evaluation tools which are very useful for learning the ropes.

The ARM9 is a faster processor and will run Linux if you give it enough memory. There are many makers of these, but the eval boards are a bit pricier than the low end.

Good luck!

Reply to
rickman

[I'm a professional programmer, but a hobbyist when it comes to electronics.]

When I started out with microcontrollers, I started with the HC08 and I actually found the HC08 to be easy to learn, but it's not well supported under Linux, so I had to write a programmer for it.

Note that if you use Windows, there's a free Codewarrior package to get you started, so for a Windows using newcomer the HC08 may be an option.

I am now switching to the AVR, because of a lack of capability within the HC08 for my more advanced requirements. [But it's annoying that, unlike the HC08, you can't get a AVR with USB device in PDIP. (And yes, I know that I've mentioned this before. :-))]

Simon.

--
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980's technology to a 21st century world
Reply to
Simon Clubley

The AVR Dragon is a JTAG emulator combined with an application area. It is just a PCB not mounted in plastic. You probably want to solder a socket of some kind in the application area. The part downloads the code into a SRAM which is limited to 32 kB.

I think you have misunderstood something Look up AVR Dragon on the Atmel website.

I dont think you want to use the AVR Dragon as an emulator for the AVR32.

The emulation feature is only limited to 32kB, the low feature comment is really compared to what you get on an STK500.

--
Best Regards,
Ulf Samuelsson
This is intended to be my personal opinion which may,
or may not be shared by my employer Atmel Nordic AB
Reply to
Ulf Samuelsson

Now I am more confused. Code-Sram ? The FLASH AVR's cannot execute code from SRAM ?

- or is that some temp storage ? Why does it need SRAM ?

It DOES use the real silicon for emulation, right ?

Yes, I did - I took "is a low cost, low feature combination of STK500 + JTAGICE Mk II" rather too literally.

I thought you meant it included a JTAGICE Mk II, but I can see when looking at a photo, it is quite a different animal. Rather than follow others lead with USB-Stik debug, where the Stick is generally usefull for wider debug, Atmel have done this a little differently.

Better/smarter would have been a compact, low cost USB link that could be used on ALL Atmel products, and AVR daughter cards, for programming, debug, and production.

Web info is currently very sparse.

-jg

Reply to
Jim Granville

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.