<?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=124.247.237.10</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=124.247.237.10"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/124.247.237.10"/>
	<updated>2026-04-10T23:39:38Z</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=40139</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=40139"/>
		<updated>2009-10-23T07:00:10Z</updated>

		<summary type="html">&lt;p&gt;124.247.237.10: 2008&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;
Evtl. sind die benötigten Pakete schon in der Distribution enthalten. Es sollte unbedingt geprüft werden, ob sie aktuell sind, es hat sich einiges geändert.&lt;br /&gt;
&lt;br /&gt;
Alternativ: &lt;br /&gt;
* AVR Cross Development Kit - http://cdk4avr.sourceforge.net/&lt;br /&gt;
* Selbst kompilieren - &lt;br /&gt;
** http://www.nongnu.org/avr-libc/user-manual/install_tools.html&lt;br /&gt;
** http://www.roboternetz.de/wissen/index.php/Avr-gcc_und_avrdude_installieren&lt;br /&gt;
** http://www.linuxfocus.org/Deutsch/November2004/article352.shtml#352lf&lt;br /&gt;
** http://www.avrfreaks.net/index.php?name=PNphpBB2&amp;amp;file=viewtopic&amp;amp;t=42631&lt;br /&gt;
** http://www.mikrocontroller.net/topic/130972 (2009)&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.B. per Knopfdruck zu kompilieren und das Programm auf den AVR zu übertragen. Ansonsten: Editoren sind Geschmackssache, d.h. ausprobieren.&lt;br /&gt;
&lt;br /&gt;
: [http://www.gnome.org/projects/gedit/ gedit] [gnome]&lt;br /&gt;
: [http://kate-editor.org/ kate] [kde]&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.vim.org/ Vim bzw. GVim] [Textterminal oder X]&lt;br /&gt;
: [http://www.codeblocks.org/ Codeblocks] [gtk]&lt;br /&gt;
: [http://www.cadmaniac.org/projectMain.php?projectName=kontrollerlab Kontrollerlab] [KDE]&lt;br /&gt;
&lt;br /&gt;
Es lassen sich aber Programme auch in &#039;fremden&#039; Desktopumgebungen ausführen.&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.B. TCL/TK, ..): http://www.sax.de/~joerg/mfile/ Dessen Aufruf erfolgt dann z.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;
Schreibt mit entsprechender Hardware auf den Controller bzw. liest ihn aus.&lt;br /&gt;
&lt;br /&gt;
Mit mfile lässt sich auch im Makefile gleich das Programmierprogramm zur Übertragung auf den Controller festlegen ([[AVRDUDE]], [[uisp]]): http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Programmierger.C3.A4t_einstellen&lt;br /&gt;
&lt;br /&gt;
Eine Grafische Benutzerschnittstelle (GUI) für AVRDUDE steht mit [http://avr8-burn-o-mat.aaabbb.de/ avr8-burn-o-mat] zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
===Fuses, Lockbits===&lt;br /&gt;
&lt;br /&gt;
Wer bislang Atmels AVR Studio unter Windows zum Programmieren der [[AVR_Fuses]] benutzt hat, kann das z.B. mit [[AVRDUDE]] machen, allerdings über die Shell.&lt;br /&gt;
Wer die Dokumentation sucht, findet sie mit Sicherheit im [http://download.savannah.gnu.org/releases/avrdude/ gepackten Programmpaket]. 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;
Frontend?&lt;br /&gt;
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;
&lt;br /&gt;
Der Mikrocontroller wird wie beim Kompilieren mithilfe von make und der eingestellten Programmiersoftware mit dem Befehl &#039;&#039;&#039;make program&#039;&#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;
The nineteenth century saw the benefits of one money throughout the civilized world. ,&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;
&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;
===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;
[[Category:AVR]]&lt;/div&gt;</summary>
		<author><name>124.247.237.10</name></author>
	</entry>
</feed>