jkrieger.de/ Atmel AVR-Mikrocontroller Programmieren

Atmel AVR-Mikrocontroller Programmieren

PonyProg: Serieller Programmer

Auf diesen Seiten möchte ich die Programmiergeräte, die ich für AVRs nutze kurz vorstellen und ihre Bedienung erläutern. Für erste Experimente hat sich PonyProg bewährt. Dabei handelt es sich um eine Software für Linux und Windows, die über einen einfachen Programmer (ein paar Teile) an der seriellen oder parallelen Schnittstelle eines PCs mit dem Controller verbunden wird. Hier die einfache Schalung. Der ATmega32 kann durch jeden beliebigen anderen AVR ersetzt werden.

Ponyporg-serial programmer

Diese Schaltung eignet sich auch gut, um sie in andere Designs zu integrieren. Man muss die Schaltung dann nur noch mit einem Kabel an einen PC anbinden und kann mit dem Programmieren loslegen. Neben der Software PonyProg kann auch das Programm avr-dude verwendet werden, das auch zu WinAVR gehört.

Um avr-dude zu benutzen muss man den Programmer angeben und an welchen Port er hängt. Das geht mit den folgenden Programmoptionen:

Der Parameter -P COM1 muss natürlich an den entsprechenden Port angepasst werden.





USBasp: Ein Programmer für den USB-Port

Auf der Seite http://www.fischl.de/usbasp/ wird eine Schaltung für einen AVR-Programmer für den USB-Port beschrieben. Er lässt sich für ein paar Euro aufbauen.

Man muss nur ein (auch als Binary) auf der Seite downloadbares Programm in einen ATmega8 oder ATmega48 programmieren. Dazu kann man z.B. den Programmer von oben nutzen. Ich habe eine Platine zum Programmer entwickelt:

Den fertigen Programmer verbindet man mit dem PC. Windows fragt danach nach einem USB-Treiber, der ebenfalls von obiger Internet-Seite heruntergeladen werden kann. Der Programmer kann in Verbindung mit der Software avr-dude verwendet werden, die auch Teil von WinAVR ist. Wenn man einen Controller zum ersten mal programmiert, ist er oft für einen internen RC-Oszillator programmiert. Dann kann es nötig sein, den SlowCSK Jumper zu setzen, um die Geschwindigkeit der Programmierung herunterzusetzen.

Um avr-dude zu benutzen muss man den Programmer angeben und an welchen Port er hängt. Das geht mit den folgenden Programmoptionen:

Die Option -c usbasp legt den Programmer fest und -P USB legt fest, dass der USB-Port genutzt werden soll.





Programmieren mit avr-dude

Mit avr-dude kann man alle Speicher des AVR-controllers programmieren und auch auslesen. Wie genau wird in der Dokumentation erklärt. Hier sollen nur einige ausgewählte Beispiele aufgeführt werden. Außerdem enthalten die Standard-Makefiles aus WinAVR eine Regel, um das Programm gleich im Flash des Controllers zu speichern (mit make program). Bei jedem Aufruf von avrdude muss ein Controller spezifiziert werden, der zu programmieren ist. Dies geht mit der Option -p m32 für einen ATmega32, mit -p 8535 für einen AT90S8535 usw. Eine Auflistung aller verfügbarer Controller findet sich in der avrdude-Dokumentation.



printable version of: http://www.jkrieger.de/electronics/avr/programming.html
last updated: 18.06.2008
Contents/Design: © 2000-2008 by Jan Krieger