Puff the magic dragon
Puff the magic dragon

Der Dragon von Atmel ist ein wirklich guter und mit um die 50€ sehr preis­werter Program­mier­ad­apter für Mikro­con­troller. Wer mit diesem Adapter arbeitet, kann mit AVR-Studio problemlos entwi­ckeln und debuggen. Wer jedoch — wie ich — das AVR-Studio für zu klotzig und altbacken hält, kann leicht auf avrdude umsteigen und den Controller aus dem Makefile heraus flashen. Nutzt man unter Windows das Paket WinAVR, so bekommt man den GCC als Compiler, make und avrdude in einem schnu­cke­ligen Paket. Das Problem ist nur, die libUSB-Win32 funktio­niert unter Windows Vista und 7 nicht und legt teilweise sogar alle anderen USB-Geräte lahm. Da aber avrdude diese Bibliothek zum Zugriff auf den Dragon benötigt, steht man erst einmal im Wald und schaut recht dumm.

libUSB-Win32 mal anders

Man muss die libUSB-Win32 jedoch nicht unbedingt als Filter­treiber instal­lieren. Das Paket hat eine Option um einen »richtigen« USB-Treiber zu erstellen. Dieser lässt sich dann wie ein libUSB-Win32-Gerät ansprechen, wird aber wie ein Treiber nur für das eine Gerät instal­liert. Macht man es so, verschwinden die Neben­wir­kungen wie von selbst.

Damit nun nicht jeder das Paket herun­ter­laden und seinen Treiber selbst schnitzen muss, hier der fertige Dragon Treiber für Windows Vista und 7 (nur 32 Bit).

Instal­lation

Die Instal­lation geschieht wie bei jedem anderen Treiber. Dragon neu einstecken und wenn Windows nach den Treibern fragt den Ordner mit dem Inhalt des ZIP-Archivs angeben. Sollte Windows 7 nicht nach dem Treiber fragen, einfach im Gerätema­nager auf das nicht erkannte USB-Gerät doppel­klicken.

Nutzung

Nach der Instal­lation dieses Pakets ist avrdude auch sofort einsetzbar. Die Komman­do­zeile lautet dann:

avrdude -c dragon_isp -P usb -p <Controllertyp> -U flash:w:<Hexdatei>

Bonus­track

Da ich vor dem Dragon einen USBProg mit der »AVR ISP MK II Clone« Firmware als Program­mier­ad­apter verwendet habe, habe ich auch dafür einen Treiber gebaut. Die Instal­lation funktio­niert genau wie beim Dragon-Treiber. Nur die Komman­do­zeile für avrdude muss wie folgt geändert werden:

avrdude -c avrisp2 -P usb -p <Controllertyp> -U flash:w:<Hexdatei>

Download

AVR ISP MK II Clone Driver (109)
AVR Dragon Driver (44)

Lizenz

Da die libUSB-Win32 unter der GPL steht (und mein Beitrag sich auf das Drücken der richtigen Buttons beschränkt hat) ist natürlich auch das alles hier GPL. Den Source gibt es auf der Seite der libUSB-Win32.