<?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=Maya</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=Maya"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Maya"/>
	<updated>2026-04-10T10:08:55Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_und_Linux&amp;diff=51066</id>
		<title>AVR und Linux</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_und_Linux&amp;diff=51066"/>
		<updated>2010-10-02T21:57:39Z</updated>

		<summary type="html">&lt;p&gt;Maya: /* Fuses, Lockbits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Was ist zu beachten, wenn man mit einer Linux-Distribution AVRs programmieren möchte? Hier ist eine offene Liste von verschiedenen Tipps dazu...&lt;br /&gt;
&lt;br /&gt;
==Toolchain beschaffen==&lt;br /&gt;
&lt;br /&gt;
Eventuell sind die benötigten Pakete in der verwendeten Distribution enthalten. Einfach mal die Paketnamen und -beschreibungen nach &amp;quot;avr&amp;quot; durchsuchen.&lt;br /&gt;
&lt;br /&gt;
Diese fertigen Pakete sind aber nicht selten mit Vorsicht zu genießen, denn es gibt ein ganz grundsätzliches Problem. Im Prinzip kann man einen avr-gcc &amp;quot;bauen&amp;quot;, indem man sich die offiziellen GCC-Quellen besorgt und dann einfach für das Target avr übersetzt. Und in der Tat scheinen die in den Distributionspaketen enthaltenen Compiler nicht selten auf genau diesem Wege entstanden zu sein. Das Problem dabei ist, dass ein solcher avr-gcc niemals vollständig/aktuell ist, denn es gibt immer zusätzliche AVR spezifische Patches, die nicht in den offiziellen GCC-Quellen enthalten sind. Zum einen, weil der jeweilige Patch noch zu neu ist (die Übernahme in die offiziellen Quellen dauert seine Zeit), zum anderen weil er grundsätzlich nicht offiziell übernommen werden kann, da der Autor des Patches kein FSF-Assignment hat.&lt;br /&gt;
Ähnliches gilt auch für die weiteren Komponenten der Toolchain, z.B. binutils.&lt;br /&gt;
&lt;br /&gt;
Wer eine Distribution benutzt, die keine AVR-Pakete enthält, oder wer obigem Problem aus dem Weg gehen will, kann sich selber eine Toolchain mit den aktuellen Patches übersetzen. Ziemlich einfach geht das mit einem Skript von Bingo600, das man hier bekommen kann:&lt;br /&gt;
* http://www.avrfreaks.net/index.php?name=PNphpBB2&amp;amp;file=viewtopic&amp;amp;t=95328 (mit avr-libc 1.7.x)&lt;br /&gt;
* http://www.avrfreaks.net/index.php?name=PNphpBB2&amp;amp;file=viewtopic&amp;amp;t=42631 (mit avr-libc 1.6.x)&lt;br /&gt;
&lt;br /&gt;
Es gibt auch fertige Deb-Pakete, die auf der Basis dieses Skripts entstanden sind:&lt;br /&gt;
* http://www.wrightflyer.co.uk/avr-gcc/&lt;br /&gt;
&lt;br /&gt;
==Editor==&lt;br /&gt;
&lt;br /&gt;
Der Editor sollte das Bearbeiten vom Programm einfach machen. Evtl. nützlich sind Features, um z.&amp;amp;nbsp;B. per Knopfdruck zu kompilieren und das Programm auf den AVR zu übertragen. Ansonsten: Editoren sind Geschmackssache, d.h. ausprobieren. Hier eine Auswahl (alphabetisch):&lt;br /&gt;
&lt;br /&gt;
: [http://www.codeblocks.org/ Codeblocks] [gtk]&lt;br /&gt;
: [[AVR_Eclipse|Eclipse]] [http://www.eclipse.org/] [Java]&lt;br /&gt;
: [http://www.gnu.org/software/emacs/ Emacs] bzw. [http://www.xemacs.org/ XEmacs] [Textterminal oder X]&lt;br /&gt;
: [http://www.geany.org/ Geany] [gtk]&lt;br /&gt;
: [http://www.gnome.org/projects/gedit/ gedit] [GNOME]&lt;br /&gt;
: [http://kate-editor.org/ kate] [KDE]&lt;br /&gt;
: [http://www.kdevelop.org/ KDevelop] [KDE]&lt;br /&gt;
: [http://www.cadmaniac.org/projectMain.php?projectName=kontrollerlab Kontrollerlab] [KDE]&lt;br /&gt;
: [http://quanta.kdewebdev.org/ Quanta+] [KDE] (eigentlich Webentwicklungsumgebung)&lt;br /&gt;
: [http://www.scintilla.org/ SciTE]&lt;br /&gt;
: [http://www.vim.org/ Vim bzw. GVim] [Textterminal oder X]&lt;br /&gt;
&lt;br /&gt;
Es lassen sich aber Programme auch in &#039;fremden&#039; Desktopumgebungen ausführen, z.B KDevelop in GNOME.&lt;br /&gt;
&lt;br /&gt;
==C-Compiler: avr-gcc==&lt;br /&gt;
&lt;br /&gt;
Macht aus dem C-Code den vom AVR ausführbaren binären Programmcode.&lt;br /&gt;
&lt;br /&gt;
Siehe auch:&lt;br /&gt;
* [[AVR-GCC]]&lt;br /&gt;
* [[AVR-GCC-Tutorial]]&lt;br /&gt;
&lt;br /&gt;
==Laufzeitbibliothek: avr-libc==&lt;br /&gt;
&lt;br /&gt;
Enthält Makros und Hardwaredefinitionen wie Registernamen für (die meisten) AVRs. Man muss sich deswegen um die echten Adressen in der Prozessor-Logik nicht mehr selbst kümmern, sondern kann direkt die Namen und Werte aus dem Datenblatt benutzen.&lt;br /&gt;
&lt;br /&gt;
http://www.nongnu.org/avr-libc/user-manual/index.html&lt;br /&gt;
&lt;br /&gt;
==Makefile==&lt;br /&gt;
&lt;br /&gt;
Enthält Informationen zum Kompilieren. Das Programm make startet damit den angegeben Compiler. Im einfachsten Fall muss man also nur &#039;&#039;&#039;make all&#039;&#039;&#039; im entsprechenden Projektverzeichnis aufrufen, der Rest läuft automatisch. Die Datei heisst einfach nur Makefile.&lt;br /&gt;
&lt;br /&gt;
Hier ein Skript, mit dem man die Einstellungen zusammenklicken kann (benötigt aber auch wieder anderes, z.&amp;amp;nbsp;B. TCL/TK, ..): http://www.sax.de/~joerg/mfile/ Dessen Aufruf erfolgt dann z.&amp;amp;nbsp;B. mit &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wish mfile.tcl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Über ein Menü kann man dann die Einstellungen zusammenklicken. Das Editieren des Makefiles für Spezialanpassungen lässt sich aktivieren.&lt;br /&gt;
&lt;br /&gt;
Wer sie von Windows kennt und sucht: Die Definition F_CPU der Taktfrequenz ist in der aktuellen Linux-Version nicht vorgesehen. Macht nichts, siehe dazu http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Taktfrequenz&lt;br /&gt;
&lt;br /&gt;
==Programmierprogramm==&lt;br /&gt;
&lt;br /&gt;
Das Programmierprogramm schreibt mit entsprechender Hardware auf den Mikrocontroller bzw. liest ihn aus. AVR Programmierprogramme unter Linux sind z.&amp;amp;nbsp;B. [[AVRDUDE]] oder [[uisp]].&lt;br /&gt;
&lt;br /&gt;
Mit dem Makefile-Generator mfile kann man das Programmierprogramm und dessen Aufrufzeile in das Makefile eintragen lassen und später z.&amp;amp;nbsp;B. mit &#039;&#039;make program&#039;&#039; starten.&lt;br /&gt;
&lt;br /&gt;
Für eine interaktive Bedienung von AVRDUDE mit einer grafischen Benutzerschnittstelle (GUI) gibt es [http://avr8-burn-o-mat.aaabbb.de/ avr8-burn-o-mat].&lt;br /&gt;
&lt;br /&gt;
Für &#039;&#039;&#039;USB-Programmer&#039;&#039;&#039; ist die Einstellung der non-root Zugriffsrechte im Artikel [[AVRDUDE#Aufruf_unter_Linux_als_user_.28non-root.29|Aufruf unter Linux als User (non-root)]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
===Fuses, Lockbits===&lt;br /&gt;
&#039;&#039;(In Bearbeitung)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wer bislang Atmels AVR Studio unter Windows zum Programmieren der [[AVR_Fuses]] benutzt hat, kann das z.&amp;amp;nbsp;B. mit dem oben beschriebenen grafischen [[Burn-o-mat|AVR Burn-O-Mat]] oder eben mit AVRDUDE (über die Shell) machen. Wer die Dokumentation sucht, findet sie mit Sicherheit im [http://download.savannah.gnu.org/releases/avrdude/ gepackten Programmpaket]. &lt;br /&gt;
&lt;br /&gt;
*TODO: Ein aktuelles PDF&lt;br /&gt;
&lt;br /&gt;
Z.B. bekommt man als Resultat folgenden Aufrufes den Hexwert der lfuse eines Tiny13 über einen [http://www.mikrocontroller.net/articles/AVR_In_System_Programmer AVR-ISP] mit aktueller Firmware, der an einem USB-Seriell-Wandler angeschlossen ist.&lt;br /&gt;
&lt;br /&gt;
Durch die Option -v ([http://en.wiktionary.org/wiki/verbose verbose]) wird aber noch viel mehr [http://www.mikrocontroller.net/forum/read-1-399733.html?#399834 angezeigt]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
avrdude -p t13 -c avrispv2 -P /dev/ttyUSB0 -v -U lfuse:r:-:i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das - anstelle von FILENAME leitet die Ausgabe auf &amp;lt;stdout&amp;gt; (Bildschirm) um.&lt;br /&gt;
&lt;br /&gt;
*TODO: Frontend?&lt;br /&gt;
*TODO: Shellbefehl, um die Werte binär anzuzeigen?&lt;br /&gt;
&lt;br /&gt;
Eine Anleitung zum Umgang:&lt;br /&gt;
http://www.mikrocontroller.net/forum/read-1-152502.html&lt;br /&gt;
&lt;br /&gt;
Eine 0 steht für eine gesetzte Fuse.&lt;br /&gt;
&lt;br /&gt;
Die Bedeutung der Bits findet sich im Datenblatt unter &amp;quot;Memory Programming -&amp;gt; Fuse Bytes&amp;quot; (tiny13).&lt;br /&gt;
&lt;br /&gt;
===Program/Burn Flash===&lt;br /&gt;
&#039;&#039;(In Bearbeitung)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Mikrocontroller wird wie beim Kompilieren mithilfe von make und der eingestellten Programmiersoftware mit dem Befehl &#039;&#039;make program&#039;&#039; geflasht&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Anwendung&lt;br /&gt;
&lt;br /&gt;
==Konfiguration, Probleme, Erfahrungen==&lt;br /&gt;
&lt;br /&gt;
===Debian===&lt;br /&gt;
&lt;br /&gt;
* Toolchain-Build: http://blog.coldtobi.de/index.php?op=ViewArticle&amp;amp;articleId=21&amp;amp;blogId=1&lt;br /&gt;
&lt;br /&gt;
==== Etch (Netinst) ====&lt;br /&gt;
* Installation: gcc-avr, libc-avr, avrdude aus Standardquellen&lt;br /&gt;
* Emacs21 als Editor&lt;br /&gt;
* Makefile&lt;br /&gt;
... läuft problemlos.&lt;br /&gt;
&lt;br /&gt;
===Gentoo===&lt;br /&gt;
Gentoo bietet mit dem Shellscript &amp;quot;crossdev&amp;quot; eine einfache automatisierte Möglichkeit die Toolchain zu erstellen. Genauere Versionen von binutils/gcc/libc können via parameter übergeben werden.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
emerge crossdev&lt;br /&gt;
crossdev --target avr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls &#039;crossdev --target avr&#039; nicht fehlerfrei durchlaufen sollte mit &#039;crossdev -t avr --without-headers&#039; versuchen (2009-01-28).&lt;br /&gt;
&lt;br /&gt;
crossdev ist nich empfehlenswert, da anscheinend ein compiler erstellt wird ohne passende patches. Das kann zu problemen führen, muss aber nicht, z.B. kann der , damit erstellte, gcc keine 64bit werte verarbeiten.&lt;br /&gt;
&lt;br /&gt;
===Mandrake===&lt;br /&gt;
&lt;br /&gt;
* Toolchain-Build: http://www.avrfreaks.net/index.php?name=PNphpBB2&amp;amp;file=viewtopic&amp;amp;t=42631&lt;br /&gt;
* 2007: benötigt &amp;quot;texinfo&amp;quot; Package &lt;br /&gt;
&lt;br /&gt;
===openSUSE===&lt;br /&gt;
&lt;br /&gt;
* Seit Version 10.0 sind die Pakete avr-libc, cross-avr-gcc, cross-avr-binutils und avrdude in der Download-Version von openSUSE enthalten und können einfach über YaST bzw. zypper installiert werden.&lt;br /&gt;
* Bericht über Misserfolg bei Opensuse 11.1: http://www.mikrocontroller.net/topic/83283#1585707&lt;br /&gt;
* Auch bei Suse 11.2 gibt es mit dem Paket cross-avr-gcc 4.1.2 vom 15.1.2007 in der 64bit Version Schwierigkeiten. Der Linker traegt den Interruptvektor nicht richtig im Hexcode ein. Keine Loesung bekannt.&lt;br /&gt;
* Aktuelle RPMs für openSUSE gibt es unter http://download.opensuse.org/repositories/CrossToolchain:/avr/ . Entsprechend der verwendeten openSUSE-Version das jeweilige Verzeichnis als Repository zu yast hinzufuegen (Achtung: Pfade fuer gcc-Binaries sind unterschiedlich zu den von openSUSE normalerweise mitgebrachten Paketen!).&lt;br /&gt;
&lt;br /&gt;
===Ubuntu 6.06===&lt;br /&gt;
&lt;br /&gt;
* Pakete veraltet; ist bereits als bug gemeldet&lt;br /&gt;
* Toolchain selbst kompilieren:&lt;br /&gt;
** default system path steht in /etc/environment&lt;br /&gt;
** Toolchain-Build: http://www.avrfreaks.net/index.php?name=PNphpBB2&amp;amp;file=viewtopic&amp;amp;t=42631&lt;br /&gt;
&lt;br /&gt;
===Ubuntu 7.04===&lt;br /&gt;
&lt;br /&gt;
* Toolchain-Build: http://www.avrfreaks.net/index.php?name=PNphpBB2&amp;amp;file=viewtopic&amp;amp;t=42631&lt;br /&gt;
&lt;br /&gt;
===Ubuntu 8.04===&lt;br /&gt;
* einfach eine universe-Paketquelle von Ubuntu 8.10 (Intrepid Ibex) hinzufügen. Dort gibt es dann aktuelle AVR-Pakete (gcc 4.3, libc 1.6.2 usw.). Anleitung hier: http://packages.ubuntu.com/de/intrepid/i386/gcc-avr/download&lt;br /&gt;
&lt;br /&gt;
===Ubuntu neuer===&lt;br /&gt;
* Die Pakete sind im Packetmanagement System schon enthalten. Ein &amp;quot;sudo apt-get install gcc-avr avr-libc&amp;quot; installiert sie.&lt;br /&gt;
&lt;br /&gt;
===AVR-SLax===&lt;br /&gt;
* Einfach zu benutzende AVR-Live-CD &lt;br /&gt;
* Keine installation notwendig&lt;br /&gt;
* ISO brennen und von CD booten&lt;br /&gt;
Zu finden unter: http://www.lost-byte.de/avrslax.php&lt;br /&gt;
&lt;br /&gt;
===rCOS LiveCD===&lt;br /&gt;
&lt;br /&gt;
Die [http://wiki.rcos.eu/index.php/RCOS-LiveCD rCOS LiveCD] (Download: http://www.rcos.eu/tools/livecd/index.html) ist eine angenehm schlanke Debian-LiveCD mit etlichen installierten Toolchains ([[AVR]], [[ARM]], [[Cortex-M3]], ...) extra für die µC Arbeit. Auf der LiveCD befindet sich auch ein [[AVRDUDE]] v5.5.&lt;br /&gt;
&lt;br /&gt;
[[Category:AVR]]&lt;br /&gt;
[[Kategorie:Linux]]&lt;/div&gt;</summary>
		<author><name>Maya</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVRDUDE&amp;diff=51065</id>
		<title>AVRDUDE</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVRDUDE&amp;diff=51065"/>
		<updated>2010-10-02T21:50:53Z</updated>

		<summary type="html">&lt;p&gt;Maya: /* Aufruf unter Linux als user (non-root) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Beschreibung ==&lt;br /&gt;
AVRDUDE (http://www.nongnu.org/avrdude/) ist eine 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].&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;
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;
&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;
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;
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; &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;
=== 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 selbs 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;
== 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;
* 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://myavr.de/myForum/viewtopic.php?t=1913 mysmartusb AVR910-Devcodes] für moderne AVRs (Firmware 2.3). Kann zur Anpassung von AVRDUDE in avrdude.conf verwendet werden.&lt;br /&gt;
* [http://www.soft-land.de/index.php?page=avrburner AVRBurner] Ponyprog ähnliche Oberfläche für AVRDUDE.&lt;br /&gt;
* [http://www.microstar.ir/download/SinaProg.zip SinaProg] SinaProg - avrdude GUI mit AVR Fuse Calculator.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Maya</name></author>
	</entry>
</feed>