<?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=0%3A0%3A0%3AFFFF%3A79%3A83%3A80%3A46</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=0%3A0%3A0%3AFFFF%3A79%3A83%3A80%3A46"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/0:0:0:FFFF:79:83:80:46"/>
	<updated>2026-04-11T13:29:08Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_Eclipse&amp;diff=72383</id>
		<title>AVR Eclipse</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_Eclipse&amp;diff=72383"/>
		<updated>2013-02-15T19:49:43Z</updated>

		<summary type="html">&lt;p&gt;0:0:0:FFFF:79:83:80:46: wenn dann so&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 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 7 (mit aktuellstem Update)]&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 &amp;quot;Helios SR2&amp;quot; &#039;&#039;&#039;Eclipse IDE for C/C++ Developers&#039;&#039;&#039; downloaden.&lt;br /&gt;
(Es kann Probleme mit der aktuellen Eclipse-Version (Indigo) und WinAVR geben [http://www.mikrocontroller.net/articles/AVR-GCC#Tipps_.26_Tricks Quelle])&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;
==== 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;
Seit openSUSE 11.4 muss man ein neues Repository hinzufügen:&lt;br /&gt;
&lt;br /&gt;
 http://download.opensuse.org/repositories/CrossToolchain:/avr/openSUSE_12.1/&lt;br /&gt;
&lt;br /&gt;
und dann &lt;br /&gt;
&lt;br /&gt;
 zypper install avr-libc cross-avr-gcc&lt;br /&gt;
&lt;br /&gt;
ausführen.&lt;br /&gt;
Benutzt man noch 11.3, muss man avr-libc-1.7.0.5.1 aus den alten Repos installieren, da die neueste Version von cross-avr-gcc dort verbuggt ist (vllt. io.h vergessen?).&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 --ov-output /usr/local/portage&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;
&#039;&#039;&#039;Ubuntu 12.04LTS und 12.10&#039;&#039;&#039;&lt;br /&gt;
Die Default Eclipse Installation mit dem Paket Manager von Ubuntu funktioniert nicht. Das einfachste ist es die aktuelle Developer C/C++ Version von der Eclipse Webseite herunter zu laden. Dann es in deinem Heimatverzeichnis ( z.b: /home/superuser/) auspacken. Gehe in das Verzeichnis ../eclipse und rufe das Programm eclipse auf. Das Programm verlassen und es noch einmal aufrufen.&lt;br /&gt;
Jetzt erst einmal die Update Funktion unter &amp;quot;help&amp;quot; aufrufen und anschliessend dann das AVR Plugin installieren.&lt;br /&gt;
Dazu die Webseite des AVR Plugins aufrufen und der dortigen Beschreibung folgen. Ist das Plugin installiert Eclipse neu starten und anschliessend die Onlinehilfe aufrufen. Hier ist unter dem Punkt AVR sehr gut beschrieben wie Du dann die weitere Konfiguration machen must und wie das Plugin und die Arbeit mit Eclipse funktioniert.&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;
&lt;br /&gt;
=&amp;gt;Ab AVR-Eclipse Plugin V 2.0.1 ist es nicht mehr nötig was mit avr-objsplit zu machen da die flash und EEPROM Dateien direkt erzeugt werden. (laut Thomas Holland, Forum)&lt;br /&gt;
&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;AVRDude&#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;AVRDude&#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;
[http://www.it-gecko.de/avr-eclipse-falsche-autovervollstaendigung-syntaxpruefung-korrigieren.html AVR-Eclipse falsche Autovervollständigung/ Syntaxprüfung korrigieren]&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>0:0:0:FFFF:79:83:80:46</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=69623</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=69623"/>
		<updated>2012-12-06T15:54:49Z</updated>

		<summary type="html">&lt;p&gt;0:0:0:FFFF:79:83:80:46: /* Evaluation Boards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der MSP430F1121 zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 5€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy by Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI ein preisgünstiges Entwicklungssystem mit USB Schnittstelle zur Verfügung ([http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool]).&lt;br /&gt;
&lt;br /&gt;
Günstige Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland bei http://shop.mikrocontroller.net und http://www.elektronikladen.de oder in Japan bei [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Soroban PassWorld].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
Auf jeden Fall eine Überlegung wert wäre auch das neue &#039;&#039;Launchpad&#039;&#039; (Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2]) für pinzahlmäßig kleinere MSP430 im DIL-Gehäuse.&lt;br /&gt;
&lt;br /&gt;
=== Stromversorgung ===&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
&lt;br /&gt;
http://www-user.tu-chemnitz.de/~heha/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg&lt;br /&gt;
&lt;br /&gt;
Dabei meldet sich der Mikrocontroller (genauer: der enthaltene Bootloader) als HID-Gerät. Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL völlig missraten (total stümperhaft), und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. {Da habe ich etwas nachprogrammiert, siehe: http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip }&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-by-Wire-Anschluss&lt;br /&gt;
* Der Bootloader (seriell oder USB)&lt;br /&gt;
&lt;br /&gt;
=== Programmieren ===&lt;br /&gt;
&lt;br /&gt;
==== seriell oder USB ====&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung bereits eine serielle Schnittstelle braucht].&lt;br /&gt;
Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber. (Genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse.)&lt;br /&gt;
&lt;br /&gt;
==== JTAG ====&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss.&lt;br /&gt;
Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände.&lt;br /&gt;
Wer partout kein Parallelport hat (sollte ein Entwicklungsrechner &#039;&#039;immer&#039;&#039; haben) benötigt teure aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
==== Spy-by-Wire ====&lt;br /&gt;
Die TI-Erfindung Spy-by-Wire kommt mit nur 2 Leitungen aus.&lt;br /&gt;
(Nebenbei, die Konkurrenz kommt mit One-Wire mit &#039;&#039;einer&#039;&#039; Leitung aus.)&lt;br /&gt;
Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet.&lt;br /&gt;
Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN:3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [http://www.medit.hia.rwth-aachen.de/aw/cms/medit/Themen/publikationen/buecher/~tic/msp430/?lang=de Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN: 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
===Freie Tools===&lt;br /&gt;
====MSP-CCE430====&lt;br /&gt;
Dies ist die Entwicklungsumgebung von TI. Es gibt eine teure Pro-Version, aber eben auch eine Freeware-Version, die auf 16kB Codegrösse beschränkt ist. &lt;br /&gt;
&lt;br /&gt;
Dieser Entwicklungsumgebung liegt Eclipse zugrunde, wobei der C-Compiler und ein Debugger bereits eingebunden sind. Die Installation ist im Gegensatz zu MSPGCC kein Problem.&lt;br /&gt;
&lt;br /&gt;
* [http://focus.ti.com/docs/toolsw/folders/print/msp-cce430.html Download MSP-CCE430]&lt;br /&gt;
&lt;br /&gt;
====MSPGCC====&lt;br /&gt;
Man kann Programme für den MSP430 komplett mit freien Tools entwickeln. Mit dem C-Compiler [[MSPGCC]], dem Debugging-Programm [[GDB]]/Insight und einem beliebigen [[Texteditor]] kann man C-Programme schreiben, kompilieren, in den Controller programmieren und debuggen. In Kombination mit MSPGCC kann man auch die freie Entwicklungsumgebung Eclipse verwenden.&lt;br /&gt;
&lt;br /&gt;
Direkt mit Eclipse 3.6 Helios compilieren und debuggen&lt;br /&gt;
* [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://inf.ntb.ch/infoportal/help/index.jsp?topic=/ch.ntb.infoportal/embeddedSystems_MSP430.html/ Eclipse + MSPGCC + Installationsanleitung Deutsch] (Windows, Linux) (Link ist Tot! .. hat noch wer eine Version?)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://mspgcc4.sourceforge.net mspgcc4 - GCC 4.x toolchain for Texas Instruments MSP430 MCUs]  (Linux, 2011)  NEU: http://sourceforge.net/projects/mspgcc/&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
Achtung: Es gibt &#039;&#039;&#039;mspgcc&#039;&#039;&#039; und &#039;&#039;&#039;mspgcc4&#039;&#039;&#039;!&lt;br /&gt;
Ersterer unterstützt keine CPUX (moderner MSP430-Prozessorkern mit 20 Bit Adressierungs- und Verarbeitungsbreite, für 1 MByte Adressraum), so ist man praktisch auf 47 KByte Code beschränkt, und ohne selbstgemachte Linker-Skripte kann man zurzeit keine MSP430F55xx programmieren.&lt;br /&gt;
Letzterer basiert häufig auf cygwin und ist deshalb nicht so leicht in Gang zu setzen, die Dokumentation noch spärlicher und ausschließlich auf &#039;&#039;&#039;man&#039;&#039;&#039; basierend.&lt;br /&gt;
&lt;br /&gt;
Update(09/2011): Das Projekt mspgcc4 wurde in das Projekt mspgcc übernommen und beinhaltet viele Verbesserungen und die Unterstützung für CPUX. Für Windows gibt es eine mingw32 Toolchain.&lt;br /&gt;
&lt;br /&gt;
====MSPDebug====&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.17) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
&lt;br /&gt;
====MSP430 Instruction Set Simulator====&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|left|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
* Screenshot:&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
** Handbuch (verfügbar in ca. 2 Wochen)&lt;br /&gt;
&lt;br /&gt;
====MSP430 Forth====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad abläuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
=== Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430]&lt;br /&gt;
*: 45-Tage Demo wird nach Ablauf auf 4 kByte Codegröße beschränkt&lt;br /&gt;
* [http://www.htsoft.com/products/msp430ccompiler.php HI-TECH MSP430 C]&lt;br /&gt;
*: 28-Tage Demo wird nach Ablauf unbrauchbar.&lt;br /&gt;
*: &#039;&#039;Die verlinkte Seite listet nur Compiler für PIC auf. Produkt eingestellt?&#039;&#039;&lt;br /&gt;
*: &#039;&#039;They are part of microchip now: [http://www.htsoft.com/HI-TECH%20Customer%20Letter_Final.pdf]&#039;&#039;&lt;br /&gt;
* [http://www.ide430.com/ IDE430]&lt;br /&gt;
*: &#039;&#039;Dieser Link ist tot. Gibt es das Produkt noch?&#039;&#039;&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430]&lt;br /&gt;
*: 30-Tage-Testversion nach Registrierung&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://focus.ti.com/docs/toolsw/folders/print/msp-cce430.html?DCMP=MSP430_ccessentials&amp;amp;HQS=Other+PR+ccessentials CCEssentials (Eclipse)]&lt;br /&gt;
*: Mittlerweile: [http://processors.wiki.ti.com/index.php/CCSv4 Code Composer Studio 4]&amp;quot;, Microcontroller/&amp;quot;Core Edition&amp;quot; für MSP430 ist kostenlos. Download erfordert Registrierung und Exporterfassung. Dateiname &amp;quot;setup_CCS_MC_Core.zip&amp;quot;, ca. 360 MB.&lt;br /&gt;
*: Frei und auf 8 kByte Codegröße beschränkt, seit V3 bis 16kByte Code frei&lt;br /&gt;
* [http://www.iar.se/website1/1.0.1.0/675/1/index.php IAR Embedded Workbench for MSP430] &lt;br /&gt;
*: 30-Tage-Testversion&lt;br /&gt;
*: Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition.&lt;br /&gt;
*: Kompatibel mit Windows7 7000 x64 (Stand: Februar 2009, Version 4.20.1)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
===Mathar.Com===&lt;br /&gt;
Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
&lt;br /&gt;
===Examples Ordner der freien Toolchain MSPGCC===&lt;br /&gt;
Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
&lt;br /&gt;
===Codebeispiele auf Mikrokontroller.net===&lt;br /&gt;
Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
&lt;br /&gt;
===uIP Port auf Mikrokontroller.net===&lt;br /&gt;
Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD===&lt;br /&gt;
C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://msp430.info MSP430.info] - Portalseite für MSP430; Info, Projekte, Paper, Entwicklungstools...&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu] - Beispielvideo by JL (God of Mathfire)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.reichelt.de/Programmer-Entwicklungstools/2/index.html?;ACTION=2;LA=2;GROUPID=5514; reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430]]&lt;/div&gt;</summary>
		<author><name>0:0:0:FFFF:79:83:80:46</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=69622</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=69622"/>
		<updated>2012-12-06T15:54:14Z</updated>

		<summary type="html">&lt;p&gt;0:0:0:FFFF:79:83:80:46: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der MSP430F1121 zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 5€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy by Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI ein preisgünstiges Entwicklungssystem mit USB Schnittstelle zur Verfügung ([http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool]).&lt;br /&gt;
&lt;br /&gt;
Günstige Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland bei http://shop.mikrocontroller.net und http://www.elektronikladen.de oder in Japan bei [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Soroban PassWorld].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
Auf jeden Fall eine Überlegung wert wäre auch das neue &#039;&#039;Launchpad&#039;&#039; (Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2]) für pinzahlmäßig kleinere MSP430 im DIL-Gehäuse.&lt;br /&gt;
&lt;br /&gt;
=== Stromversorgung ===&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
&lt;br /&gt;
http://www-user.tu-chemnitz.de/~heha/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg&lt;br /&gt;
&lt;br /&gt;
Dabei meldet sich der Mikrocontroller (genauer: der enthaltene Bootloader) als HID-Gerät. Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL völlig missraten (total stümperhaft), und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. {Da habe ich etwas nachprogrammiert, siehe: http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip }&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-by-Wire-Anschluss&lt;br /&gt;
* Der Bootloader (seriell oder USB)&lt;br /&gt;
&lt;br /&gt;
=== Programmieren ===&lt;br /&gt;
&lt;br /&gt;
==== seriell oder USB ====&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung bereits eine serielle Schnittstelle braucht].&lt;br /&gt;
Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber. (Genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse.)&lt;br /&gt;
&lt;br /&gt;
==== JTAG ====&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss.&lt;br /&gt;
Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände.&lt;br /&gt;
Wer partout kein Parallelport hat (sollte ein Entwicklungsrechner &#039;&#039;immer&#039;&#039; haben) benötigt teure aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
==== Spy-by-Wire ====&lt;br /&gt;
Die TI-Erfindung Spy-by-Wire kommt mit nur 2 Leitungen aus.&lt;br /&gt;
(Nebenbei, die Konkurrenz kommt mit One-Wire mit &#039;&#039;einer&#039;&#039; Leitung aus.)&lt;br /&gt;
Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet.&lt;br /&gt;
Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN:3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [http://www.medit.hia.rwth-aachen.de/aw/cms/medit/Themen/publikationen/buecher/~tic/msp430/?lang=de Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN: 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
===Freie Tools===&lt;br /&gt;
====MSP-CCE430====&lt;br /&gt;
Dies ist die Entwicklungsumgebung von TI. Es gibt eine teure Pro-Version, aber eben auch eine Freeware-Version, die auf 16kB Codegrösse beschränkt ist. &lt;br /&gt;
&lt;br /&gt;
Dieser Entwicklungsumgebung liegt Eclipse zugrunde, wobei der C-Compiler und ein Debugger bereits eingebunden sind. Die Installation ist im Gegensatz zu MSPGCC kein Problem.&lt;br /&gt;
&lt;br /&gt;
* [http://focus.ti.com/docs/toolsw/folders/print/msp-cce430.html Download MSP-CCE430]&lt;br /&gt;
&lt;br /&gt;
====MSPGCC====&lt;br /&gt;
Man kann Programme für den MSP430 komplett mit freien Tools entwickeln. Mit dem C-Compiler [[MSPGCC]], dem Debugging-Programm [[GDB]]/Insight und einem beliebigen [[Texteditor]] kann man C-Programme schreiben, kompilieren, in den Controller programmieren und debuggen. In Kombination mit MSPGCC kann man auch die freie Entwicklungsumgebung Eclipse verwenden.&lt;br /&gt;
&lt;br /&gt;
Direkt mit Eclipse 3.6 Helios compilieren und debuggen&lt;br /&gt;
* [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://inf.ntb.ch/infoportal/help/index.jsp?topic=/ch.ntb.infoportal/embeddedSystems_MSP430.html/ Eclipse + MSPGCC + Installationsanleitung Deutsch] (Windows, Linux) (Link ist Tot! .. hat noch wer eine Version?)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://mspgcc4.sourceforge.net mspgcc4 - GCC 4.x toolchain for Texas Instruments MSP430 MCUs]  (Linux, 2011)  NEU: http://sourceforge.net/projects/mspgcc/&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
Achtung: Es gibt &#039;&#039;&#039;mspgcc&#039;&#039;&#039; und &#039;&#039;&#039;mspgcc4&#039;&#039;&#039;!&lt;br /&gt;
Ersterer unterstützt keine CPUX (moderner MSP430-Prozessorkern mit 20 Bit Adressierungs- und Verarbeitungsbreite, für 1 MByte Adressraum), so ist man praktisch auf 47 KByte Code beschränkt, und ohne selbstgemachte Linker-Skripte kann man zurzeit keine MSP430F55xx programmieren.&lt;br /&gt;
Letzterer basiert häufig auf cygwin und ist deshalb nicht so leicht in Gang zu setzen, die Dokumentation noch spärlicher und ausschließlich auf &#039;&#039;&#039;man&#039;&#039;&#039; basierend.&lt;br /&gt;
&lt;br /&gt;
Update(09/2011): Das Projekt mspgcc4 wurde in das Projekt mspgcc übernommen und beinhaltet viele Verbesserungen und die Unterstützung für CPUX. Für Windows gibt es eine mingw32 Toolchain.&lt;br /&gt;
&lt;br /&gt;
====MSPDebug====&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.17) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
&lt;br /&gt;
====MSP430 Instruction Set Simulator====&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|left|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
* Screenshot:&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
** Handbuch (verfügbar in ca. 2 Wochen)&lt;br /&gt;
&lt;br /&gt;
====MSP430 Forth====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad abläuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
=== Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430]&lt;br /&gt;
*: 45-Tage Demo wird nach Ablauf auf 4 kByte Codegröße beschränkt&lt;br /&gt;
* [http://www.htsoft.com/products/msp430ccompiler.php HI-TECH MSP430 C]&lt;br /&gt;
*: 28-Tage Demo wird nach Ablauf unbrauchbar.&lt;br /&gt;
*: &#039;&#039;Die verlinkte Seite listet nur Compiler für PIC auf. Produkt eingestellt?&#039;&#039;&lt;br /&gt;
*: &#039;&#039;They are part of microchip now: [http://www.htsoft.com/HI-TECH%20Customer%20Letter_Final.pdf]&#039;&#039;&lt;br /&gt;
* [http://www.ide430.com/ IDE430]&lt;br /&gt;
*: &#039;&#039;Dieser Link ist tot. Gibt es das Produkt noch?&#039;&#039;&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430]&lt;br /&gt;
*: 30-Tage-Testversion nach Registrierung&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://focus.ti.com/docs/toolsw/folders/print/msp-cce430.html?DCMP=MSP430_ccessentials&amp;amp;HQS=Other+PR+ccessentials CCEssentials (Eclipse)]&lt;br /&gt;
*: Mittlerweile: [http://processors.wiki.ti.com/index.php/CCSv4 Code Composer Studio 4]&amp;quot;, Microcontroller/&amp;quot;Core Edition&amp;quot; für MSP430 ist kostenlos. Download erfordert Registrierung und Exporterfassung. Dateiname &amp;quot;setup_CCS_MC_Core.zip&amp;quot;, ca. 360 MB.&lt;br /&gt;
*: Frei und auf 8 kByte Codegröße beschränkt, seit V3 bis 16kByte Code frei&lt;br /&gt;
* [http://www.iar.se/website1/1.0.1.0/675/1/index.php IAR Embedded Workbench for MSP430] &lt;br /&gt;
*: 30-Tage-Testversion&lt;br /&gt;
*: Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition.&lt;br /&gt;
*: Kompatibel mit Windows7 7000 x64 (Stand: Februar 2009, Version 4.20.1)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
===Mathar.Com===&lt;br /&gt;
Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
&lt;br /&gt;
===Examples Ordner der freien Toolchain MSPGCC===&lt;br /&gt;
Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
&lt;br /&gt;
===Codebeispiele auf Mikrokontroller.net===&lt;br /&gt;
Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
&lt;br /&gt;
===uIP Port auf Mikrokontroller.net===&lt;br /&gt;
Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD===&lt;br /&gt;
C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://msp430.info MSP430.info] - Portalseite für MSP430; Info, Projekte, Paper, Entwicklungstools...&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu] - Beispielvideo by JL (God of Mathfire)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.reichelt.de/Programmer-Entwicklungstools/2/index.html?;ACTION=2;LA=2;GROUPID=5514;]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430]]&lt;/div&gt;</summary>
		<author><name>0:0:0:FFFF:79:83:80:46</name></author>
	</entry>
</feed>