Small logo of ETH main building ETH Zurich : Computer Science : Pervasive Computing : Distributed Systems : Research : BTnode Development Tools (Linux)

Home Research Publications Education Contact

AVR tools for Linux

!! Please find up-to-date information at the new BTnode site: www.btnode.ethz.ch !!

Downloads

This is a binary distribution of the AVR GNU tools for Linux.

Tool Version Download file
AVR Binutils (linker, assembler, ...) 2.13 avr-binutils-2.13.bin.tar.gz
AVR GCC (cross compiler) 3.3, CVS snapshot 20020905 avr-gcc-3.3-cvs-20020905.bin.tar.gz
libc (libc for AVR microcontrollers) CVS snapshot 20020904 avr-libc-cvs-20020904.bin.tar.gz (libraries, header files),
avr-libc-cvs-20020904.doc.tar.gz (docs)
UISP (programmer) 20020626, with this patch uisp-20020626_firmware1.10.bin.tar.gz

Installation instructions

1) Download the download files above. The patch are for your information only and need not be installed. The documentation for libc is optional but recommended reading!

2) The binaries MUST be installed to /usr/local/avr! They won't work if installed in any other directory. (If /usr/local/avr won't work for you, will have to compile the tools for yourself.) Create a new directrory /usr/local/avr and make it world-readable/writable/executable. To do so you will have to become root:

  su root [enter root-password]
  mkdir /usr/local/avr
  chmod a+rwx /usr/local/avr

3) Exit the root shell (a lot less chances of damaging your system). Change to /usr/local (do not change to /usr/local/avr!) and untar all four files (assuming you have downloaded the download files to /tmp; XXX is the version of the tool):

  cd /usr/local
  tar xvfz /tmp/avr-binutils-XXX.tgr.gz
  tar xvfz /tmp/avr-gcc-XXX.tar.gz
  tar xvfz /tmp/avr-libc-XXX.tar.gz
  tar xvfz /tmp/uisp-XXX.tar.gz

Everything should have untared into the /usr/local/avr directory. You should end up with is a directory subtree like this:

./avr
./avr/share
./avr/share/locale
./avr/share/locale/... [more here]
./avr/share/doc
./avr/share/doc/uisp-20020626
./avr/lib
./avr/lib/gcc-lib
./avr/lib/gcc-lib/avr
./avr/lib/gcc-lib/avr/3.2
./avr/lib/gcc-lib/avr/3.2/include
./avr/lib/gcc-lib/avr/3.2/avr3
./avr/lib/gcc-lib/avr/3.2/avr4
./avr/lib/gcc-lib/avr/3.2/avr5
./avr/include
./avr/bin
./avr/avr
./avr/avr/bin
./avr/avr/lib
./avr/avr/lib/ldscripts
./avr/avr/lib/avr3
./avr/avr/lib/avr4
./avr/avr/lib/avr5
./avr/avr/include
./avr/man
./avr/man/man1
./avr/man/man7
./avr/info

4) Now add /usr/local/avr/bin to your $PATH variable and add /usr/local/avr/man to your $MANPATH variable. How you do that depends on the shell you are using. For bash type:

  export PATH=/usr/local/avr/bin:$PATH
  export MANPATH=/usr/local/avr/man:$MANPATH

Done. You should be all set up.

Notes

The programmer UISP is patched for use with the firmware version 1.10 on the STK 500. If you have an older firmware version, you probably run into trouble. To upgrade your firmare version on the STK 500, download the latest AVR studio (4.05 is the latest revision at the time of writing this page) for Windows (only). AVR studio will not work with the older firmware and will update you STK 500 to the latest version.

Compile the tools for yourself

To get the latest and greatest versions directly from the CVS repository, follow the instructions on http://slacy.com/avr/compiler.html.

Note that you must follow this sequence:

  1. Bulid the binutils first, then install them.
  2. Make the installation directory of the binutils the first directory of your PATH environment variable. In the making of gcc, the binutils you have just compiled, are needed. If you don't have the instalation directory of avr-binutils in you PATH first, the regular binutils you have on your system for making linux binaries will be used instead the ones for avr. Then the make process will definitively fail!
  3. build gcc
  4. build libc
ETH ZurichDistributed Systems Group
Last updated August 14 2009 06:39:07 PM MET ok