Info about the AVR controllers

My class did quite a lot of assembly-programming on the AT90S8515 two years ago in highschool. I've heard those (AVR-family) are good for robot
construction. Our setup was that chip (microprossesor/microcontroller?) mounted on a controller called STK-500 (I Think) from Atmel Corporation. We programmed our assembly in a Windows IDE, which ran the preprocessor and loaded the processed code onto the controller. The board (STK-500) the chip was mounted on had a lot of switches and I/O ports, and that's where we connected our eletronic circuits. Now I have some questions for you:
Is it the AT90... chip itself that is a microcontroller? Or is that just the microprocessor, and that the STK-500 board is required to call it a controller? It's been two years, and I haven't followed up with an education within electronics, so some terms are kind of forgotten. What (dis)advatages does running on the STK-500 board have, compared to run it stand-alone? Prize/size is all I can think of.
Is it possible to program it without the windows-IDE? Windows is something I don't have, nor intend to plaque my computers with. So if I can just program this in my text-editor (or programming IDE) of choice from Linux, I would be a much happier boy :)
Does it have to be programmed in assembly, or is it possible to tell GCC (the compiler I use) to output for AVR-family, and then do the programming in C/C++ ?
Lastly, it would be very nice if some of you could recommend me a starter-kit. I've only used the at90s8515. At least that's the name I remember from my head. But it's been two years, so it might be wrong :-P And for all I know, there might be better alternatives in the AVR-family. Also, should I get only the chip, or a complete board like the STK-500? If so, recommendations to a complete setup like this would be nice.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Helge yvind Hoel wrote:

Your class did assembly-programming in highschool? Was it some kind of magnet school or something? I wish my highschool had taught such things.

I don't know anything about that IDE, but if it requires the windows IDE, surely you know you can run in with a windows-emulating program, such as WINE :)
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Tue, Jan 13, 2004 at 10:34:19PM +0100, Helge ?yvind Hoel wrote:

The chip is the microcontroller. You probably remember the STK500 had many sockets. These are to accomodate several of Atmel's AVR processors using just the 1 development board. The STK500 is a development board. It is designed to familiarize oneself with using the AVRs and has switches and LEDs on-board for you to experiment with. The STK500 also makes a nice programmer - it can program an AVR processor residing in any of the on-board sockets. It also has a 10-pin programming header that can be used to program any AVR board that also has a matching 10-pin header.

Absolutely! The GNU toolset (gcc, gdb, etc) is quite popular among AVR enthusiasts. The AVR port is very nice, produces good code, and provides everything you'd expect using Unix for development. A good place to get started to see what's available for non-Windows hosted development is http://www.openavr.org /.
I personally use FreeBSD Unix for all my AVR development work. I have everything I need - compiler, debugger, programmer, libraries.

Yes. You can easily build gcc to produce a cross compiler that will target the AVR processor. Alternatively, you can download a precompiled package and install it instead of building it yourself. Also, the avr-libc project produces a nice C library for use on the AVRs.

It's hard to beat the STK500 as a first AVR board. But lots of folks just buy the chips and build their own programmer, which is what I did when I got started. The programmer can be as simple as a cable with a few series resistors connected to your parallel port. You then use software like AVRDUDE (I am the author of that) to download the compiler output to the chip, and that's all there is to it. Most of the ATmega and ATtiny parts don't need any external parts to run, just power and ground. You can add an external crystal if you want it to go faster than 8 MHz - but the internal oscillators generally can be set to run from 1 to 8 MHz.
But the nice thing about starting out with the STK500 is that you start with a known good programmer, as opposed to building your own. Especially if you are new to this, you'll want to limit the number of things that can go wrong. Also, you can do a lot of experimentation with the STK500, using it's port headers for attaching external circuits, interfacing to it's switches and leds, etc, without ever needing to use a breadboard or solder.
-Brian
--
Brian Dean, snipped-for-privacy@bdmicro.com
BDMICRO - Maker of the MAVRIC ATmega128 Dev Board
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
The absolute minimum to get started: Here's where I started with Atmel microcontrollers 8 months ago: http://www.kuro5hin.org/story/2003/4/15/124459/007 Actually that article complicates things: I don't think you don't need a clock for the programmer, just when you run your program. And you can get even simpler: some of the AVRs don't need an external clock at all as they have one built in. Just connect the power and ground pins to a battery and the microncontroller is already booted and running your program. It couldn't be easier!
You can getting building circuits and downloading C programs compiled with gcc for around $20, maybe less. (Assuming you have a PC with parallel port of course!) -- Torque
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.