Programmiersoftware und -Hardware für AVRs |
TwinAVR ist ein AVR-Programmer für MS Windows 3.x, 9x, ME and NT3/4, 2000, XP und Win-OS/2 für alle AVR-Typen, die mit 5 Volt im SPI-Modus programmiert werden können (ATmega, AT90, ATtiny, AT86RF401).
TwinAVR brennt AVRs, kann sie auslesen und auch Lock- und Fuse-Bits setzen. Außerdem kann TwinAVR beim Brennen automatisch Calibration Bytes in den EEPROM kopieren.
TwinAVR verzichtet auf unnötigen Schnickschnack, ist aber dafür 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 Binär-Dateien, GenericHex und IntelHex.
Neu (Mai 2009):
- Support für 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 Widerständen und ein paar Drähten. Außerdem ist aber auch eine Stromversorgung aus der parallelen Schnittstelle möglich, die bei 4MHz Taktfrequenz völlig ausreicht. Bei mehr braucht man aber eine echte 5-Volt-Quelle. Wau Holland hat den Programmer in Freiluft-Verdrahtung sogar vollständig in einem LPT-Stecker untergebracht. In der Praxis ist es aber günstiger, 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 können.
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 Ausführung von Kanda für 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 Glück bekommt man ihn für knapp 10,- Euro fertig aufgebaut zu kaufen (z.B. bei www.embedit.de). Bitte beachten, daß SP12 (siehe unten) den Dongle nicht unterstützt. Aber dafür gibt es neben TwinAVR noch eine Reihe weiterer Programme, die den Kanda-Dongle unterstützen. 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) unterstützen beides. |
Hier ist das SP12 "Einsteiger-Paket" (SP12.ZIP, 68KB)
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 wäre auch möglich, ist aber sehr unkomfortabel.