Programming AVR micro-controllers
This document is intended to collect tips on programming AVR micro-controllers, such as Atmel's ATMEGA328P.
Contents
Developing programs
Lady Ada writes a tutorial for learning to program AVR micro-controllers, including setting up a CLI-based environment with gcc. [1]
Uploading programs
There are many ways to upload programs onto chips. The key is getting the bytes of the compiled program onto the target chip, usually done by an intermediating micro-controller known as a programmer.
Parallel port ISP
One can connect in-circuit-serial-programming pins to a parallel port on the host computer, if available. [2]
Arduino as ISP
The Arduino community provides a simple way to use an existing Arduino to program a new AVR chip, at least to burn an Arduino bootloader onto it. An AVR on a breadboard, optionally with a crystal oscillator, is connected by four wires to an Arduino, which takes the program from the computer and programs it onto the AVR.[3]
Arduino forums user Lauszus wrote a lengthy tutorial on using ArduinoISP to program AVRs in general.[4]
Dedicated AVR programmers
- Tiny AVR Programmer
- Meant to program ATtiny45 and ATtiny85, 8-pin DIP controllers from Atmel. One of the cheapest programming platforms.
- https://www.sparkfun.com/products/11801
- Atmel branded ISP
- http://www.atmel.com/tools/MATUREAVRISP.aspx