Sie sind auf Seite 1von 4

TwinAVR (ehemals WinAVR)

Der Name WinAVR wurde in TwinAVR gendert, um Verwechslungen mit mit dem AVR-GCC-
Compiler zu vermeiden, der mir den Namen WinAVR "gemopst" hatte.

TwinAVR ist ein AVR-Programmer fr MS Windows 3.x, 9x, ME and NT3/4, 2000, XP und Win-OS/2
fr alle AVR-Typen, die mit 5 Volt im SPI-Modus programmiert werden knnen (ATmega, AT90, ATtiny,
AT86RF401). TwinAVR brennt AVRs, kann sie auslesen und auch Lock- und Fuse-Bits setzen.
Auerdem kann TwinAVR beim Brennen automatisch Calibration Bytes in den EEPROM kopieren.
TwinAVR verzichtet auf unntigen Schnickschnack, ist aber dafr sehr klein, bersichtlich und einfach
zu bedienen (vielleicht kommt gerade daher die enorm hohe Anzahl von Downloads, wer wei...).
Es kann eine SP12-kompatible Hardware (kostet 1 bis 2 Euro, siehe weiter unten) oder ein Atmel AVR
ISP Dongle verwendet werden.
TwinAVR akzeptiert als Dateiformat Binr-Dateien, GenericHex und IntelHex.

Neu (Mai 2009):


- Support fr ATmega164P, ATmega324P, ATmega644P, ATmega644

TwinAVR 1.1.0.4 (TWINAVR.ZIP, 92KB)

Die SP12-Hardware:

Im einfachsten Fall besteht die SP12-Programmier-Hardware aus 2 Widerstnden und ein paar
Drhten. Auerdem ist aber auch eine Stromversorgung aus der parallelen Schnittstelle mglich, die
bei 4MHz Taktfrequenz vllig ausreicht. Bei mehr braucht man aber eine echte 5-Volt-Quelle. Wau
Holland hat den Programmer in Freiluft-Verdrahtung sogar vollstndig in einem LPT-Stecker
untergebracht. In der Praxis ist es aber gnstiger, nur den rechten Teil der Schaltung im LPT-Stecker
unterzubringen (so wie es der Schaltplan zeigt). Der Rest ist dann Teil der normalen Schaltung (in-
vivo-Programmierung).
Wer in-vivo programmiert, kann die Stromversorgung kleinerer Schaltungen genau wie beim
Programmiervorgang aus der parallelen Schnittstelle beziehen. Man startet ein kleines Programm,
das einfach die entsprechenden LPT-Pins auf High und Reset auf Low legt. Hier ist die
Stromversorgungs-Software (15KB) sowohl compiliert als auch im Quellcode (Windows: GFA-Basic,
DOS: Assembler). Wichtig: Die LPT liefert keine vollen 5 Volt, die entsprechende Schaltung mu
daher mit etwa 3,8 Volt klarkommen knnen.

Der Atmel AVR ISP Dongle ("Kanda-kompatibler Dongle"):


Der Kanda-Dongle hat eine andere LPT-Pinbelegung als
der SP12-Brenner (!). Er wurde in einer etwas anderen
Ausfhrung von Kanda fr Atmel entwickelt und ist in
verschiedenen Variationen (anderer oder kein TriState-
Puffer) relativ weit verbreitet. Er wurde auch mit dem Atmel
STK 200/STK 300 ausgeliefert.
Mit etwas Glck bekommt man ihn fr knapp 10,- Euro
fertig aufgebaut zu kaufen (z.B. bei www.embedit.de).
Bitte beachten, da SP12 (siehe unten) den Dongle nicht
untersttzt. Aber dafr gibt es neben TwinAVR noch eine
Reihe weiterer Programme, die den Kanda-Dongle
untersttzen. Bascom kann ihn z.B. direkt ansprechen.
Die Stromversorgung des 4fach-TriState-Puffers 74HC125
erfolgt durch die AVR-Schaltung. Deshalb kann der Dongle
nicht bei Schaltungen verwendet werden, die mit einer
Versorgungsspannung von 2,4V oder 3V arbeiten.
Mit der gestrichelten Verbindung zwischen den LPT-Pins 3
und 11 ist der Dongle STK200-kompatibel und ohne ist er
STK300-kompatibel. Die meisten Programme (auch
TwinAVR) untersttzen beides.

SP12
Steven Bolt stellt auf seiner Web-Seite seinen Roboter vor, der von einem AVR gesteuert wird. Dabei
verwendet er einen Selbstbau-AVR-Programmer (der selbe Programmer wird auch von WinAVR
verwendet, Schaltplan siehe oben). Die Programmiersoftware SP12 steht samt Sourcecode frei zum
Download zur Verfgung. Es gibt eine eigene Version von SP12 fr Windows NT.
SP12 kann nahezu alle AVR-Typen programmieren, auch die Mega-Typem.
Das Programm wird mit der Untersttzung anderer Programmierer stndig weiterentwickelt. Wer
SP12 stndig benutzt, sollte sich das Programm direkt von Stevens Homepage holen.
Fr den schnellen Einstieg gibt es SP12 aber auch auf meiner Homepage (hier...). Die ZIP-Datei
enthlt SP12 in der recht alten Version 0.7 in einer sofort benutzbaren Fassung ohne Quellcode.
Enthalten sind auch einige Beispiel-Batch-Dateien und natrlich der Stromlaufplan. Auerdem habe
ich das Programm mit einem Borland-Compiler erzeugt, was den unter (purem) DOS zustzlich
bentigten DPMI-Treiber CWSDPMI.EXE berflssig macht.

Hier ist das SP12 "Einsteiger-Paket" (SP12.ZIP, 68KB)

Der eingebaute Programmer vom BASCOM-AVR-Basic


Bascom (www.mcselec.com) kann verschiedene Programmer bedienen. Unter anderem ist Bascom
auch ohne externe Programme in der Lage, Schaltungen anzusprechen, die SP12- bzw. TwinAVR-
kompatibel sind. Andersherum ausgedrckt: Bascom braucht TwinAVR oder SP12 nicht.
Seit Version 1.11.6.5 existiert in Bascom das "Universal MCS Interface", bei dem man eine
SP12/TwinAVR-kompatible Programmierung einstellen kann.
Aber Achtung: Bascom geht davon aus, da die Programmer-Hardware an LPT1 angeschlossen ist
und da LPT1 die Hardware-Portadresse $378 hat! Hat man andere Einstellungen (LPT2 oder LPT3
bzw. LPT1 mit einer anderen Portadresse), dann mu man die Datei prog.settings im Bascom-
Verzeichnis mit einem Texteditor ffnen, die entsprechenden Eintrge ndern und nach dem
Speichern Bascom beenden und neu starten. Die Datei prog.settings enthlt eine kurze
Beschreibung. Typische Portadressen fr parallele Schnittstellen sind $278, $378 oder $3BC.

Wer will, kann aber auch TwinAVR als externen Programmer in Bascom ansprechen. Das geht im
Prinzip genauso komfortabel. Bei den Einstellungen ist es wichtig, da man den erzeugten Code mit
der Einstellung {FILE} als Parameter angibt (siehe folgendes Bild). Damit wird die gerade aktuelle
*.bin-Datei als Kommandozeilen-Parameter an TwinAVR bergeben. Ein expliziter Dateiname mit
Pfad wre auch mglich, ist aber sehr unkomfortabel.