David Watson

AVR Toolchain

I've been doing a lot of development lately with the AVR XMEGA CPUs. In the past, I've used CrossPack for AVR development on OSX. Unfortunately, the latest version of CrossPack didn't include support for the chips I was using. It turns out, it's relatively easy to hand compile the toolchain from Atmel's patches.

Since I've got this working, CrossPack has released a new version and released their build script.


Homebrew – This is a package manager for OS X. To install, follow the directions on the main page:

$ ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"

Homebrew versions – This is basically a side repository for older revisions of software. I use it to get a copy of autoconf 2.64. This isn't strictly necessary, but avr-gcc and avr-binutils will complain if we use a newer version. Other projects patch the error message from the configure script to avoid this.

$ brew tap homebrew/versions

Homebrew avr tap. This is my homebrew scripts required to compile binutils, gcc, and libc for avr.

$ brew tap neonquill/homebrew-avr


Once the prerequisites are installed, the toolchain can be installed by brewing the avr-libc package:

$ brew install avr-libc

This will create versions of avr-gcc and associated tools in /usr/local/bin.