27.03.2015

Atmel Praxistipps die Dritte

Preisbewusste oder geizige Bastler kaufen sich ungerne teure Originalprogrammieradapter für die Käferchen. Der Guloshop oder auch der Chinamann auf ebay bietet USBASP-kompatible Programmiergeräte für die Atmel Prozessorreihe an. Ein Nachteil, genau dieser gerne verwendete Programmieradapter wird im Atmel Studio 6 nicht unterstützt. Wenn man googelt, findet man zwar einige Tricks und Kniffe, wie man ihn doch einbindet. Aber leider muss man das für jeden Baustein und jede Fuseeinstellung neu bauen, ist somit oft kompliziert, fehlerträchtig und unpraktisch.

Mit einem Frontend für das Programm AVRDude, namentlich AVRDudess kann man sich die Arbeit etwas erleichtern. Dieses braucht man nicht einmal in das Atmel-Studio einbinden. Sondern man öffnet es einfach parallel zum Atmel Studio.


Kurzerklärung:
AVRDude in der aktuellsten Version installieren, AVRDUDESS ebenfalls. Den Pfad für AVRDUDE dort ggfls. anpassen. Im Atmel Studio das gewünschte Programm kompilieren. IN AVRDUDESS den Flashpfad finden. Baustein brennen, fertig. Modifikationen im Programm sind kein Problem, einfach neu kompilieren, zu AVRDUDESS wechseln und noch einmal brennen.

Nun die ausführliche Version mit Bildern:

1. Gewünsches C-Programm im Atmel Studio öffnen
2. AVRDUDESS öffnen
3. Den USBASP-Programmierer auswählen


4. Den USBASP-Adapter mit dem zu programmierenden Baustein und dem USB-Port des PCs verbinden und nachdem Windows das erlösende "PalimPalim" ausgegeben hat in AVRDUDESS den Button "Detect" drücken. Nun müsste hoffentlich der Baustein erkannt worden sein. Wenn nicht, unten nach der Fehlermeldung sehen und den Fehler beseitigen.

5. Nun die Fuses einlesen. Ggfls. passend modifizieren. Dabei aber aufpassen und die Fuse settings beachten, sonst hat man den Baustein "verfused" und bekommt ihn nur mit Tricks wieder zurück ins Leben.

 So sieht es aus, wenn die Fuses korrekt eingelesen wurden.

6. Nun kompilieren wir das C-Programm

7. Jetzt suchen wir mit dem Dateiexplorer, welcher sich automatisch auf Knopfdruck öffnet, die vom Compiler / Linker erzeugte HEX-Datei und drücken Öffnen.

8. Datei in den Atmel-Käfer übertragen. Direkt danach sollte der Baustein die gewünschte Funktion ausführen. Wenn nicht oder fehlerhaft ist wohl noch etwas in der Software zu optimieren. Kein Problem, man wechselt wieder in das Atmel Studio Fenster, wühlt im C-Code herum, findet den Fehler oder optimiert irgendetwas. Danach kompilieren und direkt wieder zurück ins andere Fenster und Go klicken. Das macht man so lange bis alles zufriedenstellend funktioniert. Man braucht nicht jedes Mal die Datei neu über den Dateiexplorer suchen! Schon diese Ersparnis ist gegenüber allen anderen Tricks von Vorteil. Zumal man sich auch nicht um die Prozessortypischen Eigenarten kümmern muss. Durch "Detect" wird jeder Baustein erkannt und im Atmel Studio wird er auch ausgewählt. So kann man ohne viel Aufhebens mal gerade einen anderen Baustein nehmen, solange die IO-Ports usw. passen.

Noch ein paar Hinweise für Neulinge:
Für Testaufbauten nutzt man am besten Steckboards sowie konfektionierte Kabel in den verschiedensten Längen und Farben.
 So sieht ein Prototyp aus, welcher direkt mit dem USBASP verbunden ist.

Und so der angepasste USBASP-Adapter billigster Bauart. Ich habe einfach die Steckboardkabel in den Flachstecker gesteckt und die anderen Enden an die passenden Pins des Atmel-Chips.
Hier nochmal die Anschlüsse und Kabelfarben wenn man auf die Buchsenleiste des Flachbandkabels sieht. Die Farben korrespondieren mit der Beschreibung von Guloshop. Für einige Bausteine habe ich mir eine kleine Liste gemacht und einlaminiert, damit ich es immer parat habe. So kann man sich selbst einen Baukasten zusammenstellen um mal eben etwas zusammenzustecken und zu programmieren. Der Spaß und Lerneffekt ist größer als bei Fertigbausätzen oder Arduino. Wobei dieses System natürlich auch für Arduino-Hardware funktioniert.