1
0
mirror of git://projects.qi-hardware.com/ben-wpan.git synced 2024-12-23 14:45:31 +02:00
ben-wpan/atusb/fw
Werner Almesberger d233c04c86 atusb/fw: implemented USB bus reset (to host) and polling of reset from host
- usb/usb.h, usb/atu2.c (usb_reset): reset the USB bus by detaching and
  re-attaching the device
- boot.c (main): force a USB reset before running the payload
- usb/atu2.c (usb_poll): test for USB reset from the host (in progress)
- usb/dfu.c (my_reset, dfu_init): register user USB reset handler
2011-03-11 17:56:41 -03:00
..
an moved atusb/fw3/ to atusb/fw/ 2011-02-22 00:24:07 -03:00
include atusb/fw2/: assigned hardware revision code point; some cleanup 2011-02-10 07:24:37 -03:00
usb atusb/fw: implemented USB bus reset (to host) and polling of reset from host 2011-03-11 17:56:41 -03:00
atusb.c usb/fw/atusb.c (main): removed 100 ms LED flash 2011-03-08 19:03:25 -03:00
board.c moved atusb/fw3/ to atusb/fw/ 2011-02-22 00:24:07 -03:00
board.h atusb/fw/: flash a boot loader instead of the application (in progress) 2011-03-09 00:41:32 -03:00
boot.c atusb/fw: implemented USB bus reset (to host) and polling of reset from host 2011-03-11 17:56:41 -03:00
descr.c atusb/fw/: moved USB IDs from descr.c to board.h 2011-03-08 19:01:54 -03:00
ep0.c moved atusb/fw3/ to atusb/fw/ 2011-02-22 00:24:07 -03:00
flash.c atusb/fw: introduced function flash_end_write to properly finish flashing 2011-03-11 17:56:41 -03:00
Makefile atusb/fw/Makefile: added auxiliary Flash programming target (for development) 2011-03-11 16:24:49 -03:00
README atusb/fw/README: avr-libc 1.17.1 has been released 2011-03-09 01:36:18 -03:00
spi.c moved atusb/fw3/ to atusb/fw/ 2011-02-22 00:24:07 -03:00
spi.h moved atusb/fw3/ to atusb/fw/ 2011-02-22 00:24:07 -03:00
version.h moved atusb/fw3/ to atusb/fw/ 2011-02-22 00:24:07 -03:00

Requires very recent toolchain, because ATmega32U2 is relatively new.

Building:

make
make upload prog

--------------------------

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

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
./bootstrap	# the automake at the end takes a while
./configure --build=`./config.guess` --host=avr
make
make install