X-Git-Url: https://jxself.org/git/?p=linux-libre-firmware.git;a=blobdiff_plain;f=atusb%2FREADME;fp=atusb%2FREADME;h=99ceb2238b06b249a076484cf156dcccb1cc095b;hp=0000000000000000000000000000000000000000;hb=dd4bc9ff49b9a7075e579fdd62fd930d27a9a7df;hpb=c164bf7f87f9081fee7e1a186dd7a87a9a020b9e diff --git a/atusb/README b/atusb/README new file mode 100644 index 0000000..99ceb22 --- /dev/null +++ b/atusb/README @@ -0,0 +1,94 @@ +Requires a very recent toolchain, because ATmega32U2 is relatively new. + +- Building: + + make + +- Uploading the firmware to a Ben (for flashing with the atusb-pgm cable): + + make HOST= 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 + + This takes about 30 seconds. If the programming fails with an error + 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. + + +HULUSB notes: +------------- +To prepare and flash the firmware on a HULUSB device some additional steps are +needed; + +avr-objcopy -O ihex -R .signature -R .fuse -R .eeprom hulusb.elf hulusb.hex +dfu-programmer at90usb1287 flash hulusb.hex +dfu-programmer at90usb1287 reset + +-------------------------- + +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