2011-05-10 04:06:33 +03:00
|
|
|
Requires a very recent toolchain, because ATmega32U2 is relatively new.
|
2011-02-18 14:53:48 +02:00
|
|
|
|
2011-05-10 04:06:33 +03:00
|
|
|
- Building:
|
2011-02-18 14:53:48 +02:00
|
|
|
|
2011-05-10 04:06:33 +03:00
|
|
|
make
|
|
|
|
|
|
|
|
- Uploading the firmware to a Ben (for flashing with the atusb-pgm cable):
|
|
|
|
|
|
|
|
make HOST=<hostname> upload
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
make HOST=ben upload
|
|
|
|
|
|
|
|
HOST defaults to "jlime".
|
|
|
|
|
|
|
|
- Flashing the boot loader:
|
|
|
|
|
|
|
|
Prerequisite: avrdude on the Ben.
|
|
|
|
|
|
|
|
Disconnect the atusb board from USB. Insert the atusb-pgm connector into
|
|
|
|
the Ben. Place the atusb-pgm adapter on the exposed contact pads of the
|
|
|
|
atusb board and push it down. Then run
|
|
|
|
|
|
|
|
make prog
|
|
|
|
|
2011-05-10 05:44:51 +03:00
|
|
|
This takes about 30 seconds. If the programming fails with an error
|
2011-05-10 04:06:33 +03:00
|
|
|
message like "Yikes! Invalid device signature.", verify that the
|
|
|
|
atusb-pgm board is properly connected and placed, then try again.
|
|
|
|
|
|
|
|
- Uploading the application:
|
|
|
|
|
|
|
|
Prerequisite: dfu-util installed on the PC.
|
|
|
|
|
|
|
|
Insert atusb into the PC, then run
|
|
|
|
|
|
|
|
make dfu
|
|
|
|
|
|
|
|
Note: since the boot loader resets the USB bus after timing out,
|
|
|
|
this operation can fail with a message like "No DFU capable USB device
|
|
|
|
found". Just retry, and it will eventually get through.
|
2011-02-18 14:53:48 +02:00
|
|
|
|
|
|
|
--------------------------
|
|
|
|
|
|
|
|
Making the toolchain:
|
|
|
|
|
|
|
|
# patches according to
|
|
|
|
# http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=789527
|
|
|
|
|
|
|
|
# some gcc prerequisites
|
|
|
|
|
|
|
|
apt-get remove avr-libc gcc-avr binutils-avr
|
|
|
|
apt-get install libmpfr-dev libmpc-dev
|
|
|
|
|
|
|
|
# binutils
|
|
|
|
|
|
|
|
wget http://ftp.gnu.org/gnu/binutils/binutils-2.21.tar.bz2
|
|
|
|
tar xfj binutils-2.21.tar.bz2
|
|
|
|
cd binutils-2.21
|
|
|
|
./configure --target=avr --disable-nls
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
|
|
|
|
# gcc
|
|
|
|
|
|
|
|
wget http://ftpmirror.gnu.org/gcc/gcc-4.5.2/gcc-4.5.2.tar.bz2
|
|
|
|
wget -O gcc_452_avr.patch http://gcc.gnu.org/bugzilla/attachment.cgi?id=23050
|
|
|
|
tar xfj gcc-4.5.2.tar.bz2
|
|
|
|
cd gcc-4.5.2
|
|
|
|
patch -p1 -s <../gcc_452_avr.patch
|
|
|
|
mkdir obj-avr
|
|
|
|
cd obj-avr
|
|
|
|
../configure --target=avr --enable-languages=c \
|
|
|
|
--disable-nls --disable-libssp --with-dwarf2
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
|
2011-03-09 06:36:18 +02:00
|
|
|
wget http://download.savannah.gnu.org/releases/avr-libc/avr-libc-1.7.1.tar.bz2
|
|
|
|
tar xfj avr-libc-1.7.1.tar.bz2
|
|
|
|
cd avr-libc-1.7.1
|
2011-02-18 14:53:48 +02:00
|
|
|
./bootstrap # the automake at the end takes a while
|
|
|
|
./configure --build=`./config.guess` --host=avr
|
|
|
|
make
|
|
|
|
make install
|