<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.147.32.209</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.147.32.209"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/84.147.32.209"/>
	<updated>2026-04-11T08:14:14Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVRDUDE&amp;diff=67912</id>
		<title>AVRDUDE</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVRDUDE&amp;diff=67912"/>
		<updated>2012-08-14T19:08:43Z</updated>

		<summary type="html">&lt;p&gt;84.147.32.209: /* Beschreibung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Beschreibung ==&lt;br /&gt;
AVRDUDE (http://www.nongnu.org/avrdude/) ist *DIE* Programmiersoftware für Atmel [[AVR]] Controller. &lt;br /&gt;
&lt;br /&gt;
Funktionen unter Anderem: &lt;br /&gt;
&lt;br /&gt;
* Übertragen von Programmcode in den Flash-Speicher&lt;br /&gt;
* Auslesen ungeschützen Codes aus dem Flash&lt;br /&gt;
* Setzen und Lesen von Fuse- und Lockbits (Siehe auch: [[AVR_Fuses#Vergleich_der_Fuses_bei_verschiedenen_Programmen|Vergleich der Fuses bei verschiedenen Programmen]])&lt;br /&gt;
* Schreiben und Lesen des EEPROMs&lt;br /&gt;
&lt;br /&gt;
AVRDUDE kann das [[STK500]] (auch mit Firmware 2.x als stk500v2), das Atmel AVRISP (auch mit Firmware 2.x als avrispv2 o.ä.), das Atmel AVRISP MKII (USB Ansteuerung mittels lib-usb bzw. lib-usb-W32), [[AVR_In_System_Programmer#USB | AVR910-kompatible]] Programmierer, den [[AVR Butterfly]]/AVR109-kompatible Bootloader, [[STK200]]-Programmierdongles und verschiedene andere Parallelport-Adapter sowie &amp;quot;serielle Statusportprogrammierer&amp;quot; (Siprog) ansteuern. Auch das Atmel JTAGICE (oder Nachbauten wie Bootice oder Evertool), Atmel JTAGICE-MKII und der AVR Dragon können als Programmierhardware genutzt werden.&lt;br /&gt;
&lt;br /&gt;
Das Programm ist unter MS-Windows (Cygwin nicht erforderlich), Linux, BSD, Solaris und Mac OS X lauffähig. Die Version für MS-Windows ist im [[WinAVR]]-Paket enthalten. Der Quellcode ist frei verfügbar (Lizenz beachten).&lt;br /&gt;
&lt;br /&gt;
Da alle AVRDUDE-Funktionen über Kommandozeilenparamter gesteuert werden können, eignet es sich gut zur Integration in Makefiles. Beispiele finden sich in der Makefile-Vorlage von [[WinAVR]] und Mfile. &lt;br /&gt;
&lt;br /&gt;
Die gesamte Konfiguration liegt in einer Textdatei (avrdude.conf), so dass sich bei Bedarf ein beliebiger neuer Parallelport-Programmierdongle oder auch ein noch nicht unterstützter AVR-Controller ergänzen lassen. Die Syntax für die Definition eines AVR-Controllers lehnt sich an die Datenblatt-Tabelle für die serielle Programmierung an, so dass man praktisch nur das Datenblatt &amp;quot;intelligent&amp;quot; abtippen muss.&lt;br /&gt;
&lt;br /&gt;
Für die Ansteuerung von Parallelport-Adaptern unter MS-Windows NT/2000/XP wird ein spezieller Porttreiber (giveio) mitgeliefert. Bei der Installation von [[WinAVR]] wird giveio bereits mitinstalliert. &lt;br /&gt;
&lt;br /&gt;
Programmer mit üblicher serieller Schnittstelle (RS232) benötigen keine zusätzliche Software oder Treiber zum Betrieb mit AVRDUDE. &lt;br /&gt;
&lt;br /&gt;
Für Hardware mit USB-Anschluss muss die lib-usb bzw. lib-usb-win32 installiert sein.&lt;br /&gt;
&lt;br /&gt;
===GUIs===&lt;br /&gt;
Bei [[WinAVR]] wird die grafische Oberfläche avrdude-gui.exe mitgeliefert.&lt;br /&gt;
&lt;br /&gt;
Für Windows, Linux und andere Betriebssysteme gibt zwei weitere GUIs: den in Java geschriebene [[Burn-o-mat|AVR Burn-O-Mat]] und den [http://www.soft-land.de/index.php?page=avrburner avrburner] (avrburner: Link defekt).&lt;br /&gt;
&lt;br /&gt;
Für Mac OS X gibt es noch [http://www.vonnieda.org/software/avrfuses AVRFuses.app]. AVRFuses muss beim ersten Starten auf den verwendeten Programmer und den Speicherort von AVRDUDE eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
GUIs vereinfachen vor allem Programmieren der Fuses.&lt;br /&gt;
&lt;br /&gt;
== Kurzanleitung für Linux und STK200 ==&lt;br /&gt;
&lt;br /&gt;
Dazu muss erst ein Hardware-Link auf die Printerport-Treiber eingerichtet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
su&lt;br /&gt;
mknod /dev/parport0 c 99 0&lt;br /&gt;
chmod a+rw /dev/parport0&lt;br /&gt;
avrdude -p m8535 -c stk200 -e -U qqtraff.hex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis :&lt;br /&gt;
Bei USB Programmern ist zu beachten, dass diese durch das Betriebssystem auf einen anderen Port gelegt werden können, als im Beispiel angegeben.&lt;br /&gt;
Diesen Port kann man unter Anderem &amp;quot;im Terminal&amp;quot; mit dem Befehl&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
user@server: dmesg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ermitteln.&lt;br /&gt;
Alternativ kann man sich eine Auflistung der Ports, im Verzeichnis &amp;quot;/dev&amp;quot; anzeigen lassen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
user@server: ls /dev/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sollte man nicht sicher sein, auf welchem Port der Programmer liegt, kann man den Programmer nochmals ausstecken und &amp;quot;ls /dev/&amp;quot; ausführen. Der nun Fehlende Port, ist der Programmerport.&lt;br /&gt;
Diesen Port muss man statt &amp;quot;parport0&amp;quot; in die oben beschriebenen Terminalkommandos einsetzen.&lt;br /&gt;
&lt;br /&gt;
Siehe auch : &lt;br /&gt;
* [http://wiki.ctbot.de/index.php/AVR_ISP_Programmer#BlueMP3_bzw._STK200_kompatible_Flasher weitere Beispiele für avrdude Kommandos (http://wiki.ctbot.de/index.php)]&lt;br /&gt;
* [[AVR_In_System_Programmer#STK200-kompatibel]]&lt;br /&gt;
* http://www.mikrocontroller.net/topic/200390#new&lt;br /&gt;
&lt;br /&gt;
== Tipps + Tricks ==&lt;br /&gt;
&lt;br /&gt;
=== [[AVR_In_System_Programmer#Parallelport|Parallelport-Programmer]] an aktuellen PCs ===&lt;br /&gt;
Aktuelle PCs sind einfach zu schnell mit dem Bitgewackel an der parallelen Schnittstelle, vor allem für AVRs, die noch mit den 1 MHz im Auslieferungszustand laufen (maximal zulässiger ISP-Takt &amp;lt; 250 kHz). Neuere Versionen von avrdude unterstützen zu diesem Zweck eine Option &#039;&#039;&#039;-i &amp;lt;N&amp;gt;&#039;&#039;&#039;, wobei &amp;lt;N&amp;gt; die Anzahl der Mikrosekunden bezeichnet, die beim Bitwackeln zusätzlich zu warten ist. Einfach mal mit -i 10 anfangen und dann entweder die Fuses auf die Ziel-Taktfrequenz umstellen (falls diese wesentlich höher sein wird als die 1 MHz), oder sukkzessive mit kleineren Werten testen ([http://www.mikrocontroller.net/topic/83524#699933 Forenbeitrag von Jörg]).&lt;br /&gt;
&lt;br /&gt;
Die Option -i ist auch nützlich bei AVRs, die für einen langsamen Takt konfiguriert sind. Bei einem ATmega8, der mit einem 32.768 kHz Quarz läuft, kann es z.B. notwendig sein, die Option -i 90 zu verwenden. Den Zahlenwert ggf. ausprobieren.&lt;br /&gt;
&lt;br /&gt;
Manche Programmer werten die Option -i manchmal nicht aus, dann sollte man einen anderen Programmer versuchen.&lt;br /&gt;
&lt;br /&gt;
Beim USBTINY und USBASP kann man die Geschwindigkeit der SPI-Schnittstelle mit dem Parameter -B [Periodendauer in Mikrosekunden] begrenzen. Da beide Geräte durch Interrupts der Software-USB-Schnittstelle stark belastet werden, handelt es sich hier um die Maximalbitrate.&lt;br /&gt;
&lt;br /&gt;
Unter WinXPsp2 auf einem Thinkpad T40 lies sich die &amp;quot;avrdude: AVR device not responding&amp;quot;-Meldung beheben durch Ändern von Gerätemanager--&amp;gt;Ltp1--&amp;gt;Eigenschaften--&amp;gt;Anschlusseinstellungen--&amp;gt;Interrupt-nie-verwenden in &amp;quot;Jeden dem Anschluss zugewiesenem Interrupt verwenden&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===USB Programmer===&lt;br /&gt;
Die meisten USB- Programmer benötigen [http://sourceforge.net/apps/trac/libusb-win32/wiki libusb-win32] bzw [http://www.libusb.org/ libusb]&lt;br /&gt;
&lt;br /&gt;
Ein Selbstbau USB-Programmer ist unter&lt;br /&gt;
[http://www.rototron.info/?Page=USBAVR/USBAVR.aspx http://www.rototron.info]&lt;br /&gt;
zu finden. Er läuft auch unter VISTA und benötigt mit der neuesten AVRDUDE Version keinen Treiber, da er im HID-Modus betrieben wird.&lt;br /&gt;
&lt;br /&gt;
==== libusb0.dll wird bei WinAvr 20070525 nicht gefunden====&lt;br /&gt;
[http://www.mikrocontroller.net/topic/83524#701461 Forenbeitrag von Paul]: Habe leider noch etwas zu bemängeln, und zwar meckerte avrdude, dass es die &amp;quot;libusb0.dll&amp;quot; nicht fand. Musste dann erst noch manuell den Pfad c:\winavr\utils\libusb\bin in die autoxecec.bat eintragen. Siehe auch [http://www.avrfreaks.net/index.php?name=PNphpBB2&amp;amp;file=viewtopic&amp;amp;p=373283 Diskussion bei www.avrfreaks.net]&lt;br /&gt;
&lt;br /&gt;
====Aufruf unter Linux als user (non-root)====&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann häufig avrdude nur als user &#039;root&#039; auf den USB-Programmer zugreifen. Als normaler User bekommt man eine Fehlermeldung wie:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#avrdude -c usbtiny -p m8&lt;br /&gt;
 &lt;br /&gt;
avrdude: error: usbtiny_transmit: &lt;br /&gt;
error sending control message: &lt;br /&gt;
Operation not permitted&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies liegt daran, dass die device-nodes, die beim Einstecken des USB-Programmers von udev angelegt werden, root zugeordnet sind. Man kann dies ändern, indem man udev-Regeln für die verwendeten Programmer anlegt. Unter Debian muß man dazu nur eine neue Datei, z.&amp;amp;nbsp;B. 015_usbprog.rules unter /etc/udev/rules.d anlegen, z.&amp;amp;nbsp;B. mit folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Atmel AVR ISP mkII&lt;br /&gt;
SUBSYSTEM==&amp;quot;usb&amp;quot;, SYSFS{idVendor}==&amp;quot;03eb&amp;quot;, SYSFS{idProduct}==&amp;quot;2104&amp;quot;, GROUP=&amp;quot;users&amp;quot;, MODE=&amp;quot;0660&amp;quot; http://sourceforge.net/apps/trac/libusb-win32/wiki&lt;br /&gt;
&lt;br /&gt;
# usbprog bootloader&lt;br /&gt;
ATTRS{idVendor}==&amp;quot;1781&amp;quot;, ATTRS{idProduct}==&amp;quot;0c62&amp;quot;, GROUP=&amp;quot;users&amp;quot;, MODE=&amp;quot;0660&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
# USBasp programmer&lt;br /&gt;
ATTRS{idVendor}==&amp;quot;16c0&amp;quot;, ATTRS{idProduct}==&amp;quot;05dc&amp;quot;, GROUP=&amp;quot;users&amp;quot;, MODE=&amp;quot;0660&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
# USBtiny programmer&lt;br /&gt;
ATTRS{idVendor}==&amp;quot;1781&amp;quot;, ATTRS{idProduct}==&amp;quot;0c9f&amp;quot;, GROUP=&amp;quot;users&amp;quot;, MODE=&amp;quot;0660&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
habe den alten Inhalt nur auskommentiert, weil ich das ganze nur mit dem mkII testen konnte. ...Nur falls sich jemand beschweren sollte.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Atmel AVR ISP mkII&lt;br /&gt;
ATTRS{idVendor}==&amp;quot;03eb&amp;quot;, ATTRS{idProduct}==&amp;quot;2104&amp;quot;, GROUP=&amp;quot;users&amp;quot;, MODE=&amp;quot;0660&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
# usbprog bootloader&lt;br /&gt;
ATTRS{idVendor}==&amp;quot;1781&amp;quot;, ATTRS{idProduct}==&amp;quot;0c62&amp;quot;, GROUP=&amp;quot;users&amp;quot;, MODE=&amp;quot;0660&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
# USBasp programmer&lt;br /&gt;
ATTRS{idVendor}==&amp;quot;16c0&amp;quot;, ATTRS{idProduct}==&amp;quot;05dc&amp;quot;, GROUP=&amp;quot;users&amp;quot;, MODE=&amp;quot;0660&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
# USBtiny programmer&lt;br /&gt;
ATTRS{idVendor}==&amp;quot;1781&amp;quot;, ATTRS{idProduct}==&amp;quot;0c9f&amp;quot;, GROUP=&amp;quot;users&amp;quot;, MODE=&amp;quot;0660&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach muss in der Regel der udev-Dienst neu gestartet werden, was -- je nach System -- mit einem der beiden folgenden Befehle funktionieren sollte (natürlich nur als root):&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 /etc/init.d/udev restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 service udev restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo /sbin/udevadm control --reload-rules&amp;lt;/pre&amp;gt; bei aktueller udev-version, oder&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo /sbin/udevcontrol --reload-rules&amp;lt;/pre&amp;gt;, bei älteren udev-versionen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Danach sollte der USB-Programmer erneut angeschlossen werden. Falls es immer noch nicht funktioniert kann es helfen, als GROUP &amp;quot;plugdev&amp;quot; statt &amp;quot;users&amp;quot; zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Hiermit werden der AVR ISP mkII, der usbprog Bootloader, USBasp und USBtiny bekannt gemacht, so daß alle User in der Gruppe &amp;quot;users&amp;quot; darauf zugreifen können.&lt;br /&gt;
&lt;br /&gt;
Für weitere USB-Programmer muß man die entsprechende Zeile (mit ATTRS...) anlegen und die passenden Vendor und Product IDs eintragen.&lt;br /&gt;
&lt;br /&gt;
Siehe auch:&lt;br /&gt;
* [http://www.reactivated.net/writing_udev_rules.html Writing udev rules]&lt;br /&gt;
&lt;br /&gt;
=== Anzeige unterstützter AVRs ===&lt;br /&gt;
Wie die anderen Atmels bei avrdude heißen zeigt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
avrdude -?&lt;br /&gt;
avrdude -p ?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== neuere AVRs hinzufügen ===&lt;br /&gt;
Manch neueres Silizium wird nicht erkannt da sich z.T. die IDs geändert haben. Um diese erfolgreich zu Programmieren empfiehlt sich ein eigenes config-File zu verwenden. Darin werden die &#039;fehlenden&#039; CPUs ergänzt:&lt;br /&gt;
&lt;br /&gt;
z.B. ATmega168P (Programmierung wie ATmega168): einfach den ATmega168 Teil duplizieren und die entsprechenden Änderungen (id, desc, signature) vornehmen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#------------------------------------------------------------&lt;br /&gt;
# ATmega168P&lt;br /&gt;
#------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
part&lt;br /&gt;
    id              = &amp;quot;m168p&amp;quot;;&lt;br /&gt;
    desc            = &amp;quot;ATMEGA168P&amp;quot;;&lt;br /&gt;
     has_debugwire = yes;&lt;br /&gt;
     flash_instr   = 0xB6, 0x01, 0x11;&lt;br /&gt;
     eeprom_instr  = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,&lt;br /&gt;
	             0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,&lt;br /&gt;
	             0x99, 0xF9, 0xBB, 0xAF;&lt;br /&gt;
    stk500_devcode  = 0x86;&lt;br /&gt;
    # avr910_devcode = 0x;&lt;br /&gt;
    signature       = 0x1e 0x94 0x0b;&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
danach kann, unter Angabe des neuen config-Files, auch ein ATmega168P programmiert werden, z.B.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
avrdude -pm168p -C ~/.avrdude.config.neu -cstk500v2 -v  -U flash:w:main.hex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anschluss an COM10 und höher (Windows) ===&lt;br /&gt;
&lt;br /&gt;
Wenn AVRDUDE unter Windows an COM10 und höher betrieben werden soll, ist eine andere Schreibweise für die Schnittstelle in der Kommandozeile nötig. Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
avrdude -c stk500v2 -p m16 -P \\.\com13 -uF -vvvv 2&amp;gt; logfile.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In diesem Beispiel wird statt der gewohnten Schreibweise &#039;&#039;&#039;com13&#039;&#039;&#039; die spezielle Schreibweise  &#039;&#039;&#039;\\.\com13&#039;&#039;&#039; verwendet und es wird mit &#039;&#039;-vvvv 2&amp;gt; logfile.txt&#039;&#039; eine ausführliche Debugausgabe für Fragen im Forum erzeugt. Näheres hierzu in der  [http://www.mikrocontroller.net/topic/90401 Forumsdiskussion].&lt;br /&gt;
&lt;br /&gt;
=== AVRISPmkII + AVRDUDE + Window Vista (32) ===&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/topic/126594#1157327&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;avrdude was compiled without usb support&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Offenbar enthielt WinAVR-20100110 zunächst fälschlicherweise eine AVRDUDE Version ohne USB Support [http://www.mikrocontroller.net/topic/163022#1554907].&lt;br /&gt;
&lt;br /&gt;
Abhilfe:&lt;br /&gt;
 &lt;br /&gt;
1. WinAVR deinstallieren, gleiches Release (WinAVR-20100110) nocheinmal herunterladen und installieren (mindestens seit Anfang März 2010 enthält dieses Release avrdude in der Version 5.10 und bringt USB-Support mit).&lt;br /&gt;
&lt;br /&gt;
2. AVRDUDE selbst compilieren: http://www.mikrocontroller.net/topic/163675&lt;br /&gt;
&lt;br /&gt;
3. Compilierte Version 5.10 downloaden: http://www.mikrocontroller.net/topic/163675#1594689&lt;br /&gt;
&lt;br /&gt;
=== Textausgabe in Datei umleiten? ===&lt;br /&gt;
&lt;br /&gt;
Die Windows-&amp;quot;Shell&amp;quot; &#039;&#039;cmd&#039;&#039; benutzt für die Ausgabeumleitung die gleiche Syntax wie die Bourne-Shell (und damit auch&lt;br /&gt;
Bash): &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
programm &amp;gt;datei 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
zur Umleitung von STDOUT und STDERR in die gleiche Datei (Yalu in [http://www.mikrocontroller.net/topic/124509#1135568]).&lt;br /&gt;
&lt;br /&gt;
Beispiel für Windows ([http://www.mikrocontroller.net/topic/124509#1136322], [http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true M$]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
avrdude -c avrispmkII -p m8 -P usb:xx -v &amp;gt; &amp;quot;C:\output.txt&amp;quot; 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder nur STDERR in Datei umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
avrdude -c avrispmkII -p m8 -P usb:xx -v 2&amp;gt; &amp;quot;C:\output.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [http://www.franzis.de/elektronik/lernpakete-elektronik/lernpaket-mikrocontroller Franzis] bzw. [http://www.elo-web.de/elo/mikrocontroller-und-programmierung/avr-grundlagen/experimente-mit-dem-attiny13 ELO] Lernpaket Mikrocontroller (Attiny13) ===&lt;br /&gt;
&lt;br /&gt;
Markus hat in [http://www.mikrocontroller.net/topic/169549#1649459] einen Weg beschrieben, wie man den einfachen Programmieradapter des Lernpakets mit AVRDUDE ansteuern kann.&lt;br /&gt;
&lt;br /&gt;
Eine weitere Anleitung [http://www.elektronik-labor.de/AVR/AVRdude.html LP Mikrocontroller und Attiny45 mit Avrdude] gibt es von Ralf Beesner auf der Webseite des Entwicklers Burkhard Kainka. In &#039;&#039;avrdude.conf&#039;&#039; wird dabei ein neuer Programmieradapter namens &#039;&#039;burkhard&#039;&#039; hinzugefügt. Ein zweiter Eintrag &#039;&#039;burkhard2&#039;&#039; in dieser &#039;&#039;&#039;avrdude.conf&#039;&#039;&#039; ist für die Programmierung des Atmega8 auf dem Franzis Retro-Pong Bausatz mit Hilfe des &amp;quot;Mega8-ISP-Programmer&amp;quot; (Layout siehe ELO-Webseite) vorgesehen.&lt;br /&gt;
&lt;br /&gt;
=== AVRDUDE mit Arduino Bootloader benutzen ===&lt;br /&gt;
&lt;br /&gt;
Mit der Option &#039;&#039;-c stk500v1&#039;&#039; kann AVRDUDE den [[Bootloader]] in Arduino Boards ansprechen [http://www.mikrocontroller.net/topic/195963#1919654].&lt;br /&gt;
&lt;br /&gt;
Es existieren auch modifizierte Versionen von AVRDUDE, die einen Programmer namens &#039;&#039;arduino&#039;&#039; kennen (avrdude.conf untersuchen!). Damit lautet die Kommandozeile für ein Arduinoboard mit Atmega168 beispielsweise [http://www.neuraladvance.com/2010/04/08/using-avrdude-with-the-arduino-duemilanove/]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
avrdude -c arduino -p m168 -P usb -U flash:w:&amp;lt;filename&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Bootloader-Hacks von [http://www.ladyada.net/library/arduino/bootloader.html Ladyada] arbeiten nochmal etwas anders.&lt;br /&gt;
&lt;br /&gt;
Gelegentlich gibt es unter Windows Probleme mit der allgemeinen AVRDUDE Version und deren Handling der DTR/RTS Leitung ([[RS232]]). Es kann helfen, unmittelbar von dem Absenden der Kommandozeile einen RESET auf dem Arduinoboard durchzuführen.&lt;br /&gt;
Ein kurzes Setzen der DTR Leitung auf HIGH bewirkt ein RESET. So ist es möglich eine .bat Datei zu erstellen mit folgendem Code: (com6 ist ein Virtueller USB Comport) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mode com6 dtr=on&lt;br /&gt;
avrdude -c arduino -p m168 -P \\.\com6 -U flash:w:&amp;lt;filename&amp;gt;&lt;br /&gt;
if %ERRORLEVEL%==0 goto fertig&lt;br /&gt;
Pause&lt;br /&gt;
:fertig&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man den mode-Befehl nicht verwenden kann, etwa weil man cygwin und ein makefile verwendet, so kann man stattdessen &amp;lt;pre&amp;gt;cmd /c mode com6 dtr=on&amp;lt;/pre&amp;gt; verwenden. In cygwin empfiehlt sich &amp;lt;pre&amp;gt;cmd /c mode com6 dtr=on &amp;gt; /dev/null&amp;lt;/pre&amp;gt;, damit wird die unnütze Ausgabe des Befehls verborgen.&lt;br /&gt;
&lt;br /&gt;
Siehe auch:&lt;br /&gt;
* http://www.mikrocontroller.net/topic/232367&lt;br /&gt;
* http://www.mikrocontroller.net/topic/238243&lt;br /&gt;
&lt;br /&gt;
=== mysmartUSB V2.11 und ATtiny 13 ===&lt;br /&gt;
&lt;br /&gt;
mysmartUSB V2.11 verlangt -cavr910 als Programmer. Leider ist in avrdude&lt;br /&gt;
5.10 immer noch nich der ATtiny13 damit zu programmieren. Also in die&lt;br /&gt;
avrdude.conf folgendes mit unter ATtiny13 aufnehmen, so kann er dann&lt;br /&gt;
korrekt programmiert werden(inkl. Fuse Bits).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#------------------------------------------------------------&lt;br /&gt;
# ATtiny13&lt;br /&gt;
#------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
part&lt;br /&gt;
    id                  = &amp;quot;t13&amp;quot;;&lt;br /&gt;
    desc                = &amp;quot;ATtiny13&amp;quot;;&lt;br /&gt;
     has_debugwire = yes;&lt;br /&gt;
     flash_instr   = 0xB4, 0x0E, 0x1E;&lt;br /&gt;
     eeprom_instr  = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,&lt;br /&gt;
               0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC,&lt;br /&gt;
               0x99, 0xE1, 0xBB, 0xAC;&lt;br /&gt;
    stk500_devcode      = 0x14;&lt;br /&gt;
    avr910_devcode      = 0x55;&lt;br /&gt;
......&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Achtung! Programmieren geht auch mit -cavr911. Allerdings geht das Fuse&lt;br /&gt;
setzen nicht und man bekommt eine Fehlermeldung.(Programm läuft aber)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Reading | ################################################## | 100%&lt;br /&gt;
0.12s&lt;br /&gt;
&lt;br /&gt;
avrdude: verifying ...&lt;br /&gt;
avrdude: 226 bytes of flash verified&lt;br /&gt;
avrdude: reading input file &amp;quot;0x7a&amp;quot;&lt;br /&gt;
avrdude: writing lfuse (1 bytes):&lt;br /&gt;
&lt;br /&gt;
Writing |  ***failed;&lt;br /&gt;
################################################## | 100% 0.00s&lt;br /&gt;
&lt;br /&gt;
avrdude: 1 bytes of lfuse written&lt;br /&gt;
avrdude: verifying lfuse memory against 0x7a:&lt;br /&gt;
avrdude: load data lfuse data from input file 0x7a:&lt;br /&gt;
avrdude: input file 0x7a contains 1 bytes&lt;br /&gt;
avrdude: reading on-chip lfuse data:&lt;br /&gt;
&lt;br /&gt;
Reading | ################################################## | 100%&lt;br /&gt;
0.00s&lt;br /&gt;
&lt;br /&gt;
avrdude: verifying ...&lt;br /&gt;
avrdude: 1 bytes of lfuse verified&lt;br /&gt;
avrdude: reading input file &amp;quot;0xff&amp;quot;&lt;br /&gt;
avrdude: writing hfuse (1 bytes):&lt;br /&gt;
&lt;br /&gt;
Writing |  ***failed;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anpassungen von avrdude.conf an neuere AVRs ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ATtiny167&#039;&#039;&#039; siehe [http://www.mikrocontroller.net/topic/236355 Forumbeitrag von Volker U.]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* Offizielle AVRDUDE Homepage unter http://www.nongnu.org/avrdude/&lt;br /&gt;
* User Manual (engl.) unter http://www.nongnu.org/avrdude/user-manual/avrdude.html#Top&lt;br /&gt;
* Kompilierte Windows Version mit USB Support http://yuki-lab.jp/hw/avrdude-GUI/avrdude-5.5-win32-bin.zip&lt;br /&gt;
* Kompilierte Windows Version avrdude 5.10 mit USB Support http://www.mikrocontroller.net/topic/163675#1594689&lt;br /&gt;
* Kompilierte Windows Version avrdude 5.11.1 mit USB Support http://www.mikrocontroller.net/topic/163675#2383773&lt;br /&gt;
* Wer Interesse an der modifizierten Version von AVRDUDE und des AVR910-Programmer hat, kann sich bei http://www.fischl.de/thomas/elektronik/avr910e/ informieren. Der Programmer bleibt auch mit der Modifikation weiterhin kompatibel zu anderer Programmiersoftware.&lt;br /&gt;
* [[Burn-o-mat|AVR Burn-O-Mat]] GUI (Graphic User Interface) für AVRDUDE http://burn-o-mat.net mit FUSE-Editor (Java, für Windows und Linux)&lt;br /&gt;
* [http://www.soft-land.de/ AVRBurner] Ponyprog-ähnliche Oberfläche für AVRDUDE.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.microstar.ir/download/SinaProg.zip SinaProg] SinaProg - avrdude GUI mit AVR Fuse Calculator. &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; LINK IST TOT&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Kategorie:AVR-Programmer und -Bootloader]]&lt;br /&gt;
[[Kategorie:Entwicklungstools]]&lt;/div&gt;</summary>
		<author><name>84.147.32.209</name></author>
	</entry>
</feed>