Dies ist eine alte Version des Dokuments!


USBASP

Zur In-System-Programmierung (ISP) der AVR Mikrocontroller hatte ich früher den STK200-Dongle von Kanda am Parallelport genutzt. http://www.mikrocontroller.net/articles/AVR_In_System_Programmieradapter

Dieser AVR-Progammieradapter (Bj 1998) wird am Parallelport angeschlossen. Er enthält lediglich einen 74HC244-Treiber-IC, die Programmierlogik übernimmt vollständig der PC. s.a. http://www.mikrocontroller.net/articles/STK200.

Achtung: Das Kabel ist KEIN 1:1-Kabel, sondern geht über Kreuz. Es ist nur für STK200-Dongle von Kanda gedacht.

Software

Der STK200-Progammieradapter wird von vielen Tools unterstützt.

Ins AVR-Studio integriert ist die Software AVRISP von Kanda. Früher nur käuflich erhältlich, gibt es die aktuellste Version V5 nun kostenlos bei Kanda → http://www.kanda.com/avr-isp-software.html.

AVRISP muss unter Windows XP/7 mit Admin-Rechten gestartet werden, ansonsten gibt es keinen Zugriff auf den LPT-Port. Außerdem funktioniert sie nicht unter 64-Bit-Windows!

Eine weitere Software, die den STK200-Programmieradapter untertützt, ist AVRDUDE. Download http://download.savannah.gnu.org/releases/avrdude/. Aktuell f. Windows ist derzeit avrdude-5.11-Patch7610-win32.zip, diese Version enthält auch den GIVEIO-Treiber. Dieser Treiber muss für den STK200-Progammieradapter installiert werden. Das erledigt ein Aufruf von giveio\install_giveio.bat.

Bei AVRDUDE wird der STK200-Progammieradapter mit

avrdude -c stk200

ausgewählt.

USBASP ist ein Opensource-Projekt von http://www.fischl.de/usbasp/.

Bei ebay gibt es für wenig Euro USBASP-kompatible Programmierer. Ich hatte mir eine Version namens „USBASP V2.0 Lcsoft Studio“ gekauft.

Achtung: beim beiliegenden Kabel ist rot NICHT Pin1 zugeordnet. Ich habe das für mich korrigiert.

s. http://www.protostack.com/accessories/usbasp-avr-Programmieradapter

aktuelle Downloads

s. http://www.protostack.com/index.php?main_page=library

User Guide : http://www.protostack.com/download/Users%20Guide%20(AC-PG-USBASP-UG-V2.0).pdf Treiber : http://www.protostack.com/download/USBasp-win-driver-x86-x64-ia64-v1.2.5.zip

Der USB-Treiber muss zuerst installiert werden. Im User Guide ist dies ausführlich beschrieben und bebildert. Mit libusb_0.1.12.1\testlibusb-win.exe kann geprüft werden, ob der Treiber richtig installiert ist und der USBASP erkannt wird.

Ich habe die beiden Jumper JP2 und JP3 nachgerüstet.

JP1 wird nur zum Programmieren des Atmel ATmega8 auf dem USB Atmel SPI Programmieradapters benötigt. Standard: Offen

JP2 wählt die Geschwindigkeit zum Programmieren der Zielhardware aus. Offen (Standard): maximale Geschwindigkeit / Geschlossen: geringe Geschwindigkeit.

Mit JP3 kann die Zielhardware über den USB Port mit Strom versorgt werden (nicht empfohlen). Entweder 5V oder 3.3V, Standard: Offen

Khazama(AVRDUDE) gab original immer die Warnung „Error Setting USBASP ISP Clock.“ aus. Abhilfe schafft ein Flashen des USBASP mit der aktuellsten Software und passenden Fuses.

zum Update der Firmware braucht man einen weiteren ISP-Programmierer! Dann JP2 (+JP1) stecken, und flashen, z.B. mit Makefile aus usbasp.2011-05-28.tar.gz. in bin\firmware\Makefile den Programmieradapter einstellen, bei mir STK200.

Programmieren der Firmware des USBASP mittels STK200-Dongle von Kanda:

  avrdude -c stk200 -p atmega8 -B 200 -U hfuse:w:0xC9:m -U lfuse:w:0xEF:m
  avrdude -c stk200 -p atmega8 -B 1 -U flash:w:usbasp.atmega8.2011-05-28.hex

s.a. http://www.ulrichradig.de/home/index.php/avr/usb-avr-prog

Anfängerfehler: target doesn't answer. 1

Hier musste JP3 gesteckt werden (bzw. in der Software ein niedrigerer Takt ausgewählt werden), damit überhaupt eine Kommunikation mit dem tiny2313 auf dem Pollin-Spiel zustande kam. Der tiny2313 nutzt in dieser Applikation den internen Taktgenerator, das ist für die schnelle Kommunktion vis USBASP einfach zu langsam gewesen.

AVRDUDE unterstützt natürlich auch USBASP. Download unter http://download.savannah.gnu.org/releases/avrdude/. Aktuell f. Windows ist derzeit avrdude-5.11-Patch7610-win32.zip.

grafische Oberfläche f. AVRDUDE z.B. Khazama AVR Programmieradapter http://www.khazama.com/project/Programmieradapter/

Auch myAVR_ProgTool von http://shop.myavr.de/index.php?sp=download.sp.php&suchwort=dl112 unterstützt alle AVRDUDE-Programmieradapter.

Beispiel

;------------------------------------------------------------------------------
; Fehler target doesn't answer. 1
; Lösung: Takt verringern, entweder mit JP3 oder per Software mit -B20
;------------------------------------------------------------------------------

d:\temp\avr>avrdude.exe -c usbasp -p attiny2313
avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.
avrdude.exe done.  Thank you.

d:\temp\avr>avrdude.exe -c usbasp -p attiny2313 -B20
avrdude.exe: set SCK frequency to 32000 Hz
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.03s
avrdude.exe: Device signature = 0x1e910a
avrdude.exe: safemode: Fuses OK
avrdude.exe done.  Thank you.

s. http://www.loetlabor.org/USBasp, Abschnitt AVR ISP mit AVRStudio

zu Sourcen lies http://www.mikrocontroller.net/topic/234004

  • elektronik/usbasp.1360486172.txt.gz
  • Zuletzt geändert: 2013/02/10 08:49
  • von volkerp