EmbeddedRelated.com
Forums

Atmel

Started by Peter Keller September 23, 2008
Hello,

I've done some PIC development before, with the PIC16F690, PIC18F4321,
etc. and I'm thinking about trying out the Atmel processors since I've
heard they have a flat memory space (no banks), a software stack, and
other things I am interested in. What would be a good entry level atmel
microprocessor to experiment with (maybe having features like USART,
SPI, USB, external data/program memory) and what kind of programmer
is available? This would all be for hobby stuff, so I'm looking for
the equivalent to the PICKit 2 system and the mplabide stuff. If the
development and programmer software worked reliably under linux, I'd be
very happy as well.

I know gcc has an avr backend and somewhere there is available an
avr-libc.  While I'll probably write in assembly for a while to learn the
processor, I'd eventually move over to C if I feel I know the instruction
set well enough.

Any advice on where to get started? Can I get free samples of atmel processors
as easily as the PIC processors?

Thanks.

-pete
"Peter Keller" <psilord@merlin.cs.wisc.edu> wrote in message 
news:48d87934$0$9897$80265adb@spool.cs.wisc.edu...
> Hello, > > I've done some PIC development before, with the PIC16F690, PIC18F4321, > etc. and I'm thinking about trying out the Atmel processors since I've > heard they have a flat memory space (no banks), a software stack, and > other things I am interested in. What would be a good entry level atmel > microprocessor to experiment with (maybe having features like USART, > SPI, USB, external data/program memory) and what kind of programmer > is available? This would all be for hobby stuff, so I'm looking for > the equivalent to the PICKit 2 system and the mplabide stuff. If the > development and programmer software worked reliably under linux, I'd be > very happy as well. > > I know gcc has an avr backend and somewhere there is available an > avr-libc. While I'll probably write in assembly for a while to learn the > processor, I'd eventually move over to C if I feel I know the instruction > set well enough. > > Any advice on where to get started? Can I get free samples of atmel > processors > as easily as the PIC processors?
I'd get a member of the ATmega series. The Tiny series is ... tiny. ATmega168 would do. STK500 was best eval board, maybe new ones. Go to www.avrfreaks.net for best info around Get the free WINAVR package which consists of an easy install version of GCC.
"Peter Keller" <psilord@merlin.cs.wisc.edu> wrote in message 
news:48d87934$0$9897$80265adb@spool.cs.wisc.edu...
> Hello, > > I've done some PIC development before, with the PIC16F690, PIC18F4321, > etc. and I'm thinking about trying out the Atmel processors since I've > heard they have a flat memory space (no banks), a software stack, and > other things I am interested in. What would be a good entry level atmel > microprocessor to experiment with (maybe having features like USART, > SPI, USB, external data/program memory) and what kind of programmer > is available? This would all be for hobby stuff, so I'm looking for > the equivalent to the PICKit 2 system and the mplabide stuff. If the > development and programmer software worked reliably under linux, I'd be > very happy as well. > > I know gcc has an avr backend and somewhere there is available an > avr-libc. While I'll probably write in assembly for a while to learn the > processor, I'd eventually move over to C if I feel I know the instruction > set well enough. > > Any advice on where to get started? Can I get free samples of atmel > processors > as easily as the PIC processors?
Well you don't need any hardware at all to start with as the free AVRStudio has a good simulator. When you come to get hardware the STK500 is a good, low cost board. All the software tools can be free. See http://www.freertos.org/a00098.html for a little more info. -- Regards, Richard. + http://www.FreeRTOS.org & http://www.FreeRTOS.org/shop 17 official architecture ports, more than 6000 downloads per month. + http://www.SafeRTOS.com Certified by T&#4294967295;V as meeting the requirements for safety related systems.
On 2008-09-23, FreeRTOS.org <noemail@given.com> wrote:

>> Any advice on where to get started? Can I get free samples of >> atmel processors as easily as the PIC processors? > > Well you don't need any hardware at all to start with as the > free AVRStudio has a good simulator. > > When you come to get hardware the STK500 is a good, low cost > board.
There are also plenty of third party development boards that are even cheaper: http://www.sparkfun.com/commerce/categories.php?c=10
> All the software tools can be free. > > See http://www.freertos.org/a00098.html for a little more info.
-- Grant Edwards grante Yow! if it GLISTENS, at gobble it!! visi.com
FreeRTOS.org <noemail@given.com> wrote:
> Well you don't need any hardware at all to start with as the free AVRStudio > has a good simulator.
It is good to know there is a good simulator, but I'll probably start with the blinking LED on a real piece of hardware to get the development pipeline down.
> When you come to get hardware the STK500 is a good, low cost board. All the > software tools can be free.
How about something like the AVRISP mkII In-System Programmer? I'm looking for a USB programmer solution and that seems to be able to program many of the ATmega* series. Does it work under linux as well? I'm not so much in the need for an IDE. I'm perfectly happy with vim, make, gcc, and some command line tools for programming the device. Though, I did find that there is no DIP package for any Atmel MCU that speaks USB. Am I mistaken? Thank you. -pete
On 2008-09-23, Peter Keller <psilord@merlin.cs.wisc.edu> wrote:
> FreeRTOS.org <noemail@given.com> wrote: >> Well you don't need any hardware at all to start with as the free AVRStudio >> has a good simulator. > > It is good to know there is a good simulator, but I'll probably start > with the blinking LED on a real piece of hardware to get the development > pipeline down. > >> When you come to get hardware the STK500 is a good, low cost board. All the >> software tools can be free. > > How about something like the AVRISP mkII In-System Programmer? I'm looking > for a USB programmer solution and that seems to be able to program many > of the ATmega* series. Does it work under linux as well?
Yes. As does the USB JTAGICE-mkII. If you've got a "real" parallel port, you can make a programming cable for the price of a DB25 connector. Check out the avrdude web site for info on programming parts under Linux: http://www.bsdhome.com/avrdude/ http://savannah.nongnu.org/projects/avrdude/
> I'm not so much in the need for an IDE. I'm perfectly happy > with vim, make, gcc, and some command line tools for > programming the device.
Then avrdude is the command line tool for programming the device.
> Though, I did find that there is no DIP package for any Atmel > MCU that speaks USB. Am I mistaken?
Dunno. I wouldn't be surprised. Most vendors stopped selling DIP packages ages ago. -- Grant Edwards grante Yow! I don't know WHY I at said that ... I think it visi.com came from the FILLINGS in my rear molars ...
"Peter Keller" <psilord@merlin.cs.wisc.edu> wrote in message 
news:48d95d79$0$9897$80265adb@spool.cs.wisc.edu...
> FreeRTOS.org <noemail@given.com> wrote: >> Well you don't need any hardware at all to start with as the free >> AVRStudio >> has a good simulator. > > It is good to know there is a good simulator, but I'll probably start > with the blinking LED on a real piece of hardware to get the development > pipeline down. > >> When you come to get hardware the STK500 is a good, low cost board. All >> the >> software tools can be free. > > How about something like the AVRISP mkII In-System Programmer? I'm looking > for a USB programmer solution and that seems to be able to program many > of the ATmega* series. Does it work under linux as well? I'm not so > much in the need for an IDE. I'm perfectly happy with vim, make, gcc, > and some command line tools for programming the device. > > Though, I did find that there is no DIP package for any Atmel MCU that > speaks USB. Am I mistaken?
The STK500 eval board has a built in ISP programmer. You can single step in WinAVR too, though not a true emulator like mkII.
Peter Keller <psilord@merlin.cs.wisc.edu> wrote:

>I've done some PIC development before, with the PIC16F690, PIC18F4321, >etc. and I'm thinking about trying out the Atmel processors since I've >heard they have a flat memory space (no banks), a software stack, and >other things I am interested in.
16bit PICs have those things, familiar peripherals and tools. Downside is a slightly crippled C compiler for free. --
On 23 Sep 2008 05:05:56 GMT, Peter Keller <psilord@merlin.cs.wisc.edu>
wrote:

>Hello, > >I've done some PIC development before, with the PIC16F690, PIC18F4321, >etc. and I'm thinking about trying out the Atmel processors since I've >heard they have a flat memory space (no banks), a software stack, and >other things I am interested in. What would be a good entry level atmel >microprocessor to experiment with (maybe having features like USART, >SPI, USB, external data/program memory) and what kind of programmer >is available? This would all be for hobby stuff, so I'm looking for >the equivalent to the PICKit 2 system and the mplabide stuff. If the >development and programmer software worked reliably under linux, I'd be >very happy as well. > >I know gcc has an avr backend and somewhere there is available an >avr-libc. While I'll probably write in assembly for a while to learn the >processor, I'd eventually move over to C if I feel I know the instruction >set well enough. > >Any advice on where to get started? Can I get free samples of atmel processors >as easily as the PIC processors?
Sparkfun has a bunch of AVR dev boards (mostly as resellers of boards from Olimex). Follow the "development tools" link. Imagecraft carries several of the other popular AVR boards, including their own starter kit + compiler. WRT compilers, the WinAVR port of gcc is linked from AVR Freaks. In the commercial realm I'm fond of Imagecraft (I also have their ARM and MSP430 compilers) but there are other options. Look at the tools section at AVR Freaks for links. You'll probably also want an in-system programmer (not entirely necessary, as some of the dev boards will use serial bootloaders, but recommended). The genuine Atmel USB ISP is pretty inexpensive (see Digikey and many other places). It wouldn't hurt to get the STK500 (which can also be used as a dev platform) which can perform in-system programming (PC needs a serial interface) or it's younger brother STK600 (USB interface). Both can do parallel programming of the devices, which can recover a chip if you've accidentally set the fuses in such a way as to prevent the normal serial programming. One thing to watch out for while you're getting started. Many AVRs have on-board RC oscillators. For those that do, most (all?) come from the factory with their fuses set to use the RC oscillator and NOT an external clock/crystal. If you don't realize this and attempt to program them with too high a programming CLK (> 1/8 the chip's master clock) it may appear that the chip is dead. It isn't; just slow down the ISP a little bit. http://www.sparkfun.com/commerce/categories.php http://www.imagecraft.com/ http://www.olimex.com/ http://www.avrfreaks.net/ http://www.digikey.com/ -- Rich Webb Norfolk, VA
In article <48d95d79$0$9897$80265adb@spool.cs.wisc.edu>, Peter Keller <psilord@merlin.cs.wisc.edu> wrote:


> Though, I did find that there is no DIP package for any Atmel MCU that > speaks USB. Am I mistaken?
You can bit-bang (low speed, 1.5 Mbps) USB in software on chips that are available in DIP http://www.obdev.at/products/avrusb/index.html But you probably don't want to. Learning to solder flat-packs is probably easier than doing anything major with software USB, although you will need a circuit board instead of wire-wrap or whatever your favorite construction technique is. For $30 you can get a small AVR board with USB, buttons and blinkers http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=AT90USBKEY-ND -- David M. Palmer dmpalmer@email.com (formerly @clark.net, @ematic.com)