USBprog

Ich habe mir von Benjamin Sauter den USBprog geholt. Die Fuses auslesen usw. hat soweit funktioniert, aber beim Programmieren brach das Programm avrdude immer bei 93% ab. Immer an der gleichen Stelle. Die Lösung liegt darin, eine modifizierte Firmware zu laden, da in einigen Fällen das letzte Paket nicht korrekt über den USB Port übertragen wird. Das tritt  auf, wenn das letzte Paket genau 64Byte groß ist, so wie es bei mir der Fall war. Das ist genau die Größe des Bulkendpunktes von USBprog. Damit wird das letzte Paket nicht bestätigt und avrdude bricht ab. Nach dem Update funktioniert auch der Programmer unter Windows und Linux.

Unter Windows 7 muss, aufgrund von nicht signierten Treibern, der neuste libusb-Treiber eingespielt werden, sowie der Testmodus aktiviert werden. Hierzu sind im Internet diverse Dokumente verfügbar. Eventuell ist auch der Programmer über die Option -B und -i zu drosseln, am besten um ein Vielfaches des Taktes

avrdude.exe -c avrispmkII -p m8535 -P usb -v -B4.0
avrdude -p atmega8535 -P usb -c avrispmkII -B8.0 -i 8 -U flash:w:main.hex

Die beiden Beispiele zeigen, das Auslesen der allgemeinen Daten mit USBprog (avrispmk II Emulation) sowie das beschreiben des Atmegas 8535 mit einem Programm, das in main.hex abgelegt ist. Als IDE eignet sich WinAVR, wobei die libusb entsprechend ausgetauscht werden sollte. Das war jedenfalls bei meiner Version so. Viel Spass beim Coden und Flashen.

Firmware: avrispmk2_20090201gb

Sourcecode: avrispmk2_20090201gb_src

Forumartikel: http://forum.embedded-projects.net/viewtopic.php?id=638

Leave a comment

Your comment