<?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=Avion23</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=Avion23"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Avion23"/>
	<updated>2026-04-10T10:08:35Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_Bootloader_FastBoot_von_Peter_Dannegger/Tutorial_ATtiny13&amp;diff=53539</id>
		<title>AVR Bootloader FastBoot von Peter Dannegger/Tutorial ATtiny13</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_Bootloader_FastBoot_von_Peter_Dannegger/Tutorial_ATtiny13&amp;diff=53539"/>
		<updated>2010-12-12T16:41:21Z</updated>

		<summary type="html">&lt;p&gt;Avion23: /* Fundstellen bzw. Quellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von [[Benutzer:Pnu]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Erstellung eines Bootloaders auf dem Attiny13&#039;&#039;&#039;, nach Peter Dannegger ==&lt;br /&gt;
&lt;br /&gt;
Peter Dannegger hat einen Bootloader geschrieben,der im Gegegensatz zu anderen Bootloadern ohne die UART des Kontrollers auskommt. Deshalb kann er auf den Attiny13 angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Eine Liste von Features:&lt;br /&gt;
&lt;br /&gt;
* verwendet AVR-Studio und dazu passenden ISP-Programmer&lt;br /&gt;
* one wire-Version möglich&lt;br /&gt;
&lt;br /&gt;
Leider ist der Thread zu Peter Danneggers Bootloader zu einem Monster mit über 500 Beiträgen angewachsen, es hat mich einen ganzen Tag gekostet, bis ich auch nur einen Überblick hatte.&lt;br /&gt;
&lt;br /&gt;
Es existiert zwar eine Gebrauchsanweisung, von Karsten Donat geschrieben, nur ist diese auf den Compiler WINAVR und auf avrdude zugeschnitten, sodass ich nicht damit zurecht kam.&lt;br /&gt;
&lt;br /&gt;
Diese Beschreibung arbeitet mit AVR Studio und dazu passendem ISP-Programmer (STK500-clone)&lt;br /&gt;
&lt;br /&gt;
==Files zusammenstellen==&lt;br /&gt;
&lt;br /&gt;
# In AVRStudio: neues Projekt eröffnen (onewire13), mit AVR-Assembler, nicht mit GCC, dabei entstehen zwei ineinander geschachtelte Ordner, im inneren befindet sich ein .aps-file.&lt;br /&gt;
# BOOTLOADV21 (link siehe unten) downloaden, entzippen, alle files im Ordner Bootload in den Ordner platzieren, in dem das onewire13.aps -file befindet.&lt;br /&gt;
# Studio wieder öffnen, file Bootload.asm öffnen, den gesamten Text mit &amp;quot;Schere&amp;quot; (cut) ausschneiden in die Zwischenablage, mit &amp;quot;Briefumschlag&amp;quot;(paste) den Text in onewire13.asm platzieren, das bisher leer war.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Anpassen des file onewire13 auf ATtiny13 und onewire-Betrieb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &amp;quot;include tn13def.inc&amp;quot; durch Löschen des Semikolon am Zeilenanfang aktivieren (einkommentieren).Achtung: eventuell ist das include-statement zu einem anderen Kontrollertyp noch aktiv, dann dieses durch ein Semikolon am Zeilenanfang stillegen (auskommentieren).&lt;br /&gt;
# den gewünschten Programmierpin  (portb,0) zweimal angeben, bei STX und SRX, dann entsteht onewire Betrieb.&lt;br /&gt;
# Wenn two-wire Betrieb gewünscht wird, zwei verschiedene Pins angeben für SRX und STX.&lt;br /&gt;
# Starten der Assemblierung (F7) lässt, wenn alle Fehler beseitigt sind, das  file onewire13.hex entstehen.&lt;br /&gt;
&lt;br /&gt;
==Transferieren in den Attiny13==&lt;br /&gt;
&lt;br /&gt;
# ATtiny auf Programmierplatte aufklemmen (bzw mit ISP verbinden, siehe Hardware).&lt;br /&gt;
# file onewire13.hex über ISP-Schnittstelle einprogrammieren&lt;br /&gt;
# fuse SELFPRGEN programmieren, auch die für die spätere Anwendung notwendigen fuses programmieren, da der Bootloader fuses nicht ändern kann.&lt;br /&gt;
&lt;br /&gt;
Jetzt ist der ATtiny13 mit seinem Bootloader beladen, kann eingelötet oder eingesteckt werden und mit dem Anwenderprogramm programmiert werden.&lt;br /&gt;
&lt;br /&gt;
==Programmiervorgang mit dem Bootloader==&lt;br /&gt;
&lt;br /&gt;
Ein Anwenderprogramm, z.&amp;amp;nbsp;B. versuch.hex kann dann in folgenden Schritten einprogrammiert werden:&lt;br /&gt;
&lt;br /&gt;
==1. AVRFlash2.1.1.exe installieren und  aufrufen==&lt;br /&gt;
&lt;br /&gt;
Um per Bootloader das Programm zu laden, ist das Programm FBOOT von Peter Dannegger auf dem PC notwendig oder das Programm AVRFlash.exe&lt;br /&gt;
&lt;br /&gt;
==2.Parameter eingeben==&lt;br /&gt;
&lt;br /&gt;
Die Kopfzeile von AVRFlash hat drei aufrufbare Menus: Datei, Port, Passwort&lt;br /&gt;
&lt;br /&gt;
Datei:     Pfadangebe und Name des hex.file:  C:/..../versuch.hex&lt;br /&gt;
&lt;br /&gt;
Port:      (COM1, 38400Bd oder entsprechend)&lt;br /&gt;
&lt;br /&gt;
Passwort:  sich mit default zufrieden geben oder 100 Beiträge durchforsten&lt;br /&gt;
&lt;br /&gt;
==3. AVRFlash Programm ausführen==&lt;br /&gt;
&lt;br /&gt;
Verbindung mit COM1 herstellen, dazu dient bei onewire die einfache Schaltung, die Peter Dannegger angibt (PDF: onewire, in Ordner BOOTLOAD).&lt;br /&gt;
Bei twowire benötigt man RS-232-TTL-Schnittstellenbausteine, denn der tiny verträgt keine RS232-Pegel &lt;br /&gt;
&lt;br /&gt;
Flash-Button anklicken und innerhalb der Timeout-Zeit Reset des ATtiny.&lt;br /&gt;
Bei Erfolg leuchten die drei &amp;quot;Leuchtdioden&amp;quot; grün.&lt;br /&gt;
&lt;br /&gt;
Erst nach Trennen von COM1 und neuem Reset läuft danach das Anwenderprogramm, wahrscheinlich gibt es Störungen von der Leitung 2 des COM-Ports im onewire-modus&lt;br /&gt;
&lt;br /&gt;
==Hardware Programmierplatte==&lt;br /&gt;
&lt;br /&gt;
Als Ersatz für einen teuren Programmiersockel war die folgende Programmierplatte hilfreich.&lt;br /&gt;
&lt;br /&gt;
Bild der Programmierplatte&lt;br /&gt;
&lt;br /&gt;
Sie enthält den Footprint des SMD-Attiny13, mit dem Stecker für die ISP-Schnittstelle. (Ich selbst verwende meine private ISP-Verbindung, aus einer 7-Pin-Reihe eines alten 14-Pin IC-Sockels bestehend, die Reihenfolge der Signale ist so gewählt, dass es hier ohne Überkreuzung geht. Diese ist hier im PDF des Drockstocks zu sehen).&lt;br /&gt;
Die Leiterbahnen wurden zuerst verzinnt, anschließend im Bereich des Kontrollers so gut wie möglich mit Lötlitze wieder entzinnt.&lt;br /&gt;
Eine Kontaktfeder aus einem Platinen-Direktstecker (alte 5-1/2-Zoll-Floppy) drückt das IC auf die Platte. Solange die Pins nicht verbogen wurden, ergibt sich ein ausreichender Kontakt, was sich beim Lesen der Signatur und beim Verify zeigt.. &lt;br /&gt;
&lt;br /&gt;
=Fundstellen bzw. Quellen=&lt;br /&gt;
&lt;br /&gt;
Der Thread zu Peter Danneggers Bootloader ist elend lang (576 Beiträge)deshalb die Angabe einiger Fundstellen in Datumsform:&lt;br /&gt;
&lt;br /&gt;
30.09.09  AVRFlash2.1.1.exe (Programm für den PC, zur Benutzung des Bootloaders)&lt;br /&gt;
&lt;br /&gt;
15.10.09  Adapter für onewire, auch im Ordner BOOTLOAD von PeDA&lt;br /&gt;
&lt;br /&gt;
26.10.07  Protokoll des Bootloaders&lt;br /&gt;
&lt;br /&gt;
07.08.09  FBOOT, die DOS-Variante des PC-Bedienprogramms für den Bootloader&lt;br /&gt;
&lt;br /&gt;
Die (neueste) Version 2.2 des Bootloaders von Peter Dannegger ist findbar in:&lt;br /&gt;
&lt;br /&gt;
http://www.avrfreaks.net/index.php?module=Freaks%... (Link unvollständig --[[Benutzer:Hownottobeseen|Hownottobeseen]] 07:36, 17. Okt. 2010 (UTC))&lt;br /&gt;
&lt;br /&gt;
Alte Version:&lt;br /&gt;
http://www.avrfreaks.net/index.php?module=Freaks%20Academy&amp;amp;func=viewItem&amp;amp;item_id=1008&amp;amp;item_type=project&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Programmer und -Bootloader|B]]&lt;/div&gt;</summary>
		<author><name>Avion23</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_Eclipse&amp;diff=51565</id>
		<title>AVR Eclipse</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_Eclipse&amp;diff=51565"/>
		<updated>2010-10-19T21:43:30Z</updated>

		<summary type="html">&lt;p&gt;Avion23: /* Eclipse-IDE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt erste Erfahrungen mit Eclipse und der AVR-Toolchain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Allgemeines zu Eclipse ==&lt;br /&gt;
Eclipse ist eine IDE, die sich alleine nicht zur Programmierung von C/C++ eignet. Dafür gibt es dann das Eclipse-Plugin CDT (auch von ECLIPSE.ORG). Die CDT erweitert Eclipse mit der Möglichkeit, C/C++ zu programmieren. Das aber erstmal nur mit dem GCC. Um jetzt die Toolchain AVR-GCC (WINAVR) einzubinden, benötigt man noch ein weiteres Plugin (CDT AVRGCC oder auch CDT AVR Plugin). Es ist auch möglich, ohne die beiden letzt genannten Plugins zu arbeiten, dann sind die Einstellungen für den GCC an AVR-GCC anzupassen (unkomfortabler).&lt;br /&gt;
&lt;br /&gt;
==  Allgemeines zu dem AVR Eclipse Plugin ==&lt;br /&gt;
&lt;br /&gt;
Da dieser Artikel nicht immer auf dem neuesten Stand ist, bekommt man weitere Informationen auf der englischen [http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin AVR Eclipse Plugin WIKI] Seite&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Plugin Tutorials ===&lt;br /&gt;
&lt;br /&gt;
* Kurzanleitung zur Installation des [http://winavr.scienceprog.com/other-valuable-tools/using-eclipse-as-ide-for-winavr-compiler.html Plugins] (englisch).&lt;br /&gt;
&lt;br /&gt;
== Installation unter Windows ==&lt;br /&gt;
&lt;br /&gt;
=== Was wird benötigt? ===&lt;br /&gt;
==== Compiler ====&lt;br /&gt;
* [http://winavr.sourceforge.net/ WINAVR] AVR-GCC Compiler Toolchain, siehe auch Artikel [[WinAVR]]&lt;br /&gt;
&lt;br /&gt;
==== IDE ====&lt;br /&gt;
Eclipse braucht eine JAVA Runtime Enviroment, falls diese noch nicht installiert ist muss das auch noch heruntergeladen werden&lt;br /&gt;
* [http://java.sun.com/javase/downloads/index.jsp JDK 6 Update 10]&lt;br /&gt;
&lt;br /&gt;
Am einfachsten geht es, wenn man die Version mit dem integrierten CDT-Plugin verwendet.&lt;br /&gt;
Unter diesem Link die Aktuellste &#039;&#039;&#039;Eclipse IDE for C/C++ Developers&#039;&#039;&#039; downloaden&lt;br /&gt;
* [http://www.eclipse.org/downloads/ Eclipse IDE]&lt;br /&gt;
&lt;br /&gt;
Das zusätzliche AVR Plugin ist notwendig zum Einbinden des AVR-GCC. Kann hier heruntergeladen werden. Oder, besser, in einer installierten Eclipse Umgebung eingebunden werden.&lt;br /&gt;
* [http://sourceforge.net/projects/avr-eclipse CDT AVRGCC Plugin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Programmer / Debugger ====&lt;br /&gt;
Zum Programmieren und Debuggen kann man eingentlich jedes beliebige Programm verwenden. Zum Debuggen kommt unter anderem AVaRICE zum Einsatz, mit dem man auch programmieren kann (JTAG).&lt;br /&gt;
Wahlweise ist auch AVRDUDE zum programmieren zu verwenden. Das kann man machen,&lt;br /&gt;
wie man möchte. Beide Programme sind in WINAVR (siehe oben unter Compiler) enthalten.&lt;br /&gt;
&lt;br /&gt;
=== Wie Installieren ===&lt;br /&gt;
WinAVR sollte auf dem System installiert sein. Siehe [[AVR_Eclipse#Compiler|oben]].&lt;br /&gt;
==== JAVA ====&lt;br /&gt;
&lt;br /&gt;
Java Runtime installieren.&lt;br /&gt;
&lt;br /&gt;
==== IDE ====&lt;br /&gt;
Eclipse ist in einem Zip Archiv, das an einen beliebigen Ort entpackt werden kann. Gestartet wird das Programm mit der Datei eclipse.exe. Meldet Eclipse beim Start einen Fehler, ist wahrscheinlich keine oder eine unpassende JAVA Runtime Enviroment installiert.&lt;br /&gt;
&lt;br /&gt;
==== Plugin ====&lt;br /&gt;
Es gibt zwei Möglichkeiten, wobei die [[AVR_Eclipse#.C3.9Cber_Updatesite:|erste]] empfohlen wird:&lt;br /&gt;
&lt;br /&gt;
===== Über Updatesite: =====&lt;br /&gt;
&lt;br /&gt;
* Eclipse starten. Zum Software Update Dialog gehen (Help &amp;gt; Install New Software ...)&lt;br /&gt;
&lt;br /&gt;
* In der Zeile Work with ... http://avr-eclipse.sourceforge.net/updatesite eintragen. &lt;br /&gt;
*Button Add anklicken. Einen Namen vergeben z.B. AVR-Eclipse. &lt;br /&gt;
*Neuste Version von AVR-Eclipse auswählen und installieren.&lt;br /&gt;
&lt;br /&gt;
===== Direkt installieren: ===== &lt;br /&gt;
Das Plugin ist ebenfalls eine ZIP-Datei die entpackt werden muss. Alle Dateien und Ordner im features Ordner müssen in den features Ordner von Eclipse kopiert werden. Alle Dateien und Ordner im Verzeichnis plugins müssen in den plugins Ordner von Eclipse kopiert werden.&lt;br /&gt;
&lt;br /&gt;
== Installation unter Linux ==&lt;br /&gt;
&lt;br /&gt;
===openSuSE===&lt;br /&gt;
Eclipse läßt sich einfach via zypper oder yast installieren:&lt;br /&gt;
&lt;br /&gt;
 zypper install eclipse&lt;br /&gt;
&lt;br /&gt;
Crosscompiler, avr-libc und avrdude:&lt;br /&gt;
&lt;br /&gt;
 zypper install avr-libc&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
==== Eclipse-IDE ====&lt;br /&gt;
* emerge eclipse-sdk -av&lt;br /&gt;
Den Rest per eclipse update oder von Hand:&lt;br /&gt;
* [http://www.eclipse.org/cdt/ Eclipse-CDT-Plugin] Version 3.0.0&lt;br /&gt;
* [http://sf.net/projects/avr-eclipse Eclipse-CDT-Addon for AVR] Version 20070404&lt;br /&gt;
&lt;br /&gt;
==== Compiler ====&lt;br /&gt;
crossdev emergen:&lt;br /&gt;
* emerge crossdev &lt;br /&gt;
Stabile Version der avr-toolchain inkl. g++ kompilieren:&lt;br /&gt;
* USE=&amp;quot;-nocxx&amp;quot; crossdev -s4 -S -t avr&lt;br /&gt;
&lt;br /&gt;
Es gibt Probleme mit crossdev und den ldscripts. Der Link wird nicht angelegt. Fix für 64Bit:&lt;br /&gt;
* ln -s /usr/lib64/binutils/avr/2.20.1/ldscripts/ /usr/avr/lib/&lt;br /&gt;
&lt;br /&gt;
==== Programmer ====&lt;br /&gt;
* emerge uisp&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
==== Eclipse-IDE ====&lt;br /&gt;
* [http://www.eclipse.org/downloads/index.php Eclipse-IDE] Version 3.1.0&lt;br /&gt;
* [http://www.eclipse.org/cdt/ Eclipse-CDT-Plugin] Version 3.0.0&lt;br /&gt;
* [http://sf.net/projects/avr-eclipse Eclipse-CDT-Addon for AVR] Version 20070404&lt;br /&gt;
&lt;br /&gt;
==== Compiler ====&lt;br /&gt;
* binutils-avr 2.15-3&lt;br /&gt;
* gcc-avr 1:3.4.3-2&lt;br /&gt;
* avr-libc 1:1.2.3-3&lt;br /&gt;
&lt;br /&gt;
==== Debugger ====&lt;br /&gt;
* simulavr 0.1.2.2-1&lt;br /&gt;
* gdb-avr 6.3-2&lt;br /&gt;
* ? avra 0.7-1&lt;br /&gt;
&lt;br /&gt;
==== Programmer ====&lt;br /&gt;
* AVRDUDE und die GUI [http://avr8-burn-o-mat.aaabbb.de/ avr8-burn-o-mat]&lt;br /&gt;
* uisp 20050207&lt;br /&gt;
* ? avrp&lt;br /&gt;
* ? avrprog&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 8.10 (Zum ersten) ===&lt;br /&gt;
==== Eclipse-IDE ====&lt;br /&gt;
* [http://www.eclipse.org/downloads Eclipse IDE for C/C++ Developers] Version 3.3, CDT Version 4.0&lt;br /&gt;
* [http://sourceforge.net/projects/avr-eclipse AVR-Eclipse-Plugin] Version 2.2.0&lt;br /&gt;
&lt;br /&gt;
==== Compiler ====&lt;br /&gt;
* binutils-avr: 2.18-3&lt;br /&gt;
* gcc-avr: 1:4.3.0-2&lt;br /&gt;
* avr-libc: 1:1.6.2-1&lt;br /&gt;
&lt;br /&gt;
==== Debugger ====&lt;br /&gt;
* [ftp://ftp.gnu.org/gnu/gdb/gdb-6.6.tar.bz2 avr-gdb]: 6.6; &#039;&#039;&#039;In den Repositories ist 6.4.90!&#039;&#039;&#039; &lt;br /&gt;
* avarice: 2.7-2&lt;br /&gt;
* simulavr: 0.1.2.2-6.1 (nicht getestet, sollte aber genauso funktionieren)&lt;br /&gt;
&lt;br /&gt;
==== Programmer ====&lt;br /&gt;
* avrdude: 5.5-3 und GUI [http://avr8-burn-o-mat.aaabbb.de/ avr8-burn-o-mat]&lt;br /&gt;
&lt;br /&gt;
==== Zusätzliche notwendige Programme/Libraries ====&lt;br /&gt;
* gcc&lt;br /&gt;
* binutils-avr&lt;br /&gt;
* build-essential&lt;br /&gt;
* ncurses-dev&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu (Zum zweiten) ===&lt;br /&gt;
==== AVR-Toolchain ====&lt;br /&gt;
Leider ist in den Repositories nur eine veraltete Version von avr-gdb (bzw. gdb-avr) enthalten. Diese Version hat bei mir zu Fehlern geführt. Deshalb wird die aktuelle Releaseversion 6.6 verwendet.&lt;br /&gt;
&lt;br /&gt;
==== Schritt für Schritt ====&lt;br /&gt;
Als erstes werden die notwendigen Programme aus den Repositories installiert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install gcc gcc-avr avr-libc avrdude binutils-avr avarice build-essential ncurses-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ubuntu 6.10:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install gcc gcc-avr avr-libc avrdude binutils-avr avarice build-essential libncurses5-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich können auch noch folgende Packages interessant sein:&lt;br /&gt;
* Simulavr: Ein Simulator für die AVR-Reihe&lt;br /&gt;
* uisp: Alternativer Downloader&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install simulavr uisp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt kann man bereits das AVR-Target ansprechen, um z.&amp;amp;nbsp;B. die Fuses auszulesen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;avarice -j /dev/ttyUSB0 -P atmega128 -r&amp;lt;/pre&amp;gt;&lt;br /&gt;
* -j: Gibt das Gerät an, mit dem das Target verbunden ist.&lt;br /&gt;
* -P: Zielarchitektur&lt;br /&gt;
* -r: Read Fuses&lt;br /&gt;
&lt;br /&gt;
Dazu ist die Manpage von avarice zu empfehlen: &lt;br /&gt;
&amp;lt;pre&amp;gt;man avarice&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als nächstes muss gdb-avr heruntergeladen und dann kompiliert werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;wget ftp://ftp.gnu.org/gnu/gdb/gdb-6.6.tar.bz2&lt;br /&gt;
tar jxf gdb-6.6.tar.bz2&lt;br /&gt;
cd gdb-6.6&lt;br /&gt;
./configure --target=avr --prefix=/usr/local/avr&lt;br /&gt;
make&lt;br /&gt;
sudo make install&lt;br /&gt;
cd ..&lt;br /&gt;
rm -rf gdb-6.6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies installiert die aktuelle Version von gdb-avr unter /usr/local/avr. Diesen Pfad könnte man zur PATH-Variable hinzufügen, dies ist allerdings nicht zwingend notwendig.&lt;br /&gt;
&lt;br /&gt;
Unter Ubuntu 8.10 kommt es bei der Installation zu Problemen.&lt;br /&gt;
Hier gibt es Abhilfe:&lt;br /&gt;
http://www.mikrocontroller.net/topic/76404#1198507&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zitat:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die Fehlermeldung lautet ja:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
avr-dis.c:xxx: error: format not a string literal and no format arguments&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
und Zeile xxx in dieser Datei lautet: &amp;lt;c&amp;gt;sprintf (buf, xyz);&amp;lt;/c&amp;gt; Wenn man das in &amp;lt;c&amp;gt;strcpy(buf, xyz);&amp;lt;/c&amp;gt; ändert, sollte es funktionieren.&lt;br /&gt;
&lt;br /&gt;
== Einrichten von Eclipse unter Windows ==&lt;br /&gt;
Beim ersten Start muss man einen Workspace angeben, dazu kann das vorgeschlagene Standardverzeichnis verwendet werden, wenn nur ein Benutzer diesen Workspace verwendet, ansonsten sollte man einen Ort auswählen, auf den alle Zugriff haben. Danach sollte das Bild so aussehen. Klicke auf Workbench.&lt;br /&gt;
&lt;br /&gt;
[[Bild:EclipseStart.png]]&lt;br /&gt;
&lt;br /&gt;
== Einrichten von Eclipse unter Linux ==&lt;br /&gt;
&lt;br /&gt;
=== Alternative 1 ===&lt;br /&gt;
&lt;br /&gt;
Das AVR-Eclipse Plugin kann über die Update-Site http://avr-eclipse.sourceforge.net/updatesite/ installiert werden. (Help-&amp;gt;Software Updates...)&lt;br /&gt;
&lt;br /&gt;
Zum Schluss muss noch, die avr-objsplit.bat-Datei, wie folgt, umgeschrieben, nach /usr/bin/avr-objsplit kopiert und ausführbar gemacht werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
avr-objcopy -j .text -j .data -O ihex *.elf flash.hex&lt;br /&gt;
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O ihex *.elf eeprom.hex&lt;br /&gt;
if [ ! -f eeprom.hex ]; then&lt;br /&gt;
        echo &amp;quot;:00000001FF&amp;quot; &amp;gt; eeprom.hex&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ändern der Rechte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod +x avr-objsplit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Einstellungen ====&lt;br /&gt;
Jetzt müssen noch gewisse Einstellungen in Eclipse angepasst werden:&lt;br /&gt;
Unter Window-&amp;gt;Preferences-&amp;gt;AVR-&amp;gt;AVRdude:&lt;br /&gt;
&lt;br /&gt;
* Programmer auswählen&lt;br /&gt;
* Programmerport auswählen&lt;br /&gt;
* Target MCU Type auswählen&lt;br /&gt;
&lt;br /&gt;
==== Projekteinstellungen ====&lt;br /&gt;
Jetzt kann ein neues C-Project angelegt werden, wobei als Projekttyp &amp;quot;AVR Cross-Target Project&amp;quot; ausgewählt werden muss.&amp;lt;br/&amp;gt;Im &amp;quot;New Project Wizard&amp;quot; kann der MCU-Typ und die Quarzfrequenz eingestellt werden. Weitere Compiler-Optionen sind in den Projekteinstellungen unter &amp;quot;C/C++ Build-&amp;gt;Settings&amp;quot; möglich.&lt;br /&gt;
&lt;br /&gt;
=== Alternative 2 ===&lt;br /&gt;
&lt;br /&gt;
Dabei werden die Projekteinstellungen eines Standard-C-Projekts so verändert, dass die AVR-Toolchain verwendet wird.&lt;br /&gt;
&lt;br /&gt;
Mein erster erfolgreicher Versuch lief mit einen &amp;quot;managed C Projekt&amp;quot;. Ich hoffe in der folgenden Beschreibung fehlt kein Schritt:&lt;br /&gt;
* File / New / Managed Make C Project&lt;br /&gt;
** Project Name &#039;&#039;&#039;&amp;quot;test2&amp;quot; [Next]&#039;&#039;&#039;&lt;br /&gt;
** Project Type &#039;&#039;&#039;&amp;quot;Executable (GNU)&amp;quot; [Next]&#039;&#039;&#039;&lt;br /&gt;
** C/C++ Indexer &#039;&#039;&#039;&amp;quot;full ...&amp;quot; [Finish]&#039;&#039;&#039; (hab ich später geändert siehe unten)&lt;br /&gt;
&lt;br /&gt;
==== Projekteinstellungen ====&lt;br /&gt;
* File / New / SourceFile&lt;br /&gt;
** &#039;&#039;&#039;[Browse] &amp;quot;test2&amp;quot; [OK]&#039;&#039;&#039;&lt;br /&gt;
** Source File: &#039;&#039;&#039;&amp;quot;test2.c&amp;quot; [Finish]&#039;&#039;&#039;&lt;br /&gt;
* Project / Properties&lt;br /&gt;
** C/C++ Build / ToolSettings&lt;br /&gt;
*** GCC-C-Compiler&lt;br /&gt;
**** Command:  &#039;&#039;&#039;gcc&#039;&#039;&#039; ändern auf &#039;&#039;&#039;avr-gcc -mmcu=atmega16 -c&#039;&#039;&#039;&lt;br /&gt;
**** Das &#039;&#039;&#039;-c&#039;&#039;&#039; ist wichtig, damit nur kompliert aber nicht gelinkt wird.&lt;br /&gt;
**** Directorys Eintrag &#039;&#039;&#039;/usr/avr/include&#039;&#039;&#039; einfügen&lt;br /&gt;
**** Debugging  gewünschten Wert einstellen (z.&amp;amp;nbsp;B. -g)&lt;br /&gt;
*** GCC-C-Linker &lt;br /&gt;
**** Command:  &#039;&#039;&#039;gcc&#039;&#039;&#039; auch ändern auf &#039;&#039;&#039;avr-gcc -mmcu=atmega16 &#039;&#039;&#039;&lt;br /&gt;
**** Libraries: Library Search Path= &#039;&#039;&#039;/usr/avr&#039;&#039;&#039;&lt;br /&gt;
**** Miscellaneous: Linker Flags = &#039;&#039;&#039;-Wl,-Map,avr.map&#039;&#039;&#039;&lt;br /&gt;
*** GCC Assembler&lt;br /&gt;
**** Command:  &#039;&#039;&#039;as&#039;&#039;&#039; ändern auf &#039;&#039;avr-as&#039;&#039;&lt;br /&gt;
** C/C++ Build / Build Steps&lt;br /&gt;
*** Post-Build-Step&lt;br /&gt;
**** Command: &#039;&#039;&#039;avr-objcopy -j .text -j .data -O ihex test2 test2.hex&#039;&#039;&#039;&lt;br /&gt;
** C/C++ Indexer&lt;br /&gt;
*** Available Indexers = &#039;&#039;&#039;CTags Indexer (declarations only)&#039;&#039;&#039;&lt;br /&gt;
*** Include Files: Index Include paths &#039;&#039;&#039; einschalten&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== später eingefügt: ====&lt;br /&gt;
* Project / Properties&lt;br /&gt;
** C/C++ Build / Build Steps&lt;br /&gt;
*** Pre-Build-Step&lt;br /&gt;
**** Command: &#039;&#039;&#039;uisp -dprog=dasa2 -dserial=/dev/ttyS0 -dpart=atmega16 --erase&#039;&#039;&#039;&lt;br /&gt;
* Project / Properties&lt;br /&gt;
** C/C++ Build / Build Steps&lt;br /&gt;
*** Post-Build-Step&lt;br /&gt;
**** Command: &#039;&#039;&#039;avr_upload&#039;&#039;&#039;&lt;br /&gt;
* Project / Properties&lt;br /&gt;
** C/C++ Build / Build Settings&lt;br /&gt;
*** Build Output&lt;br /&gt;
**** Artifact Name: &#039;&#039;&#039;avr_main&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
avr_upload ist eine kleine Batchdatei im Verzeichniss &#039;&#039;&#039;/usr/bin &#039;&#039;&#039;, die ich neu angelegt hab:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# .lst-Datei erzeugen (optional)&lt;br /&gt;
# avr-objdump -h -S avr_main &amp;gt; avr.lst&lt;br /&gt;
# Datei in Intel-hex erzeugen&lt;br /&gt;
avr-objcopy -j .text -j .data -O ihex avr_main avr.hex&lt;br /&gt;
# Intel-hex-Datei uploaden&lt;br /&gt;
#uisp -dprog=dasa2 -dserial=/dev/ttyS0 -dpart=atmega16 --upload if=avr.hex&lt;br /&gt;
# Intel-hex Datei uploaden und verifizieren.&lt;br /&gt;
uisp -dprog=dasa2 -dserial=/dev/ttyS0 -dpart=atmega16 --upload if=avr.hex --verify&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Eclipse Plugin ====&lt;br /&gt;
&lt;br /&gt;
Im Forum gibt es ein Plugin für Eclipse, das einen Großteil dieser Einstellungen bereits beinhaltet. Der Thread steht unter: &lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/forum/read-2-229419.html#new &lt;br /&gt;
&lt;br /&gt;
Das Plugin wird dort zum Download angeboten. Aber es ist sicher hilfreich die dortige Anleitung zu beachten.&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/attachment.php/285349/org.eclipse.cdt.avrgcc_1.0.16.zip&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HINWEIS:&#039;&#039;&#039; Bitte die aktuelle Version benutzen. Folgende Warnung bezieht sich auf die älteren Versionen (vor Version 1.0.14).&lt;br /&gt;
&#039;&#039;&#039;WARNUNG:&#039;&#039;&#039; Bei mir funktionierten Timer-Interrupts mit dem Plugin nicht (die jedoch tadellos mit der WinAVR Makefile funktionierten). Vielleicht habe ich nur eine Option übersehen, seid aber auf der Hut. Wenn ihr Unregelmäßigkeiten bei IRQs feststellt, versucht&#039;s erstmal ohne das Eclipse-Plugin (bevor ihr stundenlang an eurem Code und euch selbst zweifelt :-) ).&lt;br /&gt;
&lt;br /&gt;
== Projekt erstellen ==&lt;br /&gt;
[[Bild:NewProject.png]]&lt;br /&gt;
&lt;br /&gt;
Wichtig ist, dass man &#039;&#039;&#039;AVR Cross Target Application&#039;&#039;&#039; auswählt&lt;br /&gt;
&lt;br /&gt;
[[Bild:CreateProject.png]]&lt;br /&gt;
&lt;br /&gt;
Beim nächsten Schritt kann man auswählen, was für Konfigurationen man will. In den meisten Fällen reicht es aus, wenn man nur &#039;&#039;&#039;Release&#039;&#039;&#039; auswählt.&lt;br /&gt;
&lt;br /&gt;
[[Bild:SelectConfigurations.png]]&lt;br /&gt;
&lt;br /&gt;
In diesem Schritt wählt man den Prozessor und die Taktfrequenz aus, wobei die Taktfrequenz in Hz angegeben werden muss&lt;br /&gt;
&lt;br /&gt;
[[Bild:TargetHardwareProperties.png]]&lt;br /&gt;
&lt;br /&gt;
== Erster Test ==&lt;br /&gt;
Die jeweiligen Alternativen beziehen sich auf die oben genannten verschiedenen Möglichkeiten.&lt;br /&gt;
&lt;br /&gt;
=== Aufbau ===&lt;br /&gt;
Die folgenden Angaben beziehen sich auf ein sehr einfaches Entwicklungsboard von Pollin, welches aber auch einfach nachgebaut werden kann. Den Schaltplan gibt&#039;s [http://www.pollin.de/shop/downloads/D810022B.PDF als PDF hier].&lt;br /&gt;
&lt;br /&gt;
==== Programm eintippen ====&lt;br /&gt;
(oder einfach von hier kopieren)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
#define running  1  &lt;br /&gt;
&lt;br /&gt;
// Unterprogramm mit Zeitschleife fuer ATMega16 ohne Quarz&lt;br /&gt;
void delay_ms( unsigned int ms )&lt;br /&gt;
{&lt;br /&gt;
    unsigned int  i;&lt;br /&gt;
    unsigned int  j;&lt;br /&gt;
       &lt;br /&gt;
    for ( i = ms;  i;  i-- ) &lt;br /&gt;
    {&lt;br /&gt;
        for ( j = 51;  j;  j-- )&lt;br /&gt;
        {&lt;br /&gt;
        }&lt;br /&gt;
    }    &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main( void )&lt;br /&gt;
{&lt;br /&gt;
    // PortD6 als Output konfigurieren&lt;br /&gt;
    DDRD |= _BV(PD6);&lt;br /&gt;
&lt;br /&gt;
    // Hauptschleife des Programms&lt;br /&gt;
    while ( running )&lt;br /&gt;
    {&lt;br /&gt;
    	// LED einschalten, und dann warten&lt;br /&gt;
        PORTD |= _BV(PD6);&lt;br /&gt;
        delay_ms( 1000 ); &lt;br /&gt;
        &lt;br /&gt;
    	// LED ausschalten, und dann warten&lt;br /&gt;
        PORTD &amp;amp;= ~_BV(PD6);&lt;br /&gt;
        delay_ms( 29000 );         &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um dass Programm zu kompilieren muss links im &#039;&#039;&#039;Project Explorer&#039;&#039;&#039; der Projektordner angeklickt werden.&lt;br /&gt;
&lt;br /&gt;
[[Bild:MakeTarget.png]]&lt;br /&gt;
&lt;br /&gt;
Eine Konfiguration fügt man mit &#039;&#039;&#039;Add&#039;&#039;&#039; hinzu. In neuen Fenster gibt man als &#039;&#039;&#039;Target Name&#039;&#039;&#039; einen Namen ein. Der Name wird später unter anderem für den Dateinamen der HEX-Datei verwendet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:MakeTargetOptions.png]]&lt;br /&gt;
&lt;br /&gt;
Die Einstellungen mit &#039;&#039;&#039;Create&#039;&#039;&#039; bestätigen und das andere Fenster mit &#039;&#039;&#039;Cancel&#039;&#039;&#039; schliessen. Ändert man nun eine Datei und speichert sie ab, wird das Projekt automatisch kompiliert. Das kann übrigens über &#039;&#039;&#039;Project&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Build Automatically&#039;&#039;&#039; geändert werden, da es bei grossen Projekten nachteilig ist, wenn der da die ganze Zeit kompiliert. Ob das ganze funktioniert hat kann man überprüfen, indem man auf &#039;&#039;&#039;Console&#039;&#039;&#039; klickt. Wenn das Kompilieren erfolgreich war, sollte die Ausgabe etwa so aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
**** Build of configuration Release for project AVRTest ****&lt;br /&gt;
&lt;br /&gt;
make &lt;br /&gt;
Building target: AVRTest.elf&lt;br /&gt;
Invoking: AVR C Linker&lt;br /&gt;
avr-gcc -Wl,-Map,AVRTest.map -mmcu=atmega8 -o&amp;quot;AVRTest.elf&amp;quot;  ./main.o   &lt;br /&gt;
Finished building target: AVRTest.elf&lt;br /&gt;
 &lt;br /&gt;
Invoking: AVR Create Extended Listing&lt;br /&gt;
avr-objdump -h -S AVRTest.elf  &amp;gt;&amp;quot;AVRTest.lss&amp;quot;&lt;br /&gt;
Finished building: AVRTest.lss&lt;br /&gt;
 &lt;br /&gt;
Create Flash image (ihex format)&lt;br /&gt;
avr-objcopy -R .eeprom -O ihex AVRTest.elf  &amp;quot;AVRTest.hex&amp;quot;&lt;br /&gt;
Finished building: AVRTest.hex&lt;br /&gt;
 &lt;br /&gt;
Create eeprom image (ihex format)&lt;br /&gt;
avr-objcopy -j .eeprom --no-change-warnings --change-section-lma .eeprom=0 -O ihex AVRTest.elf  &amp;quot;AVRTest.eep&amp;quot;&lt;br /&gt;
Finished building: AVRTest.eep&lt;br /&gt;
 &lt;br /&gt;
Invoking: Print Size&lt;br /&gt;
avr-size --format=avr --mcu=atmega8 AVRTest.elf&lt;br /&gt;
AVR Memory Usage&lt;br /&gt;
----------------&lt;br /&gt;
Device: atmega8&lt;br /&gt;
&lt;br /&gt;
Program:     108 bytes (1.3% Full)&lt;br /&gt;
(.text + .data + .bootloader)&lt;br /&gt;
&lt;br /&gt;
Data:          0 bytes (0.0% Full)&lt;br /&gt;
(.data + .bss + .noinit)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finished building: sizedummy&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projekteinstellungen ==&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
Die Einstellungen können unter &#039;&#039;&#039;Project&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Properties&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;C/C++ Build&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Settings&#039;&#039;&#039; vorgenommen werden. Auch hier muss man zuerst das Projekt im &#039;&#039;&#039;Project Explorer&#039;&#039;&#039; erstmal anklicken.&lt;br /&gt;
&lt;br /&gt;
[[Bild:ProjectProperties.png]]&lt;br /&gt;
&lt;br /&gt;
=== Prozessor / Taktfrequenz ===&lt;br /&gt;
Den Prozessor oder die Taktfrequenz kann man hier verändern&lt;br /&gt;
&#039;&#039;&#039;Project&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Properties&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;AVR&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Target Hardware&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Prozessor brennen ==&lt;br /&gt;
=== AVRDude ===&lt;br /&gt;
Den Prozessor kann man mit dem &#039;&#039;&#039;AVR&#039;&#039;&#039; Button in der Symbolleiste direkt aus Eclipse heraus mit AVRDude programmieren, dafür muss man aber gewisse Einstellungen vornehmen.&lt;br /&gt;
&lt;br /&gt;
=== Programmierhardware auswählen ===&lt;br /&gt;
&#039;&#039;&#039;Project&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Properties&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;AVR&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Target Hardware&#039;&#039;&#039; Danach klickt man auf den Tab &#039;&#039;&#039;Programmer&#039;&#039;&#039; und dann auf &#039;&#039;&#039;New&#039;&#039;&#039;. In der Liste wählt man einen Programmer aus und nimmt gegebenen falls zusätzliche Einstellungen vor.&lt;br /&gt;
&lt;br /&gt;
=== HEX-Datei auswählen ===&lt;br /&gt;
&#039;&#039;&#039;Project&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Properties&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;AVR&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Target Hardware&#039;&#039;&#039; Danach klickt man auf den Tab Flash/EEPROM. Eigentlich reicht es aus, &#039;&#039;&#039;from Build&#039;&#039;&#039; auszuwählen.&lt;br /&gt;
&lt;br /&gt;
=== Fuse- / Lockbits ===&lt;br /&gt;
Zu den Fuse- bzw. Lockbits gibt es in den jeweiligen Tabs diverse Einstellmöglichkeiten.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
&lt;br /&gt;
Debuggen funktioniert mit Eclipse entweder mit &#039;&#039;&#039;avarice&#039;&#039;&#039; oder &#039;&#039;&#039;simulavr&#039;&#039;&#039;, wobei ersteres zum OnDeviceDebugging dient und zweiteres einen Simulator darstellt. Zusätzlich ist &#039;&#039;&#039;avr-gdb&#039;&#039;&#039; notwendig, welches wie unter &#039;&#039;&#039;Installation unter Ubuntu&#039;&#039;&#039; beschrieben, installiert werden kann.&lt;br /&gt;
Einen Link zu einer Anleitung für das Debuggen mit Eclipse unter Windows findet ihr unten bei den [http://www.mikrocontroller.net/articles/AVR_Eclipse#Links Links].&lt;br /&gt;
&lt;br /&gt;
=== simulavr ===&lt;br /&gt;
&amp;lt;pre&amp;gt;simulavr -g -p 1212 -d atmega16 -P simulavr-disp&amp;lt;/pre&amp;gt;&lt;br /&gt;
startet den Simulator.&lt;br /&gt;
&lt;br /&gt;
=== avarice ===&lt;br /&gt;
&amp;lt;pre&amp;gt;avarice -j /dev/ttyS0 -P atmega128 :1212&amp;lt;/pre&amp;gt;&lt;br /&gt;
startet einen Server, der auf Port 1212 lauscht und das OnDeviceDebugging übernimmt.&lt;br /&gt;
&lt;br /&gt;
=== Eclipseeinstellungen ===&lt;br /&gt;
Unter Eclipse muss ein neues Debug-Target erzeugt werden, was in den Projekteinstellungen unter &#039;&#039;Run/Debug-Settings&#039;&#039; funktioniert. Es muss &#039;&#039;C/C++ application&#039;&#039; ausgewählt werden und folgende Einstellungen müssen geändert werden: &lt;br /&gt;
* Debugger&lt;br /&gt;
** gdbserver auswählen&lt;br /&gt;
** GDB debugger: Pfad zu avr-gdb (/usr/local/avr/bin/avr-gdb)&lt;br /&gt;
** &#039;&#039;verbose console mode&#039;&#039; einschalten&lt;br /&gt;
* Connection&lt;br /&gt;
** TCP, localhost, port 1212 (siehe simulavr/avarice-Aufruf).&lt;br /&gt;
&lt;br /&gt;
Unter Debugger muss für die Verwendung des Simulators Command-Datei mit folgendem Inhalt angegeben und daher auch erstellt werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
file link.elf&lt;br /&gt;
targ rem :1212&lt;br /&gt;
load&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
link.elf ist die Datei, welche durch den Build erstellt wird. Dies muss daher angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Beim On Device Debugging muss keine Command-Datei angegeben werden.&lt;br /&gt;
&lt;br /&gt;
=== Auslesen von IO-Registern ===&lt;br /&gt;
Wenn &#039;&#039;verbose console mode&#039;&#039; eingeschaltet ist, kann in diesem Konsolenfenster direkt mit avr-gdb kommuniziert werden. Dadurch können unter anderem die Register ausgelesen werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;p/x *(char *)Adresse&amp;lt;/pre&amp;gt; &lt;br /&gt;
gibt den Wert der Adresse als char aus.&lt;br /&gt;
&amp;lt;pre&amp;gt;p/t *(char *)Adresse&amp;lt;/pre&amp;gt;&lt;br /&gt;
returniert den Binärwert.&lt;br /&gt;
&lt;br /&gt;
Die Adresse setzt sich aus einer Startadresse und einem Offset zusammen, wobei diese sich im entsprechenden io-Header der Architektur befindet. Beispielweise setzt sich die Adresse für das UCSR0B-Register eines Atmega128 aus der Startadresse 0x800020 und dem Offset 0x0A zusammen.&lt;br /&gt;
&lt;br /&gt;
Für oft verwendete Register empfiehlt es sich, diesen mittels &lt;br /&gt;
&amp;lt;pre&amp;gt;set $name=(char *)Adresse&amp;lt;/pre&amp;gt;&lt;br /&gt;
einen Namen zuzuweisen. Diese könnte man in einer Datei speichern und diese als command-Datei beim Debugger angeben, wodurch man sich diese händischen Eingaben spart und mittels &lt;br /&gt;
&amp;lt;pre&amp;gt;p/x *$name&amp;lt;/pre&amp;gt; bzw. &amp;lt;pre&amp;gt;display *$name&amp;lt;/pre&amp;gt;&lt;br /&gt;
zugegreifen kann.&lt;br /&gt;
&lt;br /&gt;
=== AVR Studio ===&lt;br /&gt;
&lt;br /&gt;
Hinweise zum Debuggen mit [[AVR Studio]] (Windows) in einem Eclipse-Projekt gibt Marcel K. in http://www.mikrocontroller.net/topic/152059#1428733&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
[http://www.torsten-horn.de/techdocs/java-eclipse.htm Erste Schritte mit Eclipse]&lt;br /&gt;
&lt;br /&gt;
[http://avr-eclipse.sourceforge.net/wiki/index.php/Debugging Anleitung zum Debuggen mit Eclipse unter Windows]&lt;br /&gt;
&lt;br /&gt;
[http://www.wiki.elektronik-projekt.de/mikrocontroller/avr/avr_tutorials 3 Tuts für Eclipse mit AVRs]&lt;br /&gt;
&lt;br /&gt;
= Weiteres =&lt;br /&gt;
Bei Problemen kann dieser [http://www.mikrocontroller.net/topic/79965#667525 Thread] verwendet werden, in den ich, wann immer es sich bei mir ausgeht, schauen werde.&lt;br /&gt;
&lt;br /&gt;
Jeder ist aufgerufen hier weiterzumachen, wenn er mehr weiss, oder es besser gestalten kann.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR ]]&lt;/div&gt;</summary>
		<author><name>Avion23</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_Eclipse&amp;diff=51559</id>
		<title>AVR Eclipse</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_Eclipse&amp;diff=51559"/>
		<updated>2010-10-19T21:03:14Z</updated>

		<summary type="html">&lt;p&gt;Avion23: /* Compiler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt erste Erfahrungen mit Eclipse und der AVR-Toolchain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Allgemeines zu Eclipse ==&lt;br /&gt;
Eclipse ist eine IDE, die sich alleine nicht zur Programmierung von C/C++ eignet. Dafür gibt es dann das Eclipse-Plugin CDT (auch von ECLIPSE.ORG). Die CDT erweitert Eclipse mit der Möglichkeit, C/C++ zu programmieren. Das aber erstmal nur mit dem GCC. Um jetzt die Toolchain AVR-GCC (WINAVR) einzubinden, benötigt man noch ein weiteres Plugin (CDT AVRGCC oder auch CDT AVR Plugin). Es ist auch möglich, ohne die beiden letzt genannten Plugins zu arbeiten, dann sind die Einstellungen für den GCC an AVR-GCC anzupassen (unkomfortabler).&lt;br /&gt;
&lt;br /&gt;
==  Allgemeines zu dem AVR Eclipse Plugin ==&lt;br /&gt;
&lt;br /&gt;
Da dieser Artikel nicht immer auf dem neuesten Stand ist, bekommt man weitere Informationen auf der englischen [http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin AVR Eclipse Plugin WIKI] Seite&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Plugin Tutorials ===&lt;br /&gt;
&lt;br /&gt;
* Kurzanleitung zur Installation des [http://winavr.scienceprog.com/other-valuable-tools/using-eclipse-as-ide-for-winavr-compiler.html Plugins] (englisch).&lt;br /&gt;
&lt;br /&gt;
== Installation unter Windows ==&lt;br /&gt;
&lt;br /&gt;
=== Was wird benötigt? ===&lt;br /&gt;
==== Compiler ====&lt;br /&gt;
* [http://winavr.sourceforge.net/ WINAVR] AVR-GCC Compiler Toolchain, siehe auch Artikel [[WinAVR]]&lt;br /&gt;
&lt;br /&gt;
==== IDE ====&lt;br /&gt;
Eclipse braucht eine JAVA Runtime Enviroment, falls diese noch nicht installiert ist muss das auch noch heruntergeladen werden&lt;br /&gt;
* [http://java.sun.com/javase/downloads/index.jsp JDK 6 Update 10]&lt;br /&gt;
&lt;br /&gt;
Am einfachsten geht es, wenn man die Version mit dem integrierten CDT-Plugin verwendet.&lt;br /&gt;
Unter diesem Link die Aktuellste &#039;&#039;&#039;Eclipse IDE for C/C++ Developers&#039;&#039;&#039; downloaden&lt;br /&gt;
* [http://www.eclipse.org/downloads/ Eclipse IDE]&lt;br /&gt;
&lt;br /&gt;
Das zusätzliche AVR Plugin ist notwendig zum Einbinden des AVR-GCC. Kann hier heruntergeladen werden. Oder, besser, in einer installierten Eclipse Umgebung eingebunden werden.&lt;br /&gt;
* [http://sourceforge.net/projects/avr-eclipse CDT AVRGCC Plugin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Programmer / Debugger ====&lt;br /&gt;
Zum Programmieren und Debuggen kann man eingentlich jedes beliebige Programm verwenden. Zum Debuggen kommt unter anderem AVaRICE zum Einsatz, mit dem man auch programmieren kann (JTAG).&lt;br /&gt;
Wahlweise ist auch AVRDUDE zum programmieren zu verwenden. Das kann man machen,&lt;br /&gt;
wie man möchte. Beide Programme sind in WINAVR (siehe oben unter Compiler) enthalten.&lt;br /&gt;
&lt;br /&gt;
=== Wie Installieren ===&lt;br /&gt;
WinAVR sollte auf dem System installiert sein. Siehe [[AVR_Eclipse#Compiler|oben]].&lt;br /&gt;
==== JAVA ====&lt;br /&gt;
&lt;br /&gt;
Java Runtime installieren.&lt;br /&gt;
&lt;br /&gt;
==== IDE ====&lt;br /&gt;
Eclipse ist in einem Zip Archiv, das an einen beliebigen Ort entpackt werden kann. Gestartet wird das Programm mit der Datei eclipse.exe. Meldet Eclipse beim Start einen Fehler, ist wahrscheinlich keine oder eine unpassende JAVA Runtime Enviroment installiert.&lt;br /&gt;
&lt;br /&gt;
==== Plugin ====&lt;br /&gt;
Es gibt zwei Möglichkeiten, wobei die [[AVR_Eclipse#.C3.9Cber_Updatesite:|erste]] empfohlen wird:&lt;br /&gt;
&lt;br /&gt;
===== Über Updatesite: =====&lt;br /&gt;
&lt;br /&gt;
* Eclipse starten. Zum Software Update Dialog gehen (Help &amp;gt; Install New Software ...)&lt;br /&gt;
&lt;br /&gt;
* In der Zeile Work with ... http://avr-eclipse.sourceforge.net/updatesite eintragen. &lt;br /&gt;
*Button Add anklicken. Einen Namen vergeben z.B. AVR-Eclipse. &lt;br /&gt;
*Neuste Version von AVR-Eclipse auswählen und installieren.&lt;br /&gt;
&lt;br /&gt;
===== Direkt installieren: ===== &lt;br /&gt;
Das Plugin ist ebenfalls eine ZIP-Datei die entpackt werden muss. Alle Dateien und Ordner im features Ordner müssen in den features Ordner von Eclipse kopiert werden. Alle Dateien und Ordner im Verzeichnis plugins müssen in den plugins Ordner von Eclipse kopiert werden.&lt;br /&gt;
&lt;br /&gt;
== Installation unter Linux ==&lt;br /&gt;
&lt;br /&gt;
===openSuSE===&lt;br /&gt;
Eclipse läßt sich einfach via zypper oder yast installieren:&lt;br /&gt;
&lt;br /&gt;
 zypper install eclipse&lt;br /&gt;
&lt;br /&gt;
Crosscompiler, avr-libc und avrdude:&lt;br /&gt;
&lt;br /&gt;
 zypper install avr-libc&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
==== Eclipse-IDE ====&lt;br /&gt;
* [http://www.eclipse.org/downloads/index.php Eclipse-IDE] Version 3.1.0&lt;br /&gt;
* [http://www.eclipse.org/cdt/ Eclipse-CDT-Plugin] Version 3.0.0&lt;br /&gt;
* [http://sf.net/projects/avr-eclipse Eclipse-CDT-Addon for AVR] Version 20070404&lt;br /&gt;
&lt;br /&gt;
==== Compiler ====&lt;br /&gt;
crossdev emergen:&lt;br /&gt;
* emerge crossdev &lt;br /&gt;
Stabile Version der avr-toolchain inkl. g++ kompilieren:&lt;br /&gt;
* USE=&amp;quot;-nocxx&amp;quot; crossdev -s4 -S -t avr&lt;br /&gt;
&lt;br /&gt;
Es gibt Probleme mit crossdev und den ldscripts. Der Link wird nicht angelegt. Fix für 64Bit:&lt;br /&gt;
* ln -s /usr/lib64/binutils/avr/2.20.1/ldscripts/ /usr/avr/lib/&lt;br /&gt;
&lt;br /&gt;
==== Programmer ====&lt;br /&gt;
* emerge uisp&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
==== Eclipse-IDE ====&lt;br /&gt;
* [http://www.eclipse.org/downloads/index.php Eclipse-IDE] Version 3.1.0&lt;br /&gt;
* [http://www.eclipse.org/cdt/ Eclipse-CDT-Plugin] Version 3.0.0&lt;br /&gt;
* [http://sf.net/projects/avr-eclipse Eclipse-CDT-Addon for AVR] Version 20070404&lt;br /&gt;
&lt;br /&gt;
==== Compiler ====&lt;br /&gt;
* binutils-avr 2.15-3&lt;br /&gt;
* gcc-avr 1:3.4.3-2&lt;br /&gt;
* avr-libc 1:1.2.3-3&lt;br /&gt;
&lt;br /&gt;
==== Debugger ====&lt;br /&gt;
* simulavr 0.1.2.2-1&lt;br /&gt;
* gdb-avr 6.3-2&lt;br /&gt;
* ? avra 0.7-1&lt;br /&gt;
&lt;br /&gt;
==== Programmer ====&lt;br /&gt;
* AVRDUDE und die GUI [http://avr8-burn-o-mat.aaabbb.de/ avr8-burn-o-mat]&lt;br /&gt;
* uisp 20050207&lt;br /&gt;
* ? avrp&lt;br /&gt;
* ? avrprog&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 8.10 (Zum ersten) ===&lt;br /&gt;
==== Eclipse-IDE ====&lt;br /&gt;
* [http://www.eclipse.org/downloads Eclipse IDE for C/C++ Developers] Version 3.3, CDT Version 4.0&lt;br /&gt;
* [http://sourceforge.net/projects/avr-eclipse AVR-Eclipse-Plugin] Version 2.2.0&lt;br /&gt;
&lt;br /&gt;
==== Compiler ====&lt;br /&gt;
* binutils-avr: 2.18-3&lt;br /&gt;
* gcc-avr: 1:4.3.0-2&lt;br /&gt;
* avr-libc: 1:1.6.2-1&lt;br /&gt;
&lt;br /&gt;
==== Debugger ====&lt;br /&gt;
* [ftp://ftp.gnu.org/gnu/gdb/gdb-6.6.tar.bz2 avr-gdb]: 6.6; &#039;&#039;&#039;In den Repositories ist 6.4.90!&#039;&#039;&#039; &lt;br /&gt;
* avarice: 2.7-2&lt;br /&gt;
* simulavr: 0.1.2.2-6.1 (nicht getestet, sollte aber genauso funktionieren)&lt;br /&gt;
&lt;br /&gt;
==== Programmer ====&lt;br /&gt;
* avrdude: 5.5-3 und GUI [http://avr8-burn-o-mat.aaabbb.de/ avr8-burn-o-mat]&lt;br /&gt;
&lt;br /&gt;
==== Zusätzliche notwendige Programme/Libraries ====&lt;br /&gt;
* gcc&lt;br /&gt;
* binutils-avr&lt;br /&gt;
* build-essential&lt;br /&gt;
* ncurses-dev&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu (Zum zweiten) ===&lt;br /&gt;
==== AVR-Toolchain ====&lt;br /&gt;
Leider ist in den Repositories nur eine veraltete Version von avr-gdb (bzw. gdb-avr) enthalten. Diese Version hat bei mir zu Fehlern geführt. Deshalb wird die aktuelle Releaseversion 6.6 verwendet.&lt;br /&gt;
&lt;br /&gt;
==== Schritt für Schritt ====&lt;br /&gt;
Als erstes werden die notwendigen Programme aus den Repositories installiert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install gcc gcc-avr avr-libc avrdude binutils-avr avarice build-essential ncurses-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ubuntu 6.10:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install gcc gcc-avr avr-libc avrdude binutils-avr avarice build-essential libncurses5-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich können auch noch folgende Packages interessant sein:&lt;br /&gt;
* Simulavr: Ein Simulator für die AVR-Reihe&lt;br /&gt;
* uisp: Alternativer Downloader&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install simulavr uisp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt kann man bereits das AVR-Target ansprechen, um z.&amp;amp;nbsp;B. die Fuses auszulesen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;avarice -j /dev/ttyUSB0 -P atmega128 -r&amp;lt;/pre&amp;gt;&lt;br /&gt;
* -j: Gibt das Gerät an, mit dem das Target verbunden ist.&lt;br /&gt;
* -P: Zielarchitektur&lt;br /&gt;
* -r: Read Fuses&lt;br /&gt;
&lt;br /&gt;
Dazu ist die Manpage von avarice zu empfehlen: &lt;br /&gt;
&amp;lt;pre&amp;gt;man avarice&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als nächstes muss gdb-avr heruntergeladen und dann kompiliert werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;wget ftp://ftp.gnu.org/gnu/gdb/gdb-6.6.tar.bz2&lt;br /&gt;
tar jxf gdb-6.6.tar.bz2&lt;br /&gt;
cd gdb-6.6&lt;br /&gt;
./configure --target=avr --prefix=/usr/local/avr&lt;br /&gt;
make&lt;br /&gt;
sudo make install&lt;br /&gt;
cd ..&lt;br /&gt;
rm -rf gdb-6.6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies installiert die aktuelle Version von gdb-avr unter /usr/local/avr. Diesen Pfad könnte man zur PATH-Variable hinzufügen, dies ist allerdings nicht zwingend notwendig.&lt;br /&gt;
&lt;br /&gt;
Unter Ubuntu 8.10 kommt es bei der Installation zu Problemen.&lt;br /&gt;
Hier gibt es Abhilfe:&lt;br /&gt;
http://www.mikrocontroller.net/topic/76404#1198507&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zitat:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die Fehlermeldung lautet ja:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
avr-dis.c:xxx: error: format not a string literal and no format arguments&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
und Zeile xxx in dieser Datei lautet: &amp;lt;c&amp;gt;sprintf (buf, xyz);&amp;lt;/c&amp;gt; Wenn man das in &amp;lt;c&amp;gt;strcpy(buf, xyz);&amp;lt;/c&amp;gt; ändert, sollte es funktionieren.&lt;br /&gt;
&lt;br /&gt;
== Einrichten von Eclipse unter Windows ==&lt;br /&gt;
Beim ersten Start muss man einen Workspace angeben, dazu kann das vorgeschlagene Standardverzeichnis verwendet werden, wenn nur ein Benutzer diesen Workspace verwendet, ansonsten sollte man einen Ort auswählen, auf den alle Zugriff haben. Danach sollte das Bild so aussehen. Klicke auf Workbench.&lt;br /&gt;
&lt;br /&gt;
[[Bild:EclipseStart.png]]&lt;br /&gt;
&lt;br /&gt;
== Einrichten von Eclipse unter Linux ==&lt;br /&gt;
&lt;br /&gt;
=== Alternative 1 ===&lt;br /&gt;
&lt;br /&gt;
Das AVR-Eclipse Plugin kann über die Update-Site http://avr-eclipse.sourceforge.net/updatesite/ installiert werden. (Help-&amp;gt;Software Updates...)&lt;br /&gt;
&lt;br /&gt;
Zum Schluss muss noch, die avr-objsplit.bat-Datei, wie folgt, umgeschrieben, nach /usr/bin/avr-objsplit kopiert und ausführbar gemacht werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
avr-objcopy -j .text -j .data -O ihex *.elf flash.hex&lt;br /&gt;
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O ihex *.elf eeprom.hex&lt;br /&gt;
if [ ! -f eeprom.hex ]; then&lt;br /&gt;
        echo &amp;quot;:00000001FF&amp;quot; &amp;gt; eeprom.hex&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ändern der Rechte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod +x avr-objsplit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Einstellungen ====&lt;br /&gt;
Jetzt müssen noch gewisse Einstellungen in Eclipse angepasst werden:&lt;br /&gt;
Unter Window-&amp;gt;Preferences-&amp;gt;AVR-&amp;gt;AVRdude:&lt;br /&gt;
&lt;br /&gt;
* Programmer auswählen&lt;br /&gt;
* Programmerport auswählen&lt;br /&gt;
* Target MCU Type auswählen&lt;br /&gt;
&lt;br /&gt;
==== Projekteinstellungen ====&lt;br /&gt;
Jetzt kann ein neues C-Project angelegt werden, wobei als Projekttyp &amp;quot;AVR Cross-Target Project&amp;quot; ausgewählt werden muss.&amp;lt;br/&amp;gt;Im &amp;quot;New Project Wizard&amp;quot; kann der MCU-Typ und die Quarzfrequenz eingestellt werden. Weitere Compiler-Optionen sind in den Projekteinstellungen unter &amp;quot;C/C++ Build-&amp;gt;Settings&amp;quot; möglich.&lt;br /&gt;
&lt;br /&gt;
=== Alternative 2 ===&lt;br /&gt;
&lt;br /&gt;
Dabei werden die Projekteinstellungen eines Standard-C-Projekts so verändert, dass die AVR-Toolchain verwendet wird.&lt;br /&gt;
&lt;br /&gt;
Mein erster erfolgreicher Versuch lief mit einen &amp;quot;managed C Projekt&amp;quot;. Ich hoffe in der folgenden Beschreibung fehlt kein Schritt:&lt;br /&gt;
* File / New / Managed Make C Project&lt;br /&gt;
** Project Name &#039;&#039;&#039;&amp;quot;test2&amp;quot; [Next]&#039;&#039;&#039;&lt;br /&gt;
** Project Type &#039;&#039;&#039;&amp;quot;Executable (GNU)&amp;quot; [Next]&#039;&#039;&#039;&lt;br /&gt;
** C/C++ Indexer &#039;&#039;&#039;&amp;quot;full ...&amp;quot; [Finish]&#039;&#039;&#039; (hab ich später geändert siehe unten)&lt;br /&gt;
&lt;br /&gt;
==== Projekteinstellungen ====&lt;br /&gt;
* File / New / SourceFile&lt;br /&gt;
** &#039;&#039;&#039;[Browse] &amp;quot;test2&amp;quot; [OK]&#039;&#039;&#039;&lt;br /&gt;
** Source File: &#039;&#039;&#039;&amp;quot;test2.c&amp;quot; [Finish]&#039;&#039;&#039;&lt;br /&gt;
* Project / Properties&lt;br /&gt;
** C/C++ Build / ToolSettings&lt;br /&gt;
*** GCC-C-Compiler&lt;br /&gt;
**** Command:  &#039;&#039;&#039;gcc&#039;&#039;&#039; ändern auf &#039;&#039;&#039;avr-gcc -mmcu=atmega16 -c&#039;&#039;&#039;&lt;br /&gt;
**** Das &#039;&#039;&#039;-c&#039;&#039;&#039; ist wichtig, damit nur kompliert aber nicht gelinkt wird.&lt;br /&gt;
**** Directorys Eintrag &#039;&#039;&#039;/usr/avr/include&#039;&#039;&#039; einfügen&lt;br /&gt;
**** Debugging  gewünschten Wert einstellen (z.&amp;amp;nbsp;B. -g)&lt;br /&gt;
*** GCC-C-Linker &lt;br /&gt;
**** Command:  &#039;&#039;&#039;gcc&#039;&#039;&#039; auch ändern auf &#039;&#039;&#039;avr-gcc -mmcu=atmega16 &#039;&#039;&#039;&lt;br /&gt;
**** Libraries: Library Search Path= &#039;&#039;&#039;/usr/avr&#039;&#039;&#039;&lt;br /&gt;
**** Miscellaneous: Linker Flags = &#039;&#039;&#039;-Wl,-Map,avr.map&#039;&#039;&#039;&lt;br /&gt;
*** GCC Assembler&lt;br /&gt;
**** Command:  &#039;&#039;&#039;as&#039;&#039;&#039; ändern auf &#039;&#039;avr-as&#039;&#039;&lt;br /&gt;
** C/C++ Build / Build Steps&lt;br /&gt;
*** Post-Build-Step&lt;br /&gt;
**** Command: &#039;&#039;&#039;avr-objcopy -j .text -j .data -O ihex test2 test2.hex&#039;&#039;&#039;&lt;br /&gt;
** C/C++ Indexer&lt;br /&gt;
*** Available Indexers = &#039;&#039;&#039;CTags Indexer (declarations only)&#039;&#039;&#039;&lt;br /&gt;
*** Include Files: Index Include paths &#039;&#039;&#039; einschalten&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== später eingefügt: ====&lt;br /&gt;
* Project / Properties&lt;br /&gt;
** C/C++ Build / Build Steps&lt;br /&gt;
*** Pre-Build-Step&lt;br /&gt;
**** Command: &#039;&#039;&#039;uisp -dprog=dasa2 -dserial=/dev/ttyS0 -dpart=atmega16 --erase&#039;&#039;&#039;&lt;br /&gt;
* Project / Properties&lt;br /&gt;
** C/C++ Build / Build Steps&lt;br /&gt;
*** Post-Build-Step&lt;br /&gt;
**** Command: &#039;&#039;&#039;avr_upload&#039;&#039;&#039;&lt;br /&gt;
* Project / Properties&lt;br /&gt;
** C/C++ Build / Build Settings&lt;br /&gt;
*** Build Output&lt;br /&gt;
**** Artifact Name: &#039;&#039;&#039;avr_main&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
avr_upload ist eine kleine Batchdatei im Verzeichniss &#039;&#039;&#039;/usr/bin &#039;&#039;&#039;, die ich neu angelegt hab:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# .lst-Datei erzeugen (optional)&lt;br /&gt;
# avr-objdump -h -S avr_main &amp;gt; avr.lst&lt;br /&gt;
# Datei in Intel-hex erzeugen&lt;br /&gt;
avr-objcopy -j .text -j .data -O ihex avr_main avr.hex&lt;br /&gt;
# Intel-hex-Datei uploaden&lt;br /&gt;
#uisp -dprog=dasa2 -dserial=/dev/ttyS0 -dpart=atmega16 --upload if=avr.hex&lt;br /&gt;
# Intel-hex Datei uploaden und verifizieren.&lt;br /&gt;
uisp -dprog=dasa2 -dserial=/dev/ttyS0 -dpart=atmega16 --upload if=avr.hex --verify&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Eclipse Plugin ====&lt;br /&gt;
&lt;br /&gt;
Im Forum gibt es ein Plugin für Eclipse, das einen Großteil dieser Einstellungen bereits beinhaltet. Der Thread steht unter: &lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/forum/read-2-229419.html#new &lt;br /&gt;
&lt;br /&gt;
Das Plugin wird dort zum Download angeboten. Aber es ist sicher hilfreich die dortige Anleitung zu beachten.&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/attachment.php/285349/org.eclipse.cdt.avrgcc_1.0.16.zip&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HINWEIS:&#039;&#039;&#039; Bitte die aktuelle Version benutzen. Folgende Warnung bezieht sich auf die älteren Versionen (vor Version 1.0.14).&lt;br /&gt;
&#039;&#039;&#039;WARNUNG:&#039;&#039;&#039; Bei mir funktionierten Timer-Interrupts mit dem Plugin nicht (die jedoch tadellos mit der WinAVR Makefile funktionierten). Vielleicht habe ich nur eine Option übersehen, seid aber auf der Hut. Wenn ihr Unregelmäßigkeiten bei IRQs feststellt, versucht&#039;s erstmal ohne das Eclipse-Plugin (bevor ihr stundenlang an eurem Code und euch selbst zweifelt :-) ).&lt;br /&gt;
&lt;br /&gt;
== Projekt erstellen ==&lt;br /&gt;
[[Bild:NewProject.png]]&lt;br /&gt;
&lt;br /&gt;
Wichtig ist, dass man &#039;&#039;&#039;AVR Cross Target Application&#039;&#039;&#039; auswählt&lt;br /&gt;
&lt;br /&gt;
[[Bild:CreateProject.png]]&lt;br /&gt;
&lt;br /&gt;
Beim nächsten Schritt kann man auswählen, was für Konfigurationen man will. In den meisten Fällen reicht es aus, wenn man nur &#039;&#039;&#039;Release&#039;&#039;&#039; auswählt.&lt;br /&gt;
&lt;br /&gt;
[[Bild:SelectConfigurations.png]]&lt;br /&gt;
&lt;br /&gt;
In diesem Schritt wählt man den Prozessor und die Taktfrequenz aus, wobei die Taktfrequenz in Hz angegeben werden muss&lt;br /&gt;
&lt;br /&gt;
[[Bild:TargetHardwareProperties.png]]&lt;br /&gt;
&lt;br /&gt;
== Erster Test ==&lt;br /&gt;
Die jeweiligen Alternativen beziehen sich auf die oben genannten verschiedenen Möglichkeiten.&lt;br /&gt;
&lt;br /&gt;
=== Aufbau ===&lt;br /&gt;
Die folgenden Angaben beziehen sich auf ein sehr einfaches Entwicklungsboard von Pollin, welches aber auch einfach nachgebaut werden kann. Den Schaltplan gibt&#039;s [http://www.pollin.de/shop/downloads/D810022B.PDF als PDF hier].&lt;br /&gt;
&lt;br /&gt;
==== Programm eintippen ====&lt;br /&gt;
(oder einfach von hier kopieren)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
#define running  1  &lt;br /&gt;
&lt;br /&gt;
// Unterprogramm mit Zeitschleife fuer ATMega16 ohne Quarz&lt;br /&gt;
void delay_ms( unsigned int ms )&lt;br /&gt;
{&lt;br /&gt;
    unsigned int  i;&lt;br /&gt;
    unsigned int  j;&lt;br /&gt;
       &lt;br /&gt;
    for ( i = ms;  i;  i-- ) &lt;br /&gt;
    {&lt;br /&gt;
        for ( j = 51;  j;  j-- )&lt;br /&gt;
        {&lt;br /&gt;
        }&lt;br /&gt;
    }    &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main( void )&lt;br /&gt;
{&lt;br /&gt;
    // PortD6 als Output konfigurieren&lt;br /&gt;
    DDRD |= _BV(PD6);&lt;br /&gt;
&lt;br /&gt;
    // Hauptschleife des Programms&lt;br /&gt;
    while ( running )&lt;br /&gt;
    {&lt;br /&gt;
    	// LED einschalten, und dann warten&lt;br /&gt;
        PORTD |= _BV(PD6);&lt;br /&gt;
        delay_ms( 1000 ); &lt;br /&gt;
        &lt;br /&gt;
    	// LED ausschalten, und dann warten&lt;br /&gt;
        PORTD &amp;amp;= ~_BV(PD6);&lt;br /&gt;
        delay_ms( 29000 );         &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um dass Programm zu kompilieren muss links im &#039;&#039;&#039;Project Explorer&#039;&#039;&#039; der Projektordner angeklickt werden.&lt;br /&gt;
&lt;br /&gt;
[[Bild:MakeTarget.png]]&lt;br /&gt;
&lt;br /&gt;
Eine Konfiguration fügt man mit &#039;&#039;&#039;Add&#039;&#039;&#039; hinzu. In neuen Fenster gibt man als &#039;&#039;&#039;Target Name&#039;&#039;&#039; einen Namen ein. Der Name wird später unter anderem für den Dateinamen der HEX-Datei verwendet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:MakeTargetOptions.png]]&lt;br /&gt;
&lt;br /&gt;
Die Einstellungen mit &#039;&#039;&#039;Create&#039;&#039;&#039; bestätigen und das andere Fenster mit &#039;&#039;&#039;Cancel&#039;&#039;&#039; schliessen. Ändert man nun eine Datei und speichert sie ab, wird das Projekt automatisch kompiliert. Das kann übrigens über &#039;&#039;&#039;Project&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Build Automatically&#039;&#039;&#039; geändert werden, da es bei grossen Projekten nachteilig ist, wenn der da die ganze Zeit kompiliert. Ob das ganze funktioniert hat kann man überprüfen, indem man auf &#039;&#039;&#039;Console&#039;&#039;&#039; klickt. Wenn das Kompilieren erfolgreich war, sollte die Ausgabe etwa so aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
**** Build of configuration Release for project AVRTest ****&lt;br /&gt;
&lt;br /&gt;
make &lt;br /&gt;
Building target: AVRTest.elf&lt;br /&gt;
Invoking: AVR C Linker&lt;br /&gt;
avr-gcc -Wl,-Map,AVRTest.map -mmcu=atmega8 -o&amp;quot;AVRTest.elf&amp;quot;  ./main.o   &lt;br /&gt;
Finished building target: AVRTest.elf&lt;br /&gt;
 &lt;br /&gt;
Invoking: AVR Create Extended Listing&lt;br /&gt;
avr-objdump -h -S AVRTest.elf  &amp;gt;&amp;quot;AVRTest.lss&amp;quot;&lt;br /&gt;
Finished building: AVRTest.lss&lt;br /&gt;
 &lt;br /&gt;
Create Flash image (ihex format)&lt;br /&gt;
avr-objcopy -R .eeprom -O ihex AVRTest.elf  &amp;quot;AVRTest.hex&amp;quot;&lt;br /&gt;
Finished building: AVRTest.hex&lt;br /&gt;
 &lt;br /&gt;
Create eeprom image (ihex format)&lt;br /&gt;
avr-objcopy -j .eeprom --no-change-warnings --change-section-lma .eeprom=0 -O ihex AVRTest.elf  &amp;quot;AVRTest.eep&amp;quot;&lt;br /&gt;
Finished building: AVRTest.eep&lt;br /&gt;
 &lt;br /&gt;
Invoking: Print Size&lt;br /&gt;
avr-size --format=avr --mcu=atmega8 AVRTest.elf&lt;br /&gt;
AVR Memory Usage&lt;br /&gt;
----------------&lt;br /&gt;
Device: atmega8&lt;br /&gt;
&lt;br /&gt;
Program:     108 bytes (1.3% Full)&lt;br /&gt;
(.text + .data + .bootloader)&lt;br /&gt;
&lt;br /&gt;
Data:          0 bytes (0.0% Full)&lt;br /&gt;
(.data + .bss + .noinit)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finished building: sizedummy&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projekteinstellungen ==&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
Die Einstellungen können unter &#039;&#039;&#039;Project&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Properties&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;C/C++ Build&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Settings&#039;&#039;&#039; vorgenommen werden. Auch hier muss man zuerst das Projekt im &#039;&#039;&#039;Project Explorer&#039;&#039;&#039; erstmal anklicken.&lt;br /&gt;
&lt;br /&gt;
[[Bild:ProjectProperties.png]]&lt;br /&gt;
&lt;br /&gt;
=== Prozessor / Taktfrequenz ===&lt;br /&gt;
Den Prozessor oder die Taktfrequenz kann man hier verändern&lt;br /&gt;
&#039;&#039;&#039;Project&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Properties&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;AVR&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Target Hardware&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Prozessor brennen ==&lt;br /&gt;
=== AVRDude ===&lt;br /&gt;
Den Prozessor kann man mit dem &#039;&#039;&#039;AVR&#039;&#039;&#039; Button in der Symbolleiste direkt aus Eclipse heraus mit AVRDude programmieren, dafür muss man aber gewisse Einstellungen vornehmen.&lt;br /&gt;
&lt;br /&gt;
=== Programmierhardware auswählen ===&lt;br /&gt;
&#039;&#039;&#039;Project&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Properties&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;AVR&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Target Hardware&#039;&#039;&#039; Danach klickt man auf den Tab &#039;&#039;&#039;Programmer&#039;&#039;&#039; und dann auf &#039;&#039;&#039;New&#039;&#039;&#039;. In der Liste wählt man einen Programmer aus und nimmt gegebenen falls zusätzliche Einstellungen vor.&lt;br /&gt;
&lt;br /&gt;
=== HEX-Datei auswählen ===&lt;br /&gt;
&#039;&#039;&#039;Project&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Properties&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;AVR&#039;&#039;&#039; --&amp;gt; &#039;&#039;&#039;Target Hardware&#039;&#039;&#039; Danach klickt man auf den Tab Flash/EEPROM. Eigentlich reicht es aus, &#039;&#039;&#039;from Build&#039;&#039;&#039; auszuwählen.&lt;br /&gt;
&lt;br /&gt;
=== Fuse- / Lockbits ===&lt;br /&gt;
Zu den Fuse- bzw. Lockbits gibt es in den jeweiligen Tabs diverse Einstellmöglichkeiten.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
&lt;br /&gt;
Debuggen funktioniert mit Eclipse entweder mit &#039;&#039;&#039;avarice&#039;&#039;&#039; oder &#039;&#039;&#039;simulavr&#039;&#039;&#039;, wobei ersteres zum OnDeviceDebugging dient und zweiteres einen Simulator darstellt. Zusätzlich ist &#039;&#039;&#039;avr-gdb&#039;&#039;&#039; notwendig, welches wie unter &#039;&#039;&#039;Installation unter Ubuntu&#039;&#039;&#039; beschrieben, installiert werden kann.&lt;br /&gt;
Einen Link zu einer Anleitung für das Debuggen mit Eclipse unter Windows findet ihr unten bei den [http://www.mikrocontroller.net/articles/AVR_Eclipse#Links Links].&lt;br /&gt;
&lt;br /&gt;
=== simulavr ===&lt;br /&gt;
&amp;lt;pre&amp;gt;simulavr -g -p 1212 -d atmega16 -P simulavr-disp&amp;lt;/pre&amp;gt;&lt;br /&gt;
startet den Simulator.&lt;br /&gt;
&lt;br /&gt;
=== avarice ===&lt;br /&gt;
&amp;lt;pre&amp;gt;avarice -j /dev/ttyS0 -P atmega128 :1212&amp;lt;/pre&amp;gt;&lt;br /&gt;
startet einen Server, der auf Port 1212 lauscht und das OnDeviceDebugging übernimmt.&lt;br /&gt;
&lt;br /&gt;
=== Eclipseeinstellungen ===&lt;br /&gt;
Unter Eclipse muss ein neues Debug-Target erzeugt werden, was in den Projekteinstellungen unter &#039;&#039;Run/Debug-Settings&#039;&#039; funktioniert. Es muss &#039;&#039;C/C++ application&#039;&#039; ausgewählt werden und folgende Einstellungen müssen geändert werden: &lt;br /&gt;
* Debugger&lt;br /&gt;
** gdbserver auswählen&lt;br /&gt;
** GDB debugger: Pfad zu avr-gdb (/usr/local/avr/bin/avr-gdb)&lt;br /&gt;
** &#039;&#039;verbose console mode&#039;&#039; einschalten&lt;br /&gt;
* Connection&lt;br /&gt;
** TCP, localhost, port 1212 (siehe simulavr/avarice-Aufruf).&lt;br /&gt;
&lt;br /&gt;
Unter Debugger muss für die Verwendung des Simulators Command-Datei mit folgendem Inhalt angegeben und daher auch erstellt werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
file link.elf&lt;br /&gt;
targ rem :1212&lt;br /&gt;
load&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
link.elf ist die Datei, welche durch den Build erstellt wird. Dies muss daher angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Beim On Device Debugging muss keine Command-Datei angegeben werden.&lt;br /&gt;
&lt;br /&gt;
=== Auslesen von IO-Registern ===&lt;br /&gt;
Wenn &#039;&#039;verbose console mode&#039;&#039; eingeschaltet ist, kann in diesem Konsolenfenster direkt mit avr-gdb kommuniziert werden. Dadurch können unter anderem die Register ausgelesen werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;p/x *(char *)Adresse&amp;lt;/pre&amp;gt; &lt;br /&gt;
gibt den Wert der Adresse als char aus.&lt;br /&gt;
&amp;lt;pre&amp;gt;p/t *(char *)Adresse&amp;lt;/pre&amp;gt;&lt;br /&gt;
returniert den Binärwert.&lt;br /&gt;
&lt;br /&gt;
Die Adresse setzt sich aus einer Startadresse und einem Offset zusammen, wobei diese sich im entsprechenden io-Header der Architektur befindet. Beispielweise setzt sich die Adresse für das UCSR0B-Register eines Atmega128 aus der Startadresse 0x800020 und dem Offset 0x0A zusammen.&lt;br /&gt;
&lt;br /&gt;
Für oft verwendete Register empfiehlt es sich, diesen mittels &lt;br /&gt;
&amp;lt;pre&amp;gt;set $name=(char *)Adresse&amp;lt;/pre&amp;gt;&lt;br /&gt;
einen Namen zuzuweisen. Diese könnte man in einer Datei speichern und diese als command-Datei beim Debugger angeben, wodurch man sich diese händischen Eingaben spart und mittels &lt;br /&gt;
&amp;lt;pre&amp;gt;p/x *$name&amp;lt;/pre&amp;gt; bzw. &amp;lt;pre&amp;gt;display *$name&amp;lt;/pre&amp;gt;&lt;br /&gt;
zugegreifen kann.&lt;br /&gt;
&lt;br /&gt;
=== AVR Studio ===&lt;br /&gt;
&lt;br /&gt;
Hinweise zum Debuggen mit [[AVR Studio]] (Windows) in einem Eclipse-Projekt gibt Marcel K. in http://www.mikrocontroller.net/topic/152059#1428733&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
[http://www.torsten-horn.de/techdocs/java-eclipse.htm Erste Schritte mit Eclipse]&lt;br /&gt;
&lt;br /&gt;
[http://avr-eclipse.sourceforge.net/wiki/index.php/Debugging Anleitung zum Debuggen mit Eclipse unter Windows]&lt;br /&gt;
&lt;br /&gt;
[http://www.wiki.elektronik-projekt.de/mikrocontroller/avr/avr_tutorials 3 Tuts für Eclipse mit AVRs]&lt;br /&gt;
&lt;br /&gt;
= Weiteres =&lt;br /&gt;
Bei Problemen kann dieser [http://www.mikrocontroller.net/topic/79965#667525 Thread] verwendet werden, in den ich, wann immer es sich bei mir ausgeht, schauen werde.&lt;br /&gt;
&lt;br /&gt;
Jeder ist aufgerufen hier weiterzumachen, wenn er mehr weiss, oder es besser gestalten kann.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR ]]&lt;/div&gt;</summary>
		<author><name>Avion23</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Platinenhersteller&amp;diff=49723</id>
		<title>Platinenhersteller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Platinenhersteller&amp;diff=49723"/>
		<updated>2010-08-05T17:53:21Z</updated>

		<summary type="html">&lt;p&gt;Avion23: /* BatchPCB */  link auf faq seite geändert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
Die Vor- und Nachteile von Platinenherstellern/-lieferanten werden relativ häufig im [http://www.mikrocontroller.net/forum/platinen Forum] diskutiert (und führen ab und zu zu Flamewars :-). Damit man schnell einen Überblick über die verschiedenen Möglichkeiten erhält, soll hier eine Liste zusammengetragen werden.&lt;br /&gt;
&lt;br /&gt;
Jeder kann/soll seinen Beitrag leisten, d.h. wenn man einen Platinenlieferanten kennt, der noch nicht erwähnt ist, einfach hinzufügen. Falls man den Hersteller nicht so gut kennt, einfach mal den Namen und die URL hinzufügen, es gibt sicherlich andere, die den Hersteller so gut kennen, dass sie sich zutrauen, ein Urteil über die Leistung zu fällen.&lt;br /&gt;
&lt;br /&gt;
Eigentümer oder Mitarbeiter der gelisteten Firmen mögen bitte der Versuchung widerstehen, die Einträge mit werbeähnlichen Texten oder Werbung zu ergänzen. Zufriedene Kunden mögen bitte darauf achten, ihre Zufriedenheit so zu formulieren, dass nicht der Eindruck entsteht, der Eintrag sei von einem Hersteller zur &amp;quot;Verschönerung&amp;quot; gemacht worden.&lt;br /&gt;
&lt;br /&gt;
PS.: Das Ganze soll so ähnlich werden wie [[Elektronik-Versender]], da hat das auch sehr gut geklappt!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Diese Seite kann nur von angemeldeten Benutzern bearbeitet werden!&#039;&#039;&#039; Bei neuen Einträgen bitte die Sortierung beachten.&lt;br /&gt;
&lt;br /&gt;
Einige Hinweise, Hilfestellungen zur Platinenfertigung und Auftragsvergabe gibt es auch in der [http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.6 de.sci.electronics-FAQ].&lt;br /&gt;
&lt;br /&gt;
===Preise===&lt;br /&gt;
Zur besseren Vergleichbarkeit bei jedem Hersteller dazu schreiben, was &#039;&#039;&#039;eine doppelseitige durchkontaktierte Eurokarte (160mm x 100mm) mit deutscher MwSt.&#039;&#039;&#039; ohne Versand kostet.&lt;br /&gt;
Dazu noch die Lieferzeit und ob Lötstopplack und Bestückungsdruck dabei ist.&lt;br /&gt;
&#039;&#039;Zusätzlich&#039;&#039; kann man noch die Preise für andere Formate, Stückzahlen etc. dazu schreiben.&lt;br /&gt;
&lt;br /&gt;
== Liste der Hersteller ==&lt;br /&gt;
&lt;br /&gt;
=== Deutschland ===&lt;br /&gt;
&lt;br /&gt;
==== amsTechnology ====&lt;br /&gt;
Homepage: http://www.amstechnology.de&lt;br /&gt;
* Leiterplatten und Bestückung (Prototypen und Kleinserien, bis hin zur Großserie)&lt;br /&gt;
* Sehr schnell&lt;br /&gt;
* Ein- und doppelseitige Leiterplatten, Multilayer. &lt;br /&gt;
* Layoutservice&lt;br /&gt;
* SMD- und THT Bestückung&lt;br /&gt;
* Gerätebau&lt;br /&gt;
* günstige Preise&lt;br /&gt;
* sehr gute Qualität&lt;br /&gt;
* Lieferzeit an 3 AT&lt;br /&gt;
* Bauelementebeschaffung auch schon bei 1 Stück (super funktioniert)&lt;br /&gt;
&lt;br /&gt;
==== andus electronic ====&lt;br /&gt;
Homepage: http://www.andus.de&lt;br /&gt;
* Prototypen Fertigung&lt;br /&gt;
* Top Qualität&lt;br /&gt;
* Top Service&lt;br /&gt;
* Vergleichsweise Teuer&lt;br /&gt;
&lt;br /&gt;
==== ANTtronic ====&lt;br /&gt;
Homepage: http://www.anttronic.de/pcb/&lt;br /&gt;
&amp;lt;!-- früher http://www.gsel.de --&amp;gt;&lt;br /&gt;
* gute Preise, aber Lieferzeit beachten!&lt;br /&gt;
* 1 Europlatine einseitig kein Lötstoplack 17€ inkl. MwSt +7€ Versand&lt;br /&gt;
* 1 Europlatine doppelseitig &#039;&#039;nicht durchkontaktiert&#039;&#039; kein Lötstoplack 23€ inkl. MwSt +7€ Versand; 2Stück 37€&lt;br /&gt;
&lt;br /&gt;
==== Basista Leiterplatten ====&lt;br /&gt;
Homepage: http://www.basista.de&lt;br /&gt;
* Eurokarte doppelseitig für 52€ inkl. MwSt / mit Stopplack + Best.Druck 94€ inkl. MwSt&lt;br /&gt;
* Prototypen standardmäßig chemisch zinnbehandelt&lt;br /&gt;
* Preise OK&lt;br /&gt;
* Früher geliefert ohne Aufpreis (7 statt 10 AT)&lt;br /&gt;
* Qualität OK&lt;br /&gt;
&lt;br /&gt;
==== Bauer-Elektronik ====&lt;br /&gt;
Homepage: http://www.bauer-leiterplatten.de/&lt;br /&gt;
* Eurokarte doppelseitig für 61€ inkl. MwSt 8AT Lieferzeit / Stopplack +10% / Best.Druck +10%&lt;br /&gt;
* Prototypen aktivzinnbehandelt, dieses lässt sich laut Firmenangaben noch nach Jahren löten&lt;br /&gt;
* Eildienst 2h: Versand am selben Tag bei Einsendung bis 13:00 400€ für 2dm²&lt;br /&gt;
&lt;br /&gt;
==== Conti ====&lt;br /&gt;
Homepage: http://www.contag.de&lt;br /&gt;
* Berliner Platinenhersteller&lt;br /&gt;
* vergleichsweise teuer, aber dafür schnell (ab 4 Stunden!!)&lt;br /&gt;
&lt;br /&gt;
==== Elischer Leiterplatten ====&lt;br /&gt;
e-mail: Melischer@aol.com&lt;br /&gt;
* sehr gute Preise, Qual.1A&lt;br /&gt;
* 3KW Lieferzeit&lt;br /&gt;
* Daten laut Google:  Dipl.-Ing. A. Elischer, Am Forst 7, 72574 Bad Urach  Tel. 07125-4498&lt;br /&gt;
* Layoutentwurf, LP Entwicklung, herstellen, bestücken, löten, prüfen&lt;br /&gt;
&lt;br /&gt;
==== Fischer Leiterplatten GmbH ====&lt;br /&gt;
Homepage: http://www.fischer-leiterplatten.de&lt;br /&gt;
* 1 Europlatine inkl. Lack, E-Test, ohne Bestückungsdruck für 46,41€ inkl. MwSt in 10 Tagen + Versand&lt;br /&gt;
* 1 Europlatine inkl. Lack, E-Test, Best.-Druck top oder bottom für 58,31€ inkl. MwSt in 10 Tagen + Versand&lt;br /&gt;
* 1 Europlatine inkl. Lack, E-Test, Best.-Druck doppelseitig für 117,81€ inkl. MwSt in 10 Tagen + Versand&lt;br /&gt;
* max. 4 lagig&lt;br /&gt;
* Bestückungsdruck doppelseitig&lt;br /&gt;
* Bohrungen no limit&lt;br /&gt;
* min Clearance 0,15mm (Standard)&lt;br /&gt;
* min Bohrdurchmesser 0,3mm (Standard)&lt;br /&gt;
* Gerber/Eagle/Protel/Target&lt;br /&gt;
* mehrere Leiterplatten können auf einer Europakarte, zum Preis einer Europakarte, zusammengefasst werden und werden automatisch vereinzelt.&lt;br /&gt;
* Überlieferung wird kostenlos beigelegt. (Sprich: in der Regel werden mehr Leiterplatten geliefert als bestellt.)&lt;br /&gt;
* Verkauf nur an Gewerbetreibende (aber es wird kein Gewerbenachweis verlangt ;) )&lt;br /&gt;
&lt;br /&gt;
==== GLS Leiterplatten-Service GmbH ====&lt;br /&gt;
Homepage: http://www.leiterplattenprototypen.de&lt;br /&gt;
* Prototypenfertigung bei Chemnitz&lt;br /&gt;
* Top Qualität (mittleres Preisniveau)&lt;br /&gt;
* Top Service&lt;br /&gt;
* Prüfung der Layoutdaten in der CAM&lt;br /&gt;
* Standardlieferzeit: 10 Arbeitstage&lt;br /&gt;
* Eilservice bis 3 Arbeitstage (mit Aufpreis)&lt;br /&gt;
* Oberfläche Standard: HAL bleifrei; aber auch z.&amp;amp;nbsp;B. chem. Gold, chem. Zinn und HAL bleihaltig&lt;br /&gt;
* einseitige, nichtdurchkontaktierte Leiterplatten &lt;br /&gt;
* durchkontaktierte Leiterplatten&lt;br /&gt;
* Multilayer: bis 8-Lagen&lt;br /&gt;
* bietet zusätzlichen Service rund um die Leiterplatte: Erstellung von Leiterplattenlayouts und Digitalisierung/Scannen von alten Fertigungsfilmen, Papierausdrucken oder vorhandenen Musterleiterplatten&lt;br /&gt;
* SMD Schablonen&lt;br /&gt;
&lt;br /&gt;
==== HAKA Elektronik-Leiterplatten GmbH ====&lt;br /&gt;
Homepage: http://www.haka-lp.de/&lt;br /&gt;
* Zwillingsangebot: 2 identische Europakarten für 50€ (durchkontaktiert, Lötstop, kein Bestückungsdruck, nur Eagle- oder Target-Dateien), auch hierbei kostenlose Duplizierung kleinerer Layouts&lt;br /&gt;
* Zwillingsangebot: 2 identische Doppel-Eurokarten (200x160) für 90€, gleiche Bedingungen wie oben&lt;br /&gt;
* bei Platinen kleiner 1 qdm gibt es entsprechend mehr ohne Aufpreis&lt;br /&gt;
* Lieferzeit ab 3 Werktage&lt;br /&gt;
* sehr gute Qualität&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Auf der Homepage ist von Platinen nichts mehr zu sehen --Esko&lt;br /&gt;
==== LED-Hobby ====&lt;br /&gt;
Homepage: http://www.led-hobby.de/&lt;br /&gt;
* Kleinster Leiterbahnabstand: 0,2mm&lt;br /&gt;
* Kleinste Leiterbahnbreite: 0,2mm&lt;br /&gt;
* Kleinste Bohrung: 0,3mm&lt;br /&gt;
* Preis 0,35 EUR pro 1 x 1 cm (folglich 56,- EUR für eine doppelseitige Europakarte)&lt;br /&gt;
* RoHS-konform, made in Germany.&lt;br /&gt;
* Es sind alle Konturen, durchkontaktierte Bohrungen, Verzinnung (bleifrei) und beidseitiger grüner Lötstopplack enthalten. Kein Aufpreis, kein Grundpreis, keine Nacharbeit. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ILFA Feinstleitertechnik GmbH ====&lt;br /&gt;
Homepage: http://www.ilfa.de&lt;br /&gt;
&lt;br /&gt;
==== LEITON ====&lt;br /&gt;
Homepage: [http://www.leiton.de/ leiterplatten-online.de]&lt;br /&gt;
* Flexible Leiterplatten online kalkulieren&lt;br /&gt;
* Alle Layouts werden in der CAM eingehend geprüft&lt;br /&gt;
* Schnellste Bearbeitung von Anfragen &lt;br /&gt;
* Diverse Spezialfertigungen (Aluminiumkern, HF, hoch-Tg etc.)&lt;br /&gt;
* Fließender Übergang vom Prototyp in die Serie möglich&lt;br /&gt;
* Niederlassungen in Hongkong &amp;amp; China für Großserien (LeitOn HK Ltd.)&lt;br /&gt;
* Relativ günstig&lt;br /&gt;
* bei mehreren kleinen Leiterplatten wird nach Gesamtfläche berechnet, nicht nach Mindestfläche x Mindestpreis x Stückzahl&lt;br /&gt;
* Doppelseitige Europlatine mit Lötstop in 8 Tagen 61,25 Eur&lt;br /&gt;
* In 15 Tagen 49 Eur&lt;br /&gt;
* Gute Qualität&lt;br /&gt;
* Bis 8-lagig und ab 12 Std.&lt;br /&gt;
&lt;br /&gt;
==== Microcirtec  ====&lt;br /&gt;
Homepage: http://www.microcirtec.de&lt;br /&gt;
* Direct - Online - Shop — zum Kalkulieren-Bestellen und Kaufen&lt;br /&gt;
* Mit Auftragsverfolgung per Online&lt;br /&gt;
* Vom Rapid Prototyping bis zur Rapid Mass-Production&lt;br /&gt;
* Qualität betrachten wir als selbstverständlich&lt;br /&gt;
&lt;br /&gt;
==== mmetoolshop / MME-Leiterplatten ====&lt;br /&gt;
Homepage: http://mme-pcb.de&lt;br /&gt;
eBay: http://stores.ebay.de/mmetoolshop&lt;br /&gt;
* Verkauft sowohl über die eigene Homepage als auch über eBay (zu identischen Konditionen)&lt;br /&gt;
* Europakarte: ES: 20,60 EUR, DSDK: 41,50 EUR&lt;br /&gt;
* Durchkontaktierung bei zweiseitigen Leiterplatten ist im Preis inbegriffen&lt;br /&gt;
* Trennen und Bohren inklusive&lt;br /&gt;
* Stopplack (11€) und Bestückungsdruck (16€) kosten extra&lt;br /&gt;
* min. Abstand 0,20 mm,  min. Leiterbahnbreite 0,20 mm, kleinste Bohrung 0,4 mm&lt;br /&gt;
&amp;lt;!-- * sehr gute Qualität --&amp;gt;&lt;br /&gt;
* Lieferzeit 8-12 Arbeitstage (bei mir waren es nur 5 Werktage)&lt;br /&gt;
* Überlieferung kostet nichts (häufig wird eine Leiterplatte mehr geliefert, bei mir waren es bei vier bestellten Platinen zwei mehr)&lt;br /&gt;
* Mit einer bestellten einseitigen Platine (DIL Bauteile) bin ich sehr zufrieden&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/73790 Thread &#039;MME-PCB, Erfahrungen&#039;]&lt;br /&gt;
&lt;br /&gt;
==== Multi PCB Ltd. ====&lt;br /&gt;
Homepage: http://www.multipcb.de/leiterplatten.html&lt;br /&gt;
&amp;lt;!-- nur http://www.multipcb.de zeigt ein Upload-Form (6.4.09 FF und IE) --&amp;gt;&lt;br /&gt;
* nur für Gewerbetreibende&lt;br /&gt;
* Eurokarte doppelseitig mit Lötstopplack und Bestückungsdruck 78€ inkl. MwSt&lt;br /&gt;
* Online Kalkulator&lt;br /&gt;
&amp;lt;!-- (wurde von &amp;quot;ordentlich&amp;quot; auf &amp;quot;hervorragend&amp;quot; vom einem sehr zufriedenen Kunden umgeändert oder vom Anbieter? Anbieter finden ihre Produkte hoffentlich alle hervorragend. &amp;quot;Sehr gute Qualität&amp;quot; nun ohnehin schon unten) * hervoragende Qualität bei gutem Preis  * interessant für Serien; neuer günstiger Service für Prototypen --&amp;gt;&lt;br /&gt;
* farbiger Lötstopplack und Bestückungsdruck möglich&lt;br /&gt;
* 48 Stunden Express&lt;br /&gt;
* Kompletter Design-Rule-Check der CAM-Daten&lt;br /&gt;
* Diverse Spezialfertigungen (Flex, Starrflex, Metallkern, HF, hoch-Tg, etc.)&lt;br /&gt;
* Sehr gute Qualität&lt;br /&gt;
&lt;br /&gt;
==== M &amp;amp; V Leiterplatten - Vertriebs GmbH ====&lt;br /&gt;
Homepage: &amp;lt;!-- http://www.mvpcb.de/ alte Adresse--&amp;gt; http://pcb-center.de/&lt;br /&gt;
* Bin sehr zufrieden, gute Preise, 10 - 14 Tage&lt;br /&gt;
* Top Qualität, nichts auszusetzen&lt;br /&gt;
* Qualität sehr gut, hohe Auflösung, auch SMD fine pitch möglich&lt;br /&gt;
* Eurokarte doppelseitig 2xStopplack FR4 bleifrei konturgefräst  63€ inkl. MwSt zzgl. Versand&lt;br /&gt;
* Eurokarte einseitig    1xStopplack FR4 bleifrei konturgefräst  44€ inkl. MwSt zzgl. Versand&lt;br /&gt;
&lt;br /&gt;
* Freundlicher Kontakt, Leiterplatten sehen gut aus, lieferten 6 Tage zu frueh!&lt;br /&gt;
* Biszu fünf unterschiedliche Karten können in einem Auftrag gepoolt werden -&amp;gt; preiswerter weil dm² kosten über alle gerechnet werden.&lt;br /&gt;
&lt;br /&gt;
==== PCB Pool ====&lt;br /&gt;
Homepage: http://www.pcb-pool.de/&lt;br /&gt;
* ideal für einzelne Boards und Klein(st)serien&lt;br /&gt;
* Preise im üblichen Rahmen&lt;br /&gt;
* Günstigere Preise für 10er oder 20er Auflage&lt;br /&gt;
* sehr gute Qualität&lt;br /&gt;
* Lieferzeit ab 2 AT&lt;br /&gt;
* SMD-Schablonen&lt;br /&gt;
* Kosten vor Bestellung eindeutig ersichtlich - keine unerwarteten Nebenkosten&lt;br /&gt;
&lt;br /&gt;
==== Q-print/Q-PCB ====&lt;br /&gt;
Homepage: http://www.Q-PCB.de&lt;br /&gt;
* ideal für einzelne Boards und Klein(st)serien&lt;br /&gt;
* supergünstige Preise &lt;br /&gt;
* gute Qualität (u.U. Lötstop etwas unsauber)&lt;br /&gt;
* keine Zusatzpreise für 2x Lötstoplack o.ä.&lt;br /&gt;
* 150 µm kleinste Strukturbreite&lt;br /&gt;
* ohne Aufpreis bekommt man entweder HAL oder Ni/Au, gegen Aufpreis kann man aus einem von beiden wählen&lt;br /&gt;
* SMD-Schablonen&lt;br /&gt;
* Lieferzeit ab 4 AT&lt;br /&gt;
* Platine 50mm x 60mm, doppelseitig: ~45€ incl. Versand und Nachnahme&lt;br /&gt;
* Platine 100mm x 160mm, doppelseitig: 49€ +7€ für Lötstopp +7€ Versand&lt;br /&gt;
&lt;br /&gt;
==== Steimer Leiterplatten GmbH ====&lt;br /&gt;
Homepage: http://www.steimer.de&lt;br /&gt;
&lt;br /&gt;
==== The PCB-Shop / Europrint Deutschland GmbH ====&lt;br /&gt;
Homepage: http://www.thepcbshop.com&lt;br /&gt;
* Punktabzug, da der Preisrechner nur mit Internet Explorer funktioniert&lt;br /&gt;
* gute Qualität&lt;br /&gt;
* guter Preis (inkl. gratis Überlieferungen - 30 kleine Platinen bestellt, 35 bekommen)&lt;br /&gt;
* wenig Statusinformationen (Link zur Statusseite kommt per Mail, dort ändert sich der Status und der Empfänger eigentlich täglich - ist aber trotzdem fristgerecht angekommen)&lt;br /&gt;
&lt;br /&gt;
==== Würth Elektronik GmbH &amp;amp; Co. KG ====&lt;br /&gt;
Homepage: http://www.we-online.de&lt;br /&gt;
* gehört sicherlich nicht zu den preisgünstigsten&lt;br /&gt;
* kann Bauteile in der Leiterplatte fertigen (R, C, Potis u.a.)&lt;br /&gt;
* beherrscht Microvias in allen erdenklichen Varianten&lt;br /&gt;
* sehr kompetentes Ansprechpersonal&lt;br /&gt;
&lt;br /&gt;
==== Onlineshop WEdirekt ====&lt;br /&gt;
&amp;lt;!-- Benutzer:Bede hat diese Beitrag eingefügt und sonst nie etwas im Wiki geschrieben, daher höchstwahrscheinlich Spam. Daher positive Meinung entfernt --&amp;gt;&lt;br /&gt;
Homepage: http://www.wedirekt.de&lt;br /&gt;
* PCB&#039;s in Basistechnologie, 2-8 Lagen&lt;br /&gt;
* SMD Schablonen in allen Ausführungen&lt;br /&gt;
* Europlatine doppelseitig mit Lötstopplack 67€ inkl. MwSt&lt;br /&gt;
* Design- und Applikationsfachbücher rund um EMV&lt;br /&gt;
&amp;lt;!-- * online kalkulieren und bestellen&lt;br /&gt;
* günstig, super Qualität  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Deutschland sehr günstige===&lt;br /&gt;
Diese Hersteller zeichnen sich durch einen sehr günstigen Preis von &#039;&#039;&#039;unter 30€ pro doppelseitiger Eurokarte&#039;&#039;&#039; aus und können &#039;&#039;&#039;keine Durchkontaktierungen&#039;&#039;&#039; herstellen.&lt;br /&gt;
&lt;br /&gt;
==== Cadgrafik Bauriedl (nur Filme) ====&lt;br /&gt;
Homepages: http://cadgrafik-bauriedl.de/leiterplattenfilme.htm&lt;br /&gt;
&amp;lt;!-- identischer Inhalt: http://www.so-pbdl.de/leiterplattenfilme.htm --&amp;gt;&lt;br /&gt;
* Überträgt Layouts auf hochwertige Folie/Film zum Selberätzen&lt;br /&gt;
* 1,15 € / 100 cm² Film, 2,50 € Mindestbestellwert (Stand März 2009)&lt;br /&gt;
* 2 € Porto (Stand März 2009)&lt;br /&gt;
&lt;br /&gt;
==== EBC Utz Kohl ====&lt;br /&gt;
Homepage: [http://www.e-b-c-elektronik.de http://www.e-b-c-elektronik.de]&lt;br /&gt;
* recht einfach gehalten, daher wirklich günstig&lt;br /&gt;
* Ideal für den Bastler, denen es auf den Preis ankommt&lt;br /&gt;
* Geätzt einseitig Euroformat 160 x 100mm 16,- EUR (zzgl 1,- EUR  Entsorgungspauschale pro Platine)&lt;br /&gt;
* Geätzt doppelseitig Euroformat 160 x 100mm 26,20 (zzgl 2,- EUR  Entsorgungspauschale pro Platine)&lt;br /&gt;
* doppelseitige Platinen sind nicht durchkontaktiert !&lt;br /&gt;
* eigentlich ein Ladengeschäft, versendet jedoch auch&lt;br /&gt;
&lt;br /&gt;
==== Platinenbelichter ====&lt;br /&gt;
Homepage: http://www.platinenbelichter.de&lt;br /&gt;
* sehr preiswert&lt;br /&gt;
* Ein- und Doppelseitig bis 300x200mm&lt;br /&gt;
* eine doppelseitige Europlatine kostet 13,50 EUR Grundpreis + Bohrung 1,8cent + Optionen&lt;br /&gt;
* Keine Durchkontaktierungen möglich&lt;br /&gt;
* Lieferzeit von bis zu 8 &#039;&#039;&#039;Arbeits&#039;&#039;&#039;tagen nach Geldeingang&lt;br /&gt;
* Qualität ist mehr als ausreichend für TQFP&lt;br /&gt;
&lt;br /&gt;
==== Platinendesign ====&lt;br /&gt;
Homepage: http://www.platinendesign.de/&lt;br /&gt;
* sehr preiswert&lt;br /&gt;
* Ein- und Doppelseitig bis 200x250mm&lt;br /&gt;
* eine doppelseitige Europlatine kostet 14 EUR Grundpreis + Bohrung 2cent + Optionen&lt;br /&gt;
* keine Durchkontaktierungen möglich&lt;br /&gt;
*Lötstoplack grün&lt;br /&gt;
* Lieferzeit von bis zu 8 &#039;&#039;&#039;Arbeits&#039;&#039;&#039;tagen nach Geldeingang&lt;br /&gt;
&lt;br /&gt;
====  Electronic-Customs ====&lt;br /&gt;
Homepage: http://www.electronic-customs.de/&lt;br /&gt;
* eine einseitige Europlatine kostet (4€ einmalig pro Layout) + 9€ + Bohrung 4cent + Optionen&lt;br /&gt;
* Staffelpreise bei den Platinen&lt;br /&gt;
* Versand 1-2 Platinen 2,00€, bei mehreren 6,00€ &lt;br /&gt;
* nur einseitig, Leiterbahnbreite 0.2mm, Abstand 0.2mm, Bohrloch &amp;gt;0.6mm&lt;br /&gt;
* Bearbeitungszeit 5-7 Tage&lt;br /&gt;
* Layouts als Sprint, Eagle, PDF, Target3001! oder auch Bilddatei&lt;br /&gt;
* Layout aus Schaltplan erstellen: bis 25 Bauteile 10€, 26 bis 100 Bauteile 25€, &amp;gt;100 Bauteilen 50€&lt;br /&gt;
* Alle Angaben von der Homepage übernommen, keine eigenen Erfahrungen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ätzstudio Objektif ====&lt;br /&gt;
&lt;br /&gt;
e-mail: objektif@gmx.de&lt;br /&gt;
* Europlatine ab 9,-- Euro&lt;br /&gt;
* Sehr hohe Qualität&lt;br /&gt;
* Chemische Verzinnung ist möglich&lt;br /&gt;
* Bohrung möglich, 3 Cent pro Bohrung&lt;br /&gt;
* Lieferzeit meistens nach Geldeingang oder 1 Woche&lt;br /&gt;
* Keine Durchkontaktierungen und Lötstopplack möglich&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Ausland ===&lt;br /&gt;
&lt;br /&gt;
==== BatchPCB ====&lt;br /&gt;
Homepage: http://www.batchpcb.com (USA)&lt;br /&gt;
* Vermittler und keine eigene Herstellung (&amp;quot;PCB pooling service&amp;quot;), Hersteller vermutlich meist [[Platinenhersteller#Gold Phoenix|Gold Phoenix]]&lt;br /&gt;
* verbandelt mit Sparkfun (&amp;quot;off shoot of Spark Fun Electronics&amp;quot;)&lt;br /&gt;
* &amp;quot;We only offer one service at this time: 2 layer PCBs with soldermask both sides and silkscreen both sides. The minimum trace width is 8mil with 8 mil spacing.&amp;quot;&lt;br /&gt;
* relativ günstig, lange Lieferzeiten, weiteres siehe Homepage und [http://batchpcb.com/index.php/Faq BatchPCB FAQ]&lt;br /&gt;
&lt;br /&gt;
==== BILEX-LP ====&lt;br /&gt;
Homepage http://www.bilex-lp.com/ (Bulgarien)&lt;br /&gt;
* deutschsprechender Ansprechpartner&lt;br /&gt;
* liefern bleifreie Platinen(RoHs konform)&lt;br /&gt;
* 31€ für eine doppelseitige Eurokarte ohne Lack und Druck&lt;br /&gt;
* SMD- und THT Bestückung &lt;br /&gt;
* Layoutservice &lt;br /&gt;
* Lieferzeit ab 3-4 AT &lt;br /&gt;
* insgesamt von 5 bis 7 AT Anlieferung bei Airmail (Porto ab 4,-Euro)&lt;br /&gt;
* FedEx wollte von Bulgarien aus ab 27,-Euro, 1-2AT)&lt;br /&gt;
* Löcher größer 6 mm wurden nicht gebohrt, sondern gefräst(gegen Anfrage)&lt;br /&gt;
* Berichtete Qualitätsmängel (in Einzelfällen): ausgefranste Plantinenfräsung, Lötstoplack hebt ab(nur bei Sn-Pb beschichtung, nicht bei Ni-Au).&lt;br /&gt;
* Fräsungen müssen extra bestellt werden! Aber trotzdem günstig&lt;br /&gt;
&lt;br /&gt;
==== CUBE CZ s.r.o. ====&lt;br /&gt;
Homepage http://www.cube.cz/ (Tschechische Republik)&lt;br /&gt;
&lt;br /&gt;
==== Euro PCB Ltd. ====&lt;br /&gt;
Homepage http://www.europcb.com/ (Großbritannien)&lt;br /&gt;
* Günstige Leiterplatten&lt;br /&gt;
* Schnelle Lieferung&lt;br /&gt;
* Qualitativ OK&lt;br /&gt;
&lt;br /&gt;
==== Gold Phoenix ====&lt;br /&gt;
Homepage http://www.goldphoenixpcb.biz/ (VR China)&lt;br /&gt;
&lt;br /&gt;
==== MakePCB ====&lt;br /&gt;
Homepage http://www.makepcb.com/ (Shanghai, VR China)&lt;br /&gt;
* Ich habe bei MakePCB Platinen geordert und als Zahlungsart Paypal angegeben. Die automatische Bestaetigung kam, es stand nochmal explizit drin dass ich Paypal als Zahlungsart gewaehlt habe und die Bemerkung, dass bei Zahlungsart Paypal in 2 Tagen eine Mail an die gleiche Adresse kaeme mit den Daten für Paypal. Naja, nach 4 Tagen war immernoch nichts da, ich habe denen eine Mail geschrieben und nochmal nach den &amp;quot;versprochenen&amp;quot; Paypaldaten gefragt. Drei Tage spaeter war immernoch nichts da, also habe ich die Bestellung abgebrochen. Am 8. Tag kam die Zahlungsforderung über Paypal, kein Wort der Erklaerung. Am 10. Tag kamen zwei identische Mails, die sagten man haette die PayPal-Zahlungsaufforderung schon geschickt. Irgendwas laeuft in dem Laden also schief.&lt;br /&gt;
&lt;br /&gt;
==== OLIMEX Ltd. ====&lt;br /&gt;
Homepage http://www.olimex.com (Bulgarien)&lt;br /&gt;
&lt;br /&gt;
Habe mehrere Jahre bei Olimex meine Prototypen herstellen lassen. Stets saubere Arbeit erhalten. Bis ich denen mal falsche Gerber-Dateien zusandte. Als ich einige Stunden spaeter den Fehler bemerkt hatte, bat ich um Stornierung und Neuzusendung. Gegen ein zusaetzliches Entgelt wurde dies akzeptiert.&lt;br /&gt;
Die angesagten Zusatzkosten wurden zwar von mir nicht abgebucht, aber ich erhielt  1 Woche spaeter die anfaenglich falsch zugesandten PCB&#039;s.&lt;br /&gt;
Die Zusammenfassung des darauffolgenden Email-Verkehrs: Ein Schulterzucken seitens Olimex und die Bitte, eine neue, kostenpflichte Bestellung zu taetigen.&lt;br /&gt;
&lt;br /&gt;
==== PAD2PAD ====&lt;br /&gt;
Homepage http://www.pad2pad.com/ (USA)&lt;br /&gt;
* Bestücken die Platinen auch mit Digikey-Bauteilen.&lt;br /&gt;
&lt;br /&gt;
==== PCBCart ====&lt;br /&gt;
Homepage http://www.pcbcart.com/ (China)&lt;br /&gt;
* auch kompliziertere Designs&lt;br /&gt;
* schnell und zuverlässig&lt;br /&gt;
* Eurokarte doppelseitig mit Lötstopp beidseitig und Bestückungsdruck kostet 60€ ohne MwSt +15€ Versand&lt;br /&gt;
* 2Stück 64€ ohne MwSt +15€ Versand&lt;br /&gt;
* 10Stück 90€ ohne MwSt +15€ Versand&lt;br /&gt;
* Eurokarte einseitig ohne Lötstopp und ohne Bestückungsdruck kosten 10Stück 71€ ohne MwSt +19€ Versand&lt;br /&gt;
&lt;br /&gt;
==== PCBPro ====&lt;br /&gt;
Homepage http://www.pcbpro.com/ (USA)&lt;br /&gt;
* Bei größeren Mengen (z.&amp;amp;nbsp;B. 100 Stück) sehr niedrige Preise&lt;br /&gt;
&lt;br /&gt;
==== Top-Tec-PCB ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Geschäftsbetrieb eingestellt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Homepage http://www.top-tec-pcb.com/ (Großbritannien)&lt;br /&gt;
* Günstig für Klein- bis Großserien&lt;br /&gt;
* Discount bei Nachbestellung&lt;br /&gt;
* sehr gute Technik (z.&amp;amp;nbsp;B. 100µm Bohren oder 75µm Leiterbahn)&lt;br /&gt;
* deutschsprechender Ansprechpartner&lt;br /&gt;
* liefern bleifreie Platinen (HAL, chem. Gold, Silber u. Zinn)&lt;br /&gt;
* 48h Eildienst&lt;br /&gt;
&lt;br /&gt;
==== The PCB Shop ====&lt;br /&gt;
Homepage http://www.thepcbshop.com/ (Belgien)&lt;br /&gt;
* Für einfache Sachen&lt;br /&gt;
* Preisrechner funktioniert nur mit IE&lt;br /&gt;
&lt;br /&gt;
==== PIU-Printex ====&lt;br /&gt;
Homepage http://www.piu-printex.at/ (Österreich)&lt;br /&gt;
* Bei größeren Mengen (&amp;gt; 20 Stück, einseitig, viele Bohrungen) günstig&lt;br /&gt;
* Bearbeitung innerhalb 6 AT&lt;br /&gt;
* Telefonische Kontaktaufnahme bei Rückfragen&lt;br /&gt;
&lt;br /&gt;
Ich war sehr positiv überrascht.&lt;br /&gt;
&lt;br /&gt;
==== Vi&amp;amp;Rus International ====&lt;br /&gt;
Euro 160x100 für Euro 58,- incl. Express-Versand&lt;br /&gt;
&lt;br /&gt;
http://www.vrint-pcb.com&lt;br /&gt;
&lt;br /&gt;
* 3 (!) Arbeitstage&lt;br /&gt;
* RoHS, ENIG&lt;br /&gt;
* 2 Lagen, durchkontaktiert&lt;br /&gt;
* Lötstop beideitig&lt;br /&gt;
* Bestückungsdruck&lt;br /&gt;
* E-Test&lt;br /&gt;
* incl. Vereinzelungen (gefräst)&lt;br /&gt;
* incl. Versand (1 AT), also am 4. AT geliefert&lt;br /&gt;
&lt;br /&gt;
Erstklassige Qualität, auch bei Fine-Pitch; schneller, freundlicher Support.&lt;br /&gt;
&lt;br /&gt;
== Preisvergleichstabellen (Stand Februar 2010) ==&lt;br /&gt;
&lt;br /&gt;
Preise für 1, 2 Europlatinen (160x100), FR4 1.6mm, HAL bleifrei, 150µm Leiter, 0.3mm Bohren, doppelseitig, 8AT, kein Bestückungsdruck, inkl. MwSt, ohne Versand.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;text-align:left&amp;quot; |Hersteller !!Preis (€) 1x !!Preis (€) 2x&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; colspan=&amp;quot;3&amp;quot; |&#039;&#039;ohne Lötstopp, ohne E-Test&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;Basista Leiterplatten&#039;&#039;&#039;|| 43,66 || 81,61&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;Fischer Leiterplatten GmbH&#039;&#039;&#039; (10AT, immer mit LS.+E-T.)|| 46,41 || 73,07&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;HAKA Elektronik-Leiterplatten GmbH&#039;&#039;&#039;|| 64,54 || 106,13&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;LEITON&#039;&#039;&#039;|| 54,98 || 104,51&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;MME-Leiterplatten&#039;&#039;&#039; (200µm Leiter)|| 41,44 || ?&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;PCB Pool&#039;&#039;&#039;|| 50,27 || 100,54&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;Q-print/Q-PCB&#039;&#039;&#039;|| 55,62 || 95,89&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; colspan=&amp;quot;3&amp;quot; |&#039;&#039;mit Lötstopp, mit E-Test&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;Basista Leiterplatten&#039;&#039;&#039;|| 77,66 || 115,61&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;Fischer Leiterplatten GmbH&#039;&#039;&#039; (10AT)|| 46,41 || 73,07&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;LEITON&#039;&#039;&#039;|| 88,79 || 147,39&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;Multi PCB Ltd. Leiterplatten&#039;&#039;&#039; (6AT)|| 78,06 || 156,13&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;M &amp;amp; V Leiterplatten - Vertriebs GmbH&#039;&#039;&#039;|| 62,83 || 125,66 &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;Onlineshop WEdirekt&#039;&#039;&#039;|| 128,75 || 172,38&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preise für 1, 2, 10 Europlatinen (160x100), FR4 1.6mm, HAL bleifrei, 150µm Leiter, 0.3mm Bohren, doppelseitig, 8AT, 1x Bestückungsdruck, 2x Lötstopp, E-Test, inkl. MwSt, ohne Versand.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Hersteller !! Preis (€) 1x !!Preis (€) 2x !!Preis (€) 10x !! Nachbest. (€) 10x&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; colspan=&amp;quot;5&amp;quot; |&#039;&#039;mit Lötstopp, mit Bestückungsdruck, mit E-Test&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;Fischer Leiterplatten GmbH&#039;&#039;&#039; (10AT)|| 58,31 || 84,97 || 337,72 || 219,91 &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;HAKA Elektronik-Leiterplatten GmbH&#039;&#039;&#039;|| 82,54 || 124,13 || 302,08 || 284,08 &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;LEITON&#039;&#039;&#039;|| 124,37 || 187,15 || 389,84 || x &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;Multi PCB Ltd. Leiterplatten&#039;&#039;&#039;|| 78,06 || 156,13 || 272,27 || 180,64&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;M &amp;amp; V Leiterplatten - Vertriebs GmbH&#039;&#039;&#039;|| 110,43 || 173,26 || ? || ? &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;PCB Pool&#039;&#039;&#039;|| 122,29 || 129,26 || 407,58 || x &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;Q-print/Q-PCB&#039;&#039;&#039;|| 96,80 || 166,90 || 834,48 || x &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left&amp;quot; |&#039;&#039;&#039;Onlineshop WEdirekt&#039;&#039;&#039;|| 145,18 || 190,64 || 379,49 || x&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Avion23</name></author>
	</entry>
</feed>