Der Dragon von Atmel ist ein wirklich guter und mit um die 50€ sehr preiswerter Programmieradapter für Mikrocontroller. Wer mit diesem Adapter arbeitet, kann mit AVR-Studio problemlos entwickeln 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 schnuckeligen Paket. Das Problem ist nur, die libUSB-Win32 funktioniert 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 Filtertreiber installieren. 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 installiert. Macht man es so, verschwinden die Nebenwirkungen wie von selbst.
Damit nun nicht jeder das Paket herunterladen und seinen Treiber selbst schnitzen muss, hier der fertige Dragon Treiber für Windows Vista und 7 (nur 32 Bit).
Installation
Die Installation 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ätemanager auf das nicht erkannte USB-Gerät doppelklicken.
Nutzung
Nach der Installation dieses Pakets ist avrdude auch sofort einsetzbar. Die Kommandozeile lautet dann:
avrdude -c dragon_isp -P usb -p <Controllertyp> -U flash:w:<Hexdatei>
Bonustrack
Da ich vor dem Dragon einen USBProg mit der »AVR ISP MK II Clone« Firmware als Programmieradapter verwendet habe, habe ich auch dafür einen Treiber gebaut. Die Installation funktioniert genau wie beim Dragon-Treiber. Nur die Kommandozeile 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.