Hauptseite

USB_ISP_Driver  Firmware und Windows-Driver für Selbstbau USB-ISP
USB_taugliche_AVRDude_Version
Bedienungs_Programm_AVRDude
USB_Version_von_AVRDude
USB_taugliche_AVRDude_Version  weitere Quellen



30.1.2013
update
10.2016
01.2021


Diese Seite war mehr ein Merkzettel und ist schon sehr alt.
Am Anfang ist jedoch die Makefile Einstellung für den ARDUINO UNO

#Recherche_um_den_USBasp_mit_veralteter_Firmware_doch_zum_laufen_zu_bringen

WICHTIG: http://www.mikrocontroller.net/articles/AVR_Fuses
Ich arbeite bis heute immer noch mit WINAVR, nicht mit AVR-Studio.
Warum? Weil er geht, einfach ist, kostenlos und alles kann was ich brauche.

Darin intgriert ist eben AVRDUDE.

Benötigte  Dateien:
Aktuelle avrdude.conf, avrdude.exe und libusb0.dll.
System wide configuration file is
"C:\WinAVR-20100110\bin\avrdude.conf“


AVRDUDE Einstellung für das Arduino Board UNO
Der Arduino meldet sich mit einem virtuellen COM Port an. Denn er hat einen Bootloader vorinstallier.
Sollte dieser kapuut, gelöscht sein, mus sdieser mit einem ISP Programmer ( "USBasp") udn SKETCH nachgeladen werden.

Das makefile steuert den Compiler.
Die Eintragung in das "make" File  lautet z.B.
AVRDUDE_FLAGS = -p$(MCU) -P$(AVRDUDE_PORT) -b$(AVRDUDE_LOADERBAUD) -c $(AVRDUDE_PROGRAMMER)


13.01.2020  Recherche um den USBasp mit veralteter Firmware doch zum laufen zu bringen


FÜR ARDUINO SERIELL
AVRDUDE_PROGRAMMER = arduino
AVRDUDE_LOADERBAUD = 115200 
AVRDUDE_PORT = com8   # programmer connected to serial device



FÜR  USBasp
AVRDUDE_PROGRAMMER = USBasp
AVRDUDE_PORT = usb        # programmer connected to USB port

AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
#AUSGESCHALTET
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep
#AVRDUDE_ERASE_COUNTER = -y
#AVRDUDE_NO_VERIFY = -V
#AVRDUDE_VERBOSE = -v -v

AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)

ARDUINO_UNO Makefile

#makefile für AVRTDUDE ---> Jetzt mal vollständig:
F_CPU = 16000000              Quarz Frequenz
MCU = atmega328p

AVRDUDE_PROGRAMMER = arduino
AVRDUDE_LOADERBAUD = 115200 
AVRDUDE_PORT = com8          # programmer connected to serial device   ANPASSEN  --> siehe Gerätemanager!!

#Flags in Alias Namen verteilt   TARGET = main
AVRDUDE_WRITE_FLASH = -D -Uflash:w:$(TARGET).hex:i
AVRDUDE_VERBOSE = -v –v


AVRDUDE_FLAGS = -p$(MCU) -P$(AVRDUDE_PORT) -  b$(AVRDUDE_LOADERBAUD) -c $(AVRDUDE_PROGRAMMER)
AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)
 
program: $(TARGET).hex     $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH)
# Diese Form hier funktioniert
##leternatic

# hier ist alles manuell eingetragen
    # ENTWEDER!!
avrdude -patmega328p –Pcom8 –b115200 –carduino -D -Uflash:w:main.hex:I

    # ODER !!!
avrdude -p
MCU –PAVRDUDE_PORT –bAVRDUDE_LOADERBAUD –carduino -D -Uflash:w:main.hex:I


Fuses falsch gestellt und geschrieben ??!?
Es gibt einen Rettungsversuch
Retten kann man einen AVR bei jeder falschen Taktquellen-Fuseeinstellung (Clock statt Quarz etc.), indem man an XTAL1 einen Takt anlegt. Falls ein weiterer AVR zur Verfügung steht, einfach einen Pin als Ausgang schalten und in einer Endlosschleife auf high/low setzen. Jede andere Art Frequenzgenerator funktioniert auch, am einfachsten ein Quarzoszillator - die Teile mit 4 Beinchen, oder falls ohnehin ein Oszilloskop am Arbeitsplatz steht, dessen Rechtecksignal zum Abgleichen der Tastköpfe. Die Frequenz ist dabei eher unkritisch (<16 bzw. 20 MHz). Wichtig ist dabei die ISP-Frequenz, welche kleiner als 1/4 des CPU Taktes sein muss! Den Ausgang des Generators an XTAL1 des "verfusten" AVR anschliessen, eventuell die im Aufbau noch vorhandene Taktquelle (z. B. Quarz) sicherheitshalber abklemmen.
Oder man baut sich quick am Steckbrett einen Oszilator auf. z.B:





MAKEFILE FLAGS FÜR EXTERENE USB PROGRAMMER
TYP: mySmartAVR  ( kleiner blauer Stecker )

SO GEHT mySmartAVR light   == SRK500
#AVRDUDE_PORT = lpt1
AVRDUDE_PORT = com2        # -mysmartUSB light
AVRDUDE_PROGRAMMER = stk500 # -mysmartUSB light
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex:i

AVRDUDE_VERBOSE = -v -v
CLOCKDELAY = -i 10
BITCLOCK = -B 50

AVRDUDE_FLAGS = -p $(MCU) -e  $(BITCLOCK)  $(CLOCKDELAY) -c $(AVRDUDE_PROGRAMMER) -P $(AVRDUDE_PORT)



Experimentierphase... Nur eine Datenssammlung, springe gleich weiter zu Erste Schritte:
Plan B: Bootloader
http://www.mikrocontroller.net/articles/Bootloader

Noch ist alles Unklar deshalb ein Hüpfen in den Webseiten
Artikel zum Thema : http://www.mikrocontroller.net/articles/Kategorie:AVR-Programmer_und_-Bootloader
Anleitung: http://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung
Lese dazu: http://www.mikrocontroller.net/articles/AVR_Bootloader_FastBoot_von_Peter_Dannegger

Alternativ:   Kavr: AVR Hexfile Boot Loader
Quelle : http://sourceforge.net/projects/kavr/files/
http://www.mikrocontroller.net/articles/Kavr:_AVR_Hexfile_Boot_Loader
Recherchen
in Makefile:
DUDEPORT = -c xil4 -P lpt1
DUDEPORT = -c pony-stk200 -P /dev/parport0

in BATCH DATEI:
REM KAVR Bootloader Copy auf COm1 9600 Baud, XonXoff --> main.hex
mode com1 baud=9600 DATA=8 PARITY=n STOP=1 XON=on
copy main.hex com1:
pause

Setzen der FUSES BOOTZ1 +  BOTTRST nicht vergessen
http://www.procyonengineering.com/embedded/avr/bootloader/index.html

Es muss darauf geachtet werden, dass beim flashen der Anwendung mit AVRDUDE nicht der Bootloader überschrieben wird.
Bei Verwendung von avrdude muss dazu die Option "-D" angegeben werden.
UART Bootloader ATtiny13 - ATmega644     http://www.mikrocontroller.net/topic/73196#685654
http://www.mikrocontroller.net/attachment/27570/Bootloaderprotokoll.txt


Neu und unerforscht: AVRUSBBoot - USB bootloader for Atmel AVR controllershttp://www.fischl.de/avrusbboot/


FUSE CALCUCLATOR
http://www.engbedded.com/fusecalc




Erste Schritte:
1.) Installation eines USB, Fischl kompatiblem, ISP-Programmers  (In System Programmers)
USB-Fischl-Programmer.html



3.) WinAVR-20100110  oder neuere Version ( Darin enthalten AVRDUDE )
4.) Burn-O-Mat -->> Installieren mit  http://avr-burn-o-mat.software.informer.com/2.1/    siehe auch http://burn-o-mat.net/
        beinhaltet auch einen Fuse -cacluator
       evtl noch Java  Runtime für Burn-O-Mat: http://java.sun.com/javase/downloads/index.jsp
oder ein anderer Programmer wie Extreme Burner : googlen und dowenloaden

5.) Zuerst ausprobieren, ob es schon funktioniert. Wenn nicht !!:
    USBasp Treiber 0.1.12.1  = ältere USBasP DLL   libusb0.dll   ( mit rechter Maustatse Downloaden und in den Compiler...WinAVRxxxx/bin      Ordner kopieren ),
Siehe auch : Fischl-Radug_USB_Programmer


WICHTIG:
Zuerst AVRDUDE Installieren:   -->AVRDUDE =  integraler Bestandteil von "WinAVR"
1.) WinAVR aus dem Netz laden und installiern.
2.) Im WinAVR Ordner  "C:\WinAVR-20100110\bin"  ( je nach Version ) muss  "INSTALL_GIVEIO.bat" aufgerufen werden. ( wenn andere Programmer wie LPT, Com Programmer benutzt werden)


Ansichte des eXtreme Burner FuseBits Settings. für den ATMEGA16b mit gesetzten CKOPT und BODEN
Doenload von http://extreme-burner-avr.software.informer.com/download/
NEUE Version Downlaoden !!!
in den ALTEN ist kein avr328p enthalten




Einstellung in Burn-O-Mat:


This programmer is based on Thomas Fischl's USBasp design and connects to your computer's USB port. Not only is it quite compact, but the design is really elegent. 
The USB interface is achieved by using an atmega processor and the rest is done in firmware. For those interested, the firmware source code can be downloaded from the USBasp website.
http://www.fischl.de/usbasp/

Supported microcontrollers include:
Mega Series
ATmega8 ATmega48 ATmega88 ATmega168 ATmega328
ATmega103 ATmega128 ATmega1280 ATmega1281 ATmega16
ATmega161 ATmega162 ATmega163 ATmega164 ATmega169
ATmega2560 ATmega2561 ATmega32 ATmega324 ATmega329
ATmega3290 ATmega64 ATmega640 ATmega644 ATmega649
ATmega6490 ATmega8515 ATmega8535
Tiny Series
ATtiny12 ATtiny13 ATtiny15 ATtiny25 ATtiny26
ATtiny45 ATtiny85 ATtiny2313
Classic Series
AT90S1200 AT90S2313 AT90S2333 AT90S2343 AT90S4414
AT90S4433 AT90S4434 AT90S8515
AT90S8535 
CAN Series
AT90CAN128 
PWM Series
AT90PWM2 AT90PWM3

Eintrag "zufuß" in das Makefile
Die beiden wichtigen Zeilen.:
AVRDUDE_PROGRAMMER = USBasp
AVRDUDE_PORT = usb        # programmer connected to USB port




Lösung der USB AVRDUDE Problem
e:

1.) ausgehend vom Ordner  C:\WinAVR-20100110\utils\libusb\bin
zuerst CWinAVR-20100110\utils\ libusb\bin      avrisp2.inf   mit der rechten Maustatse aufrufen.

Wechseln zum Ordner  C:\WinAVR-20100110\bin
2.) ZIEL: AVRDUDE  +  die .conf Datei  ersezten durch eine die auch die USB Schnitstelle unterstütz.
Denn die mitgelieferte  ist nicht für USB kompiliert. Waruem weis niemand.
Lösung: Austausch folgender Dateien. Download und in      C:\WINAVRxxxx\bin\     kopieren ( ersezten)
Hier die Dateien zum direkten Download:
avrdude-5.10/avrdude.exe
avrdude-5.10/avrdude.conf

Also einfach durch diese ersetzten, weil diese den USB ASP unterstützt
siehe Links  weiter unten.
USB_taugliche_AVRDude_Version

ISP Belegungen für 2x3 oder 2x5 Stecker






VERALTET !

Die ( älteren) seriellen und parallellen In System Programmer : ( ISP)

Belegung der ISP Varianten:
ISP  alt, aber gut  und mit Ponyprog supereinfach zu handhaben.
Einfache InSystemProgrammer  : Siehe auch http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
Seriell und Parallel

Standardstecker Belegungen.


  entweder im " Frei gebastelt Modus!"  oder meine Version
 
mit integriertem 2*5 Stecker auf 2*3 Stecker Adapter.


alternative: Parallel Schnittstelle:
Bastel Variante:


oder fest aufgebaut mit Pufferbaustein:    Baupläne: Eagle Datei  AtmelPrg10_feiner.brd
 


oft benötigt wird auch ein 2*5 auf 2*3 Pin Stecker Adapter:
    EagleFile:    ISP_10To6_V2.sch   ISP_10To6_V2.brd



USB Programmer und Nutzung mit AVRDude   ( enthalten in WinAVR ).

Nachdem die Zeiten für den Paralell- Programmer gezählt sind, mangles Schnittstelle moderner Notes, muß leider leider umgedacht werden.
Zukünftig sind wohl USB Programmer der Standard.
Leider.. den PonyProg war prima.
Und die Fuses mit AVRDude zu programmieren ist kein Zuckerlecken.
Seiten von Helpfiles... na prima...
also gut....
es gibt ein paar Anleitungen im Netz, wie man einen USB Programmer selbst bauen kann.
Den Anfang macht http://www.fischl.de/usbasp/.

Und zu USB gehört natürlich ein Treiber.
UND natürlich muss der USB-Programmer ( ATmega 8 "AUCH" erst mal Programmiert werden. ).
Und jetzt brauchen wir den Paralleldongle doch. Tja.


Wie sieht das aus?
so hats einer gebaut, mit gekaufter Platine.
http://www.tobiaspaul.net/dokuwiki/doku.php?id=elektronik:avr:isp_adapter:usb
bebraucht wird:
Meine ISP - USB Version, Uberarbeitet ( quelle Ulrich Radig )

und von unten:



Ein früherer Kursteilnehmer Johannes Bill, hat sich selbst noch eins gebaut:  Prima:
Treiber: http://www.fischl.de/usbasp/usbasp.2007-10-23.tar.gz
Alternativ paar alte Treiber ausprobieren.
sind auf der http://www.fischl.de/usbasp/ zu finden unter "Firmware and circuit", in dem tar.gz steckt zusätzlich auch der Windows Treiber mit drin.



Ach ja, schnell noch die makefile einträge für deen Parallel Programmer

AVRDUDE_PROGRAMMER = pony-stk200
# com1 = serial port. Use lpt1 to connect to parallel port.
AVRDUDE_PORT = lpt1

AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex

AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) -i 5
AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)







für LPT
AVRDUDE_PROGRAMMER = pony-stk200
# com1 = serial port. Use lpt1 to connect to parallel port.
AVRDUDE_PORT = lpt1


weitere DOWNLOADs:
JAVA Bedienoberfläche des AVRDude  ( USB Version):
AVR8_Burn-O-Mat_2_1_2_setup.exe



USB ASP Wind Driver
usbasp-windriver.2011-05-28.zip
Downlaoden, auspacken und isntallieren
>Darin enthalten die Firmware für den Selbstbau USB ISP


FUSES
Das setzen der Fuses ist nicht ganz einfach. Siehe dazu meine andere Seite: Fuses_Avr.html

und es gibt hilfe, ein Onlinecalulator
http://burn-o-mat.net/avr8_burn_o_mat_avrdude_gui_online.html
und ein JAVA GUI für AVRDude...
http://avr8-burn-o-mat.aaabbb.de/

Bei WinAVR wird die grafische Oberfläche avrdude-gui.exe mitgeliefert.
aber ich habs grad selbst nihct gefunden...
habs schon mal gesehen, wa rabe recht trocken.
Siehe auch den Artikel.
http://www.mikrocontroller.net/articles/AVR_In_System_Programmer#Parallelport



Fuses für den USB ISP.. lesen sich etwa so...
# TARGET=atmega8    HFUSE=0xc9  LFUSE=0xef
# TARGET=atmega48   HFUSE=0xdd  LFUSE=0xff

aus dem Readme...
Now you can run avrdude. Examples:
1. Enter terminal mode with an AT90S2313 connected to the programmer:
   avrdude -c usbasp -p at90s2313 -t
2. Write main.hex to the flash of an ATmega8:
   avrdude -c usbasp -p atmega8 -U flash:w:main.hex


Probleme mit  AVRDUDE:
WinAVR Version
http://www.mikrocontroller.net/articles/WinAVR#WinAVR_Version

Die aktuelle WinAVR Version ist derzeit (01/2010) WinAVR-20100110. SourceForge.net WinAVR Projekt-Seite und Download

Bekannte Probleme:


 Der Programmer arbeitet nur mit  der richtigen "libusb" Version.
AVRDude , wie er mitgeliefert wird  ist ohne USB Support compiliert.
aber einfach im Netzt googeln nach diesem Problem, "Ulrich Radig LIBUSB"  googeln
da kann man dann die richgtigen Files laden
http://www.mikrocontroller.net/topic/165276

Kommentar aus demn Netz:
Habe den Treiber vor WINAVR installiert und auch noch mal danach.
Trotz allem ergibt sich folgende Fehlermeldung im Programmers Notepad,
wenn man unter Tools auf PROGRAM klickt, um zu flashen:

avrdude -p atmega8 -P usb -c USBasp -U flash:w:main.hex
avrdude: error: no usb support. please compile again with libusb
installed.

make.exe: *** [program] Error 1


MAKEFILE Beispiel
Ausschnitt !!

mit USB Programmer unterstützung
Suche die AVRDUDE Sektion:




Die beiden wichtigen Zeilen.:
AVRDUDE_PROGRAMMER = USBasp
AVRDUDE_PORT = usb        # programmer connected to USB port


Valid programmers are:
  c2n232i  = serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts [C:\WinAVR-20100110\bin\avrdude.conf:876]
  dasa3    = serial port banging, reset=!dtr sck=rts mosi=txd miso=cts [C:\WinAVR-20100110\bin\avrdude.conf:863]
  dasa     = serial port banging, reset=rts sck=dtr mosi=txd miso=cts [C:\WinAVR-20100110\bin\avrdude.conf:850]
  siprog   = Lancos SI-Prog <http://www.lancos.com/siprogsch.html> [C:\WinAVR-20100110\bin\avrdude.conf:837]
  ponyser  = design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts [C:\WinAVR-20100110\bin\avrdude.conf:824]
  89isp    = Atmel at89isp cable            [C:\WinAVR-20100110\bin\avrdude.conf:791]
  frank-stk200 = Frank STK200                   [C:\WinAVR-20100110\bin\avrdude.conf:777]
  blaster  = Altera ByteBlaster             [C:\WinAVR-20100110\bin\avrdude.conf:764]
  ere-isp-avr = ERE ISP-AVR <http://www.ere.co.th/download/sch050713.pdf> [C:\WinAVR-20100110\bin\avrdude.conf:754]
  atisp    = AT-ISP V1.1 programming cable for AVR-SDK1 from <http://micro-research.co.th/>  [C:\WinAVR-20100110\bin\avrdude.conf:744]
  dapa     = Direct AVR Parallel Access cable [C:\WinAVR-20100110\bin\avrdude.conf:733]
  xil      = Xilinx JTAG cable              [C:\WinAVR-20100110\bin\avrdude.conf:720]
  futurlec = Futurlec.com programming cable. [C:\WinAVR-20100110\bin\avrdude.conf:703]
  abcmini  = ABCmini Board, aka Dick Smith HOTCHIP [C:\WinAVR-20100110\bin\avrdude.conf:693]
  picoweb  = Picoweb Programming Cable, http://www.picoweb.net/ [C:\WinAVR-20100110\bin\avrdude.conf:683]
  sp12     = Steve Bolt's Programmer        [C:\WinAVR-20100110\bin\avrdude.conf:672]
  alf      = Nightshade ALF-PgmAVR, http://nightshade.homeip.net/ [C:\WinAVR-20100110\bin\avrdude.conf:656]
  bascom   = Bascom SAMPLE programming cable [C:\WinAVR-20100110\bin\avrdude.conf:646]
  dt006    = Dontronics DT006               [C:\WinAVR-20100110\bin\avrdude.conf:636]
  pony-stk200 = Pony Prog STK200               [C:\WinAVR-20100110\bin\avrdude.conf:624]
  stk200   = STK200                         [C:\WinAVR-20100110\bin\avrdude.conf:608]
  bsd      = Brian Dean's Programmer, http://www.bsdhome.com/avrdude/ [C:\WinAVR-20100110\bin\avrdude.conf:597]
  pavr     = Jason Kyle's pAVR Serial Programmer [C:\WinAVR-20100110\bin\avrdude.conf:589]
  dragon_pdi = Atmel AVR Dragon in PDI mode   [C:\WinAVR-20100110\bin\avrdude.conf:582]
  dragon_dw = Atmel AVR Dragon in debugWire mode [C:\WinAVR-20100110\bin\avrdude.conf:574]
  dragon_hvsp = Atmel AVR Dragon in HVSP mode  [C:\WinAVR-20100110\bin\avrdude.conf:566]
  dragon_pp = Atmel AVR Dragon in PP mode    [C:\WinAVR-20100110\bin\avrdude.conf:558]
  dragon_isp = Atmel AVR Dragon in ISP mode   [C:\WinAVR-20100110\bin\avrdude.conf:550]
  dragon_jtag = Atmel AVR Dragon in JTAG mode  [C:\WinAVR-20100110\bin\avrdude.conf:542]
  jtag2pdi = Atmel JTAG ICE mkII PDI mode   [C:\WinAVR-20100110\bin\avrdude.conf:534]
  jtag2avr32 = Atmel JTAG ICE mkII im AVR32 mode [C:\WinAVR-20100110\bin\avrdude.conf:526]
  jtagmkII_avr32 = Atmel JTAG ICE mkII im AVR32 mode [C:\WinAVR-20100110\bin\avrdude.conf:518]
  jtag2dw  = Atmel JTAG ICE mkII in debugWire mode [C:\WinAVR-20100110\bin\avrdude.conf:510]
  jtag2isp = Atmel JTAG ICE mkII in ISP mode [C:\WinAVR-20100110\bin\avrdude.conf:502]
  jtag2    = Atmel JTAG ICE mkII            [C:\WinAVR-20100110\bin\avrdude.conf:494]
  jtag2fast = Atmel JTAG ICE mkII            [C:\WinAVR-20100110\bin\avrdude.conf:486]
  jtag2slow = Atmel JTAG ICE mkII            [C:\WinAVR-20100110\bin\avrdude.conf:478]
  jtagmkII = Atmel JTAG ICE mkII            [C:\WinAVR-20100110\bin\avrdude.conf:470]
  jtag1slow = Atmel JTAG ICE (mkI)           [C:\WinAVR-20100110\bin\avrdude.conf:463]
  jtag1    = Atmel JTAG ICE (mkI)           [C:\WinAVR-20100110\bin\avrdude.conf:455]
  jtagmkI  = Atmel JTAG ICE (mkI)           [C:\WinAVR-20100110\bin\avrdude.conf:447]
  avr911   = Atmel AppNote AVR911 AVROSP    [C:\WinAVR-20100110\bin\avrdude.conf:441]
  avr109   = Atmel AppNote AVR109 Boot Loader [C:\WinAVR-20100110\bin\avrdude.conf:435]
  butterfly = Atmel Butterfly Development Board [C:\WinAVR-20100110\bin\avrdude.conf:429]
  usbtiny  = USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/ [C:\WinAVR-20100110\bin\avrdude.conf:423]
  usbasp   = USBasp, http://www.fischl.de/usbasp/ [C:\WinAVR-20100110\bin\avrdude.conf:417]
  avr910   = Atmel Low Cost Serial Programmer [C:\WinAVR-20100110\bin\avrdude.conf:411]
  stk600hvsp = Atmel STK600 in high-voltage serial programming mode [C:\WinAVR-20100110\bin\avrdude.conf:405]
  stk600pp = Atmel STK600 in parallel programming mode [C:\WinAVR-20100110\bin\avrdude.conf:399]
  stk600   = Atmel STK600                   [C:\WinAVR-20100110\bin\avrdude.conf:393]
  stk500hvsp = Atmel STK500 V2 in high-voltage serial programming mode [C:\WinAVR-20100110\bin\avrdude.conf:387]
  stk500pp = Atmel STK500 V2 in parallel programming mode [C:\WinAVR-20100110\bin\avrdude.conf:381]
  stk500v2 = Atmel STK500 Version 2.x firmware [C:\WinAVR-20100110\bin\avrdude.conf:375]
  mib510   = Crossbow MIB510 programming board [C:\WinAVR-20100110\bin\avrdude.conf:369]
  stk500v1 = Atmel STK500 Version 1.x firmware [C:\WinAVR-20100110\bin\avrdude.conf:363]
  stk500   = Atmel STK500                   [C:\WinAVR-20100110\bin\avrdude.conf:357]
  buspirate = The Bus Pirate                 [C:\WinAVR-20100110\bin\avrdude.conf:347]
  avrisp2  = Atmel AVR ISP mkII             [C:\WinAVR-20100110\bin\avrdude.conf:341]
  avrispmkII = Atmel AVR ISP mkII             [C:\WinAVR-20100110\bin\avrdude.conf:335]
  avrispv2 = Atmel AVR ISP V2               [C:\WinAVR-20100110\bin\avrdude.conf:329]
  avrisp   = Atmel AVR ISP                  [C:\WinAVR-20100110\bin\avrdude.conf:323]
  arduino  = Arduino                        [C:\WinAVR-20100110\bin\avrdude.conf:317]

Schon sehr alt, dies alles...  (kommentar  10.2016 )
USBasp


#---------------- Programming Options (avrdude) ----------------

# Programming hardware: alf avr910 avrisp bascom bsd
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ?
# to get a full listing.
#
#AVRDUDE_PROGRAMMER = AVR910
#AVRDUDE_PROGRAMMER = stk200
#AVRDUDE_PROGRAMMER = pony-stk200
AVRDUDE_PROGRAMMER = USBasp

# com1 = serial port. Use lpt1 to connect to parallel port.
#AVRDUDE_PORT = com1       # programmer connected to serial device
#AVRDUDE_PORT = lpt1           # programmer connected to parallel port
AVRDUDE_PORT = usb        # programmer connected to USB port

AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
##AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex $(FUSE_BITS)
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep


# Uncomment the following if you want avrdude's erase cycle counter.
# Note that this counter needs to be initialized first using -Yn,
# see avrdude manual.
#AVRDUDE_ERASE_COUNTER = -y

# Uncomment the following if you do /not/ wish a verification to be
# performed after programming the device.
#AVRDUDE_NO_VERIFY = -V

# Increase verbosity level.  Please use this when submitting bug
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
# to submit bug reports.
#AVRDUDE_VERBOSE = -v -v

#AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -b 115200 -c $(AVRDUDE_PROGRAMMER)
AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)

# Uncomment the following if you do /not/ wish a verification to be
# performed after programming the device.
#AVRDUDE_FLAGS += -V

# Increase verbosity level.  Please use this when submitting bug
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
# to submit bug reports.
AVRDUDE_FLAGS += -v -v



Es gibt superbillige USB Programmer im Netz:

USBASP USBISP AVR Programmer USB ATMEGA8 ATMEGA128 New

Orignal von http://www.betemcu.cn/    für ~3,10€ bekommt man das !!!!
http://www.ebay.de/itm/USBASP-USBISP-AVR-Programmer-USB-ATMEGA8-ATMEGA128-New-/370532286436?pt=LH_DefaultDomain_0&hash=item564571ffe4#ht_3505wt_917


USB-Programmer mySmartUSB light    für 15.54€

aller ding mit einem 2x3 Steckerhttp://www.conrad.de/ce/de/product/191406/MYSMARTUSB-LIGHT


Und es gibt die AVR Porgrammer zu kaufen , z.B bei Reichelt
http://www.reichelt.de/Programmer-Entwicklungstools/DIAMEX-PROG-S/index.html?ACTION=3&GROUPID=2969&ARTICLE=115385&PROVID=2680&utm_source=elektor&utm_medium=Link&utm_campaign=webvertorial
den gibts für ~22€

DIAMEX PROG-S :: ISP-Programmer für AVR / STM32 / NXP / LPC


oder: