Da mein neuer PC keine RS232-Schnittstelle mehr hat, habe ich mir zum Flashen von AVR-Mikrocontrollern einen USB-Programmer angeschafft.
Meine Wahl fiel auf den "AVR-Programmer PROG-S" von avr-programmer.com.
Zum Flashen benutze ich AVR-Dude + Burn-O-Mat. AVR-Dude ist ein Kommandozeilenprogramm zum Flashen von AVR-Mikrocontrollern, Burn-O-Mat ist eine grafische Oberfläche für AVR-Dude.
AVR-Dude ist in den Debian-Paketquellen enthalten. Man kann es einfach mit Apt installieren:
root@client:~/# apt-get install avrdude
Burn-O-Mat ist eine Java-Anwendung, die händisch installiert werden muss. Man kann es als Debian-Paket hier herunterladen. Anschließend lässt es sich mit dpkg installieren:
root@client:~/# dpkg -i Downloads/avr8-burn-o-mat-2.1.2-all.deb
Natürlich muss Java installiert sein. OpenJava ist ausreichend.
Um als Benutzer Zugriff auf den Programmer zu bekommen, muss eine Datei mit einer entsprechenden Regel erstellt werden:
root@client:~/# vi /etc/udev/rules.d/99_usbprog.rules
Die Datei füllt man mit folgendem Inhalt:
# Diese Datei nach "/etc/udev/rules.d/99_usbprog.rules" kopieren, # um als Benutzer Zugriff auf den Programmer "AVR-Programmer PROG-S" zu haben. # Benutzer muss in Gruppe "plugdev" sein. ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="2a98", GROUP="plugdev", MODE="0660"
Die IDs bekommt man mit dem Kommando
lsusb
Dieses listet alle USB-Geräte auf. Man muss sich nur den Programmer heraussuchen.
Damit die Regel verwendet wird, anschließend den Programmer abstecken, und wieder anschließen.
Es werden keine zusätzlichen Treiber benötigt!
Burn-O-Mat starten.
In Burn-O-Mat als Programmer "STK500v2" auswählen.
Als Schnittstelle "/dev/ttyACM0" manuell eingeben (ist nicht in der Liste enthalten).
Verwendeten Mikrocontroller auswählen. Dieser sollte jetzt ansprechbar sein .
Oder direkt mit avrdude:
user@client:~$ avrdude -c stk500v2 -P /dev/ttyACM0 -c m32 | | | Programmer ----------------- | | Schnittstelle ----------------------------- | Mikrocontroller (ATmega32) ----------------------------
Siehe auch wiki.ubuntuusers.de/AVR.