Der DFU Programmer ist ein OpenSource Tool für die Bootloader von einigen 8051 Mikrocontrollern, von AVR Mikrocontrollern mit USB und für die AT32UC3A und AT32UC3B von Atmel.
Für den Download von Sourceforge benötigt man das Paket subversion
sudo apt-get install subversion
svn co https://dfu-programmer.svn.sourceforge.net/svnroot/dfu-programmer dfu-programmer cd dfu-programmer/trunk/dfu-programmer/ ./bootstrap.sh ./configure make sudo make install
Auf Multicore Systemen kann man z.B. make -j3 angeben, um den Compiliervorgang zu beschleunigen.
Damit die AVR USB Controller erkannt werden muss folgende Datei editiert werden
gksu gedit /etc/udev/rules.d/80-usbprog.rules
Für den AT90USB162 ist folgende Zeile einzufügen
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ffa", GROUP="plugdev", MODE="0660"
Damit der Controller erkannt wird muss udev neu gestartet werden
sudo /etc/init.d/udev restart
Bevor man programmieren kann muss man einen Reset ausführen, während der Pin /HWB (Hardware Boot) des Controllers auf Masse liegt (Low Aktiv). Anschließend muss man diese drei Befehle nacheinander ausführen.
dfu-programmer $MCU erase dfu-programmer $MCU flash *Hexdatei* dfu-programmer $MCU start
Für $MCU ist der entsprechende Controller einzutragen, z.B. at90usb1287
Diskussion
Wichtig ist hier vielleicht noch zu nennen, dass die Pakete make automake autoconf und das Programm aclocal existieren müssen. (wo letzteres her kommt weiß ich gerade nicht genau)