Programming AVR micro-controllers

From ShawnReevesWiki
Jump to navigationJump to search

This document is intended to collect tips on programming AVR micro-controllers, such as Atmel's ATMEGA328P.

Developing programs

Lady Ada provides a tutorial for learning to program AVR micro-controllers, including setting up a CLI-based environment with gcc. [1]

Instructables includes an instructable on programming ATtiny with the Arduino IDE. It involves adding core files to a 'hardware' folder inside the Arduino>Sketchbook folder. [2]

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. [3]

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.[4]

Arduino forums user Lauszus wrote a lengthy tutorial on using ArduinoISP to program AVRs in general.[5]

Dedicated AVR programmers

Tiny AVR Programmer
Meant to program ATtiny45 and ATtiny85, 8-pin DIP controllers from Atmel, but can program any AVR micro-controller since it has female headers to accept wires to any AVR. One of the cheapest programming platforms.[6]
https://www.sparkfun.com/products/11801
Atmel branded ISP
http://www.atmel.com/tools/MATUREAVRISP.aspx

See also

References