Right now I'm working w/ the Atmel ATMega168, and am a newbie to this hardware, but I know C and plenty of object oriented languages, so the learning curve isn't too steep. Before I worked with the BASIC Stamp, and, although a great microcontroller, I wanted something a litte bit lower level, to get my hands dirty with :-)
Since some(maybe all) Atmel processors have support for embedded linux, and that's my longterm goal is an embedded linux box from scratch, I see it best to develop for the AVR on a linux distro. Enough intro, time for work!
The specs of the Evo are below:
- Factory Compaq Evo N610c, with the exception of a replaced hard drive that went bad, and 1 gig of RAM instead of 256.
- Ubuntu 9.04, patched and fully up to date
- Java 6
- Eclipse IDE
- AVR Plugin for Eclipse
- I also installed VNC for remoting into the machine and developing from anywhere
- SSH, a must have for any linux distro.
There wasn't much up-to-date info for getting starting with developing for AVR on linux, so call this my giving back.
- The Ubuntu install was standard, nothing fancy was done on this part.
- (After an hour) Okay, time for apps!
Time for updates, safety first!
After that, lucky me that java, ssh, and vnc can be installed from the shell. The packages are
While writing this, I discovered that there is a version of Eclipse in the repository also. Not sure if it's the latest, but since I already have it installed then it won't matter, try it for yourself! Next, I downloaded Eclipse for Linux as a tarball, and unpacked it into /usr with the rest of the apps, and created a shortcut on my dock for it. Avr-gcc is what's needed next, and this can be downloaded from with apt-get also, package name gcc-avr. You'll also want these two as well, avr-libc, and binutils-avr. I also installed the packages that were recommended by the package manager. Next, the AVR Plugin for Eclipse. Documentation can be found in that link and this one. That also installed w/out a hitch.
If you open Eclipse and start a new project, there should be an option for an 'AVR Cross Target Application', using the 'AVR-GCC Toolchain' toolchain.Now, time for some developing!