USBASP USB AVR Programmer

Da mein neues T400s keinen Parallel-Port mehr besitzt (auch nicht über die Docking-Station), musste ich mich nach einem neuen AVR-Programmer umsehen.

Entschieden habe ich mich für einen USBASP von Thomas Fischl.

Die Schaltung basiert auf einem Atmega8 und ein paar weiteren passiven Komponenten.

Der Vorteil dieser Schaltung:
Für die USB-Anbindung wird kein spezieller USB-Controller benötigt, dies wird alles über die Firmware auf dem Atmega8 geregelt.

Aufgebaut habe ich die Schaltung auf einer Lochraster-Platine. Klar hätte ich mir auch einen fertigen Bausatz bestellen können, aber wo bleibt da der Bastelspaß wenn nur noch die Widerstände eingelötet werden müssen? ;)

Außerdem wollte ich noch die Belegung des ISP-Steckers anpassen, damit diese mit meinem LPT zu ISP Programmieradapter kompatibel ist und auch für bestehende Schaltungen ohne zusätzlichen Adapter genutzt werden kann.

USBASP AVR Programmer

USBASP AVR Programmer

Nachdem der USBASP fertig aufgebaut war, spielte ich die Firmware über meinen LPT-Programmieradapter (an meinem Entwicklungsrechner, welcher dank dem USBASP jedoch bald überflüssig sein wird) ein und setzte die Fuses für den externen 12 Mhz Quarz.

Daraufhin wurde er dann am T400s unter Ubuntu 9.04 64Bit auf Anhieb erkannt!

lsusb
Bus 006 Device 006: ID 16c0:05dc VOTI

Um den USBASP mit Linux benutzen zu können, werden noch folgenden Pakete benötigt:

  • gcc-avr
  • avrdude
  • binutils-avr
  • avr-libc

Der Programmer kann dann direkt mit Avrdude verwendet werden:

avrdude -c usbasp

4 Gedanken zu „USBASP USB AVR Programmer

  1. Hi!
    Hast du noch die Teile-Liste, die du verwendet hast? Ich werd aus dem offiziellen Schaltplan nicht ganz schlau.
    Mfg,
    domibay

  2. Hi,I’ve tried v.1.3 Beta with Atmega1280 and I have to say that software doesn’t work prlperoy.I’ve read the ATmega1280 on Arduino mega 1280 Board.Start of Bootloader is at 1F000h but eXtreme Burner is reading it into buffer at 10000h.Yes I’ve also add following lines in chips.xml for ATmega 1280:ATmega128013107240960x0003971E256YESYESYESYESYES.\Images\Placements\ZIF_DIP_40.bmpEverything is same as for ATmega2560 but Flash size.Another thing is with loading the same Bootloader from hex file. As I said it sould load to 1F000h but the eXtreme Burner loaded file to 0F000h.Third thing what I’ve noticed is memory size definition for ATmega640 in chips.xml. It should be 65536.Other programmers (Bascom and ProgISP) are reading this ATmega 1280 prlperoy also hex file as well.I’ve also checked Arduino board with ATmega328. It reads the ATmega328 prlperoy and hex file too. For this I’ve added definitions for hi fuses in fuselayout .xml and put definitions for chip in chips.xml.fuselayout.xml:chips.xml:ATmega328(P)3276810240x0000F951E128YESYESYESYESYES.\Images\Placements\ZIF_DIP_40.bmpBest regards,Jaka

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.