Programmieren mit AVRDUDE
von Ralf Beesner
Burkhard Kainkas Programmierhardware für das Lernpaket Microcontroller (und auch für den Atmega8 des Retro-Pingpong) ist von bestechender Einfachheit. Seine Programmiersoftware (LPMikroISP.exe bzw. ISPMega8.exe) bietet jedoch nur die Uploadfunktion und allenfalls Zugriff auf die Taktfrequenz des Mikrocontrollers. Das ist einerseits sinnvoll, um Neulinge vor verhängnisvollen Fehlern zu bewahren, schränkt aber fortgeschrittene Nutzer, die z.B. den Brownout-Detektor aktivieren wollen, ein. Hier nun ein Weg, wie man Burkhards Hardware mit einem mächtigen Programmiertool aus der Linux-Welt nutzen kann (auch unter Windows):
| Ganzen Artikel lesen... |  |
Ich bin Linux- Fan und benutze Windows nur, wenn es gar nicht anders geht. Wegen Bascom musste ich mal wieder Kompromisse machen, obwohl man Bascom mit dem Windows-Wrapper Wine auch unter Linux notdürftig betreiben kann (die Bascom-GUI ist allerdings sehr langsam; das Kommandozeilen- Tool bascomp.exe arbeitet mit Wine gut unter Linux, aber es fehlt dann ein komfortabler Editor mit Bascom-spezifischem Syntax-Highlighting). Auch LPmicroISP.exe läuft übrigens mit Wine unter Linux.
Unter Linux flasht man AVR- Microcontroller mit dem Kommandozeilentool avrdude (AVR Downloader/UploaDEr). Es bietet grässlich viele Kommandozeilenparameter, ist aber sehr universell, lässt sich auch für Windows kompilieren und es gibt einige grafische Tools, die einem den Umgang mit den kryptischen Parametern abnehmen. Weil es so universell ist, kann man in der Datei avrdude.conf eigene Programmierer definieren.
Ein weitverbreiteter Programmierer für die serielle Schnittstelle ist Ponyprog. Die Ponyprog- Hardware tut eigentlich dasselbe wie Burkhards LPMikroISP.exe bzw ISPMega8.exe, verwendet allerdings ein paar mehr "Angstbauteile", die den Chip schützen sollen - und sie hat eine leicht abweichende Schnittstellen-Belegung. In der Datei avrdude.conf findet man PonyProg unter dem Eintrag "ponyser":
programmer
id = "ponyser";
desc = "design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts";
type = serbb;
reset = ~3;
sck = 7;
mosi = 4;
miso = 8;
;
Man kann auf einem Steckbrett mit 3 Widerständen einen fliegenden Programmer für so ziemlich alle AVRs im DIL- Gehäuse bauen. Ich habe einen neuen Programmer hinzugefügt und ihn "burka" genannt ;-)
programmer
id = "burka";
desc = "lp microcontroller";
type = serbb;
reset = 7; # Hinweis: beim LP Microcontroller muss man den Reset trotzdem von Hand brücken
sck = 3;
mosi = 4;
miso = 8;
;
Der hinzugefügte Programmer "burka" taucht dann in den Auswahlmenüs der grafischen Bedienoberflächen auf. Mein Favorit ist das Java-Programm Burn-O-Mat. Es ist unter Linux und Windows nutzbar, erfordert aber eine installierte Java- Laufzeitumgebung und braucht beim Start ewig, weil es erstmal die Java- JRE laden muss, scheint mir aber recht gut zu funktionieren. Negativ aufgefallen war mir, dass beim Attiny13 zwar die Fusebits eingetragen werden können, aber der Reiter "Oscillator / Clock Options" ins Leere führt. Mutige können versuchen, die Datei AVR8-Burn-O_Mat_Config.xml zu editieren (ich hatte z.B. im Auswahlmenü den Mega644P vermisst und ihn dann durch Kopieren des Parametersatzes für den Mega644 selbst angelegt).

Achtung, avrdude ist sehr schnell; der Attiny ist in weniger als einer Sekunde befüllt. Wenn man den Attiny auf niedrige Taktrate flasht, ist er anschließend mit avrdude nicht mehr zugänglich ;-( . Avrdude hat zwar einen Baudraten- Parameter, aber der gilt wohl nicht, wenn man bitbanging über irgendwelche Hilfsleitungen der seriellen Schnittstelle macht.
Ein weiteres Tool nur für Windows ist AVRDude-GUI. Ich habe es nicht getestet, das Projekt scheint auch verwaist zu sein (die letzte Version ist 6 Jahre alt), aber ein Japaner scheint es weiterzuentwickeln.
Und dann habe ich noch AVRBurner gefunden, aber nicht getestet.
Die Links:
Entwickler- Site und Quellcode von avrdude: http://savannah.nongnu.org/projects/avrdude/
Kompilierte Windows- Version: http://yuki-lab.jp/hw/avrdude-GUI/avrdude-5.6-win32-bin.zip
GUIs:
Burn-O-Mat: http://www.brischalle.de/
AVRDude-GUI: http://sourceforge.net/projects/avrdude-gui/files/
bzw.: http://yuki-lab.jp/hw/avrdude-GUI/index.html
http://www.soft-land.de/index.php?page=avrburner

Lernen Sie die ganze Vielfalt vom Franzis Buch- und Softwareverlag kennen