Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
elektronik:usbasp [2013/07/04 14:21] – [STK200-Dongle von Kanda] volkerpelektronik:usbasp [2022/03/20 16:46] (aktuell) – usbasp treiber volkerp
Zeile 2: Zeile 2:
  
 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 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
 +
 +Jetzt benutze ich einen USBASP-Adapter (s. unten).
 +
 +https://www.fischl.de/usbasp/
 +
 +firmware that gives the USBasp full compatibility with ATmega2560: https://github.com/PeterVH/usbasp/tree/v1.06
 +
  
 ===== STK200-Dongle von Kanda ===== ===== STK200-Dongle von Kanda =====
Zeile 10: Zeile 17:
  
 Achtung: Das Kabel ist KEIN 1:1-Kabel, sondern geht über Kreuz. Es ist nur für STK200-Dongle von Kanda gedacht. Achtung: Das Kabel ist KEIN 1:1-Kabel, sondern geht über Kreuz. Es ist nur für STK200-Dongle von Kanda gedacht.
 +
 +Zum Programmieren muss die Schaltung mit dem zu programmierenden Atmel-Controller stromführend sein.
 +
 +Aufgrund des 74HC244 kann der Controller auch im Betrieb mit dem Programmieradapter verbunden bleiben
 +
 +{{:elektronik:atprogad.png?300|}}
  
 **Software** **Software**
Zeile 17: Zeile 30:
 Ins AVR-Studio integriert sich 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. Ins AVR-Studio integriert sich 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!+AVRISP muss unter Windows XP/7 mit Admin-Rechten gestartet werden, ansonsten gibt es keinen Zugriff auf den LPT-Port. Außerdem funktioniert dieses Programm nicht unter 64-Bit-Windows!
  
 Eine weitere Software, die den STK200-Programmieradapter untertützt, ist **AVRDUDE**. Download Eine weitere Software, die den STK200-Programmieradapter untertützt, ist **AVRDUDE**. Download
Zeile 28: Zeile 41:
 ausgewählt. ausgewählt.
  
 +AVRDUDE s.a. http://www.mikrocontroller.net/articles/AVRDUDE
  
 ===== USBASP ===== ===== USBASP =====
  
-USBASP ist ein Opensource-Projekt von http://www.fischl.de/usbasp/.+USBASP ist ein bekannter einfacher USB-AVR-Programmer.  Es wurde als Open-Source-Projekt im Jahr 2005 von Thomas Fischl http://www.fischl.de/usbasp/ veröffentlicht und gewann schnell an Popularität. Bei ebay bekommt man für wenige Euro einen fertig aufgebauten USBASP-Stick
  
 {{:elektronik:usbasp.jpg?300|}} {{:elektronik:usbasp.jpg?300|}}
  
-Bei ebay gibt es für wenig Euro USBASP-kompatible Programmierer. Ich hatte mir eine Version namens "USBASP V2.0 Lcsoft Studio" gekauft. Bei Protostack findet man ein komplettes Userguide mit allen benötigten Unterlagen zu diesem Programmer (AC-PG-USBASP-UG-V2.0).pdf, s.u.).+Ich hatte mir eine Version namens "USBASP V2.0 Lcsoft Studio" gekauft. Bei Protostack findet man ein komplettes Userguide mit allen benötigten Unterlagen zu diesem Programmer (AC-PG-USBASP-UG-V2.0).pdf, s.u.).
  
 **Achtung**: beim beiliegenden Kabel ist rot NICHT Pin1 zugeordnet. Ich habe das für mich korrigiert (Pfostenbuchsen abmontieren und gedreht wieder aufbringen, so dass Pin1 - das kleine Dreieck -  am roten Kabel anliegt). Außerdem habe ich zusätzlich eine 6-polige Pfostenbuchse mit aufs Flachbandkabel gebracht. Damit können 6-Pin-ISP-Geräte verbunden werden, wie z.B. Arduino oder Euzebox. **Achtung**: beim beiliegenden Kabel ist rot NICHT Pin1 zugeordnet. Ich habe das für mich korrigiert (Pfostenbuchsen abmontieren und gedreht wieder aufbringen, so dass Pin1 - das kleine Dreieck -  am roten Kabel anliegt). Außerdem habe ich zusätzlich eine 6-polige Pfostenbuchse mit aufs Flachbandkabel gebracht. Damit können 6-Pin-ISP-Geräte verbunden werden, wie z.B. Arduino oder Euzebox.
Zeile 67: Zeile 81:
 User Guide : [[http://www.protostack.com/download/Users%20Guide%20(AC-PG-USBASP-UG-V2.0).pdf]]\\ 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]] Treiber : [[http://www.protostack.com/download/USBasp-win-driver-x86-x64-ia64-v1.2.5.zip]]
 +https://protostack.com.au/download/USBasp-win-driver-x86-x64-v3.0.7.zip
  
 Der USB-Treiber muss zuerst installiert werden. Im User Guide ist dies ausführlich beschrieben und bebildert. 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. Mit libusb_0.1.12.1\testlibusb-win.exe kann geprüft werden, ob der Treiber richtig installiert ist und der USBASP erkannt wird.
 +
 +Wenn als Vendor nicht "www.fischl.de" angezeigt wird, sondern z.B. "Van Ooijen Technische Informatica", und es Probleme gibt, sollte man mit dem Zadig-Treiber-Installer nicht libusb-win32, sondern libusbk nehmen. Damit funktioniert es!
 +
 +win10: https://electronics.stackexchange.com/questions/416714/avrdude-does-not-recognize-usbasp-device
  
  
Zeile 75: Zeile 94:
  
  
-Ich habe die beiden Jumper JP2 und JP3 nachgerüstet.+Ich habe die beiden Jumper JP2 und JP3 nachgerüstet. (Achtung: Im Original sind die Jumper anders durchnumeriert!) 
 + 
 +Mit **JP1** kann die Zielhardware über den USB Port mit Strom versorgt werden (das wird nicht empfohlen, funktioniert aber problemlos). Entweder 5V oder 3.3V, Standard: Offen 
 + 
 +**JP2** wird nur zum Programmieren des Atmel ATmega8 auf dem USB Atmel SPI Programmieradapter benötigt. Standard: Offen 
 + 
 +**JP3** wählt die Geschwindigkeit zum Programmieren der Zielhardware aus. Offen (Standard): maximale Geschwindigkeit / Geschlossen: geringe Geschwindigkeit.
  
-**JP1** wird nur zum Programmieren des Atmel ATmega8 auf dem USB Atmel SPI Programmieradapter 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 (das wird nicht empfohlen, funktioniert aber problemlos). Entweder 5V oder 3.3V, Standard: Offen 
  
 ==== Firmware-Update ==== ==== Firmware-Update ====
Zeile 87: Zeile 109:
 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. 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! +zum Update der Firmware braucht man einen weiteren ISP-Programmierer (z.B. den STK200-Dongle)
-Dann JP2 (+JP1) stecken, und flashen, z.B. mit Makefile aus usbasp.2011-05-28.tar.gz+Dann JP1 (neue Firmware) und JP2 (langsam) stecken, und ProgrammierenZum korrekten Programmieren gibt es in usbasp.2011-05-28.tar.gz geeignete makefiles.
-in bin\firmware\Makefile den Programmieradapter einstellen, bei mir STK200.+
  
-Programmieren der Firmware des USBASP mittels STK200-Dongle von Kanda:+Programmieren der Firmware des USBASP mittels STK200-Dongle von Kanda. Der USBASP braucht dabei Strom, er muss also an einem USB-Port oder ext. USB-Netzteil angeschlossen sein. Außerdem muss JP3 auf +5V gesteckt werden!
  
     avrdude -c stk200 -p atmega8 -B 200 -U hfuse:w:0xC9:m -U lfuse:w:0xEF:m     avrdude -c stk200 -p atmega8 -B 200 -U hfuse:w:0xC9:m -U lfuse:w:0xEF:m
Zeile 103: Zeile 124:
 Anfängerfehler: target doesn't answer. 1 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.+Hier musste JP2 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.
  
 ==== Software ==== ==== Software ====
Zeile 111: Zeile 132:
  
 grafische Oberfläche f. AVRDUDE z.B. **Khazama AVR Programmieradapter** http://www.khazama.com/project/Programmieradapter/ grafische Oberfläche f. AVRDUDE z.B. **Khazama AVR Programmieradapter** http://www.khazama.com/project/Programmieradapter/
 +
 +{{:elektronik:khazama.png?|}}
 +
 +
 +**•eXtreme Burner - AVR** von http://extremeelectronics.co.in/avr-tutorials/gui-software-for-usbasp-based-usb-avr-programmers/
  
 Auch **myAVR_ProgTool** von http://shop.myavr.de/index.php?sp=download.sp.php&suchwort=dl112 unterstützt alle AVRDUDE-Programmieradapter. Auch **myAVR_ProgTool** von http://shop.myavr.de/index.php?sp=download.sp.php&suchwort=dl112 unterstützt alle AVRDUDE-Programmieradapter.
  
-Beispiel+Beispiel **AVRDUDE** Kommandozeilentool
   
 <code> <code>
Zeile 140: Zeile 166:
  
 ===== Ändern von USBASP auf USB AVR Lab ===== ===== Ändern von USBASP auf USB AVR Lab =====
 +
 +**Alternative Firmware für USBASP**
 +
 +Für jeden Benutzer von USBASP kann ich nur empfehlen, eine Blick auf ein alternatives Firmware-Set zu werfen: **USB AVR Lab** [[http://www.ullihome.de/wiki/USBAVRLab/index]]. Diese Software erhöht die Leistungsfähigkeit des USBASP enorm durch einfachstes Wechseln der Firmware bei gleicher Hardware.  Es ist eine Art "Software Defined"-Werkzeug (daher der Name), das als folgendes arbeiten kann: 
 +
 +  * AVR Programmierer, entweder mit original USBASP-Firmware, AVRISPmkII, stk500v2 oder JTAGICEmkII Emulation 
 +  * JTAG/OpenOCD Schnittstelle (leider: noch alpha)
 +  * generische USB-Digital-I/O-Schnittstelle 
 +  * digitaler Protokollanalysator, unterstützt SPI, UART und I2C-Protokolle
 +  * und (eindrucksvoll): Low-Speed-Digital-Oszilloskop (230 kSps). 
 +
 +
 +
 +
 +
  
 s. http://www.loetlabor.org/USBasp, Abschnitt AVR ISP mit AVRStudio  s. http://www.loetlabor.org/USBasp, Abschnitt AVR ISP mit AVRStudio 
Zeile 145: Zeile 186:
 zu Sourcen lies http://www.mikrocontroller.net/topic/234004 zu Sourcen lies http://www.mikrocontroller.net/topic/234004
  
 +https://github.com/cutec-chris/usbavrlab-tool
  
  • elektronik/usbasp.1372947714.txt.gz
  • Zuletzt geändert: 2013/07/04 14:21
  • von volkerp