Toolchain
Install a few dependencies:
$ sudo apt-get install build-essential flex bison libxerces-c28
$ wget http://mirror.pnl.gov/ubuntu//pool/main/b/boost1.38/libboost-thread1.38.0_1.38.0-6ubuntu6_i386.deb
$ wget http://mirror.pnl.gov/ubuntu//pool/main/b/boost1.38/libboost-filesystem1.38.0_1.38.0-6ubuntu6_i386.deb
$ wget http://mirror.pnl.gov/ubuntu//pool/main/b/boost1.38/libboost-system1.38.0_1.38.0-6ubuntu6_i386.deb
$ sudo dpkg -i libboost-filesystem1.38.0_1.38.0-6ubuntu6_i386.deb libboost-system1.38.0_1.38.0-6ubuntu6_i386.deb libboost-thread1.38.0_1.38.0-6ubuntu6_i386.deb
The AV32 toolchain can be downloaded from the Atmel GNU Toolchain page. You have to fill out a registration form to be able to download. Make sure that you pick the right toolchain (32-bit or 64-bit) for your PC. Unpack the archive "sudo dpkg -i" all of the packages.
Reference Code
Atmel provides a large reference code library with support for most of their development boards and facilities to add your own board. The included projects can be built with the GNU toolchain for either standalone use or with FreeRTOS.
The AVR Freaks Wiki has a good tutorial on getting started.
DFU
The AVR32 comes with Atmel's USB bootloader and dfu-programmer handles the host side. You can install it on Ubuntu:
$ sudo apt-get install dfu-programmer
To program the application Flash, use the ihex (.hex) format output from the build system. You'll need to erase the Flash, write to it, and then start the application. For example,
$ dfu-programmer at32uc3b1256 erase
$ dfu-programmer at32uc3b1256 flash --suppress-bootloader-mem myapp.hex
$ dfu-programmer at32uc3b1256 start
If you need the latest version of dfu-programmer, grab the source and extract it, also install libusb-dev:
$ sudo apt-get install libusb-dev
$ cd dfu-programmer-0.5.4/
$ ./configure
$ make
$ sudo make install
JTAG
If you see errors about the Flash memory being locked, try erasing the AVR the first time you use it:
avr32program chiperase
To program a 256K device for example, you can:
avr32program program -finternal@0x80000000,256Kb -e -v myapp.elf
You can restore the DFU bootloader with JTAG as well.