Programming AVR micro-controllers

From ShawnReevesWiki
Revision as of 10:02, 19 March 2014 by Shawn (talk | contribs)
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 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

References