MSP430

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

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 >100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx -N). Der MSP430F1121 zum Beispiel hat 4kB Flash-ROM, 256B RAM, 2 Timer und steckt in einem SO-20 Gehäuse.

Entwicklungshardware

Das Launchpad (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das "Spy bi Wire" Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).

Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das MSP430 Launchpad. Es gibt jedoch noch andere wie z.B. das MSP430 USB Stick Development Tool.

Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.

Weitere Adapterplatinen und JTAG-Programmer für MSP430-Controller bekommt man bei Olimex (Bulgarien), in Deutschland bei Elektronikladen oder Watterott.

Einen einfachen Schaltplan für den JTAG-Programmer von TI bzw. Olimex gibt es hier. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.

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 SLAA096d von Texas Instruments beschrieben.

Launchpad Bezugsquellen: [1] [2] [3] [4] [5]

FRAM Serie MSP430FR

Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.

FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.

Dies bringt entschiedene Vorteile:

  1. ) FRAM braucht weniger Strom als FLASH
  2. ) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x1015 und mehr werden da vom Hersteller garantiert
  3. ) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.
  4. ) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.
  5. ) FRAM kann wie ein normales RAM Beschrieben und gelesen werden

Das sind mal die Haupt Eckpunkte der neuen "FR" Typen. Ein FRAM kann mann ganz grob, mit einem Kernspeicher vergleichen. Sein Verhalten ist in vielen Punkten sehr ähnlich. So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden. Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig. Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.

Peripherie

Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie. da gibt es Digitale Peripherie, wie CRC16,RTC,AES, MPY32, TIMER, eUCSI usw. vieles was man in anderen MCU's, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie. Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben. So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*. Diese OnChip OpAmps reichen für Sensoren, Audio, oder sonstige Schaltungen, sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus. Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können. Die eComp können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.

Digitale Peripherie

  • 16-bit RISC architecture bis zu 24 MHz
  • Erweiterter Temperaturbereich : –40°C to 105°C
  • Großer Betriebsspannungsbereich von 1.8V bis 3.6 V
  • Optimierter niederleistungs Mode (bei 3 V)
  • Active mode: 142 µA/MHz
  • Standby:
  • LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)
  • LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)
  • LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)

MFM'-fähige UART

Die MFM oder auch Manchester-Code Unit Dieses Features ist daher interessant zu erwähnen, da mit dieser auch Netzwerkprotokolle generiert und eingelesen werden können. Selbst ein Disk Controller währe damit machbar, und mit den Internen OpAmps, ist auch ein Floppy Controller für Alte 8/16 Bit Computer noch machbar. Auch interessant als beispiel eine Funk RTTY kann man so noch realisieren. Der Timer2_B3 CCR0 ist mit dem Manchester function module (MFM) verknüpft.

MFM dazu ein Beitrag im MFM Beschreibung im Wikipedia

Analog Peripherie

Die integrierten OpAmp(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen "0" Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail). Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden (siehe PGA Mode).

  • High-performance analog Combo
  • Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)
    • Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)
    • Sample-and-hold
    • 200 ksps
  • 2 erweiterte Komparatoren (eCOMP)
  • Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung
  • 4 Analoge Blöcke (smart analog combo [SAC-L3])
  • Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])
  • Rail-to-rail Ein- und Aus-gänge
  • Mehrfache eingänge schaltbar
  • high-power and low-power modes
  • Konfigurierbare PGA MODE
    1. Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33
    2. Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32
  • Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz

Es sind noch sehr viele weitere Peripherien verfügbar, Siehe auch dazu das Datenblatt

Analog Block.jpg
SAC eCOMP.jpg

neue XCPU

die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz so wie ein erweiterter Adressbereich. Die erweiterten XCPU Befehle bringen vor allem mit dem Compare befehl, bei Vorzeichenlosen 16Bit Daten erheblich Vorteile. So ist dann bei bedingten Sprüngen, beispielsweise bei Zählerabfrage, kein vorheriges Prüfen ob Positiv- oder Negativ-Wert besteht, mehr nötig. und die JN oder JGE Befehle bringen dann auch immer eine korrekte 16BIT Funktion, da das Negativ Bit, nun nicht mehr Bit 15 sondern auf Bit 19 liegt. Leider unterstützen die meisten C Versionen diese Eigenschaften der XCPU noch nicht richtig, oder gar nicht, so das da eine Assemblerprogramierung erhebliche Vorteile bringt.

Als Beispiel hier ein sehr wirkungsvoller Befehl, der sehr gut für Divisionen benutzt werden kann.

           RPT     #8       ; Setzt das (teilweise undokumentierte Repeadregister)  
           RRUX.A  R6       ; R6 = R6 » 8.R6.                          
           ;$1907 $1046     Wird zu diesem Mashinencode assembliert und in nur 2 Cyclen ausgeführt!

Dieses Beispiel schiebt das 20BIT Register R6 um 8 stellen nach rechts und füllt die linken Bit mit "0" auf

Es sind viele neue befehle in der MSP(XV2)430 CPU enthalten die eine solche repead Funktion unterstützen. eigentlich fast jeder nnnX oder nnnM befehl (nnn steht für den Mnemonic), sofern beide Source und Destination auf Register bezogen sind. (Liste Folgt) Diese sind teilweise, nur schlecht bis gar nicht, in den Original TI Dokumentationen zu finden bzw. teilweise sind einige Befehle garnicht dokumentiert funktionieren aber auf über 30 verschiedenen getesteten Typen die diese XV2 CPU enthalten.

MPY32

die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.

  • Vorzeichenlose Multiplikation
  • Multiplikation mit Vorzeichen
  • Vorzeichenlose Multiplikation und automatisches zusammenzählen
  • Multiplikation mit Vorzeichen und automatisches zusammenzählen
  • 8-bit, 16-bit, 24-bit, und 32-bit Operationen
  • Saturation²
  • Fractional numbers³
  • 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation
  • 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht "sign extend"

² Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.

³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1

Stromversorgung

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. B. mit der folgenden Schaltung:

lm317.png

An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen. 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.

Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: TPS61221

Schaltung für 3,3V Versorgung: [6]

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. Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.

Aus Webarchive wiederhergestelltes Bild
MSP430V1.jpg

Programmieren und Debuggen

Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:

  • Der Bootloader (seriell,USB,SPI oder I²C)
  • Das JTAG-Interface
  • Der Spy-bi-Wire-Anschluss

Bootloader (Seriell oder USB)

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.

Zur Nutzung des seriellen Bootloaders ist es am günstigsten, wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht. 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. Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET, von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.

Richtig debuggen kann man mit der seriellen Schnittstelle nicht.

MSP430 mit USB-Schnittstelle haben keinen 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). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es von Henrik Haftmann. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden (SLAU654).

JTAG

Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. 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. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.

Spy-Bi-Wire

Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. 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. Eine Liste möglicher Adapter ist z.B. [hier] einsehbar. Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.

Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST & TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe Launchpad Userguide/SLAU318

Eine großen Vorteil bietet Spy-Bi-Wire mit der Relativ einfachen und kostengünstigen galvanischen Trennung. Hier bietet TI sogar ein fertiges Modul für die Launchpad MSP-ISO [7] an.
Mit diesem Isolationsadabter lässt sich sowohl das Spy-Bi-Wire Interface, so wie auch die Serialschnittstelle des Launchpad trennen. So lässt sich extern aufgebaut auch eine Trennung realisieren, die direkt mit Netzspannung betriebene Applikationen, Programmieren und Debuggen zulässt.

es gibt zwar auch 2nd Source Adapter von Elpotronic und Olimex, die eine Trennung bei JTAG ermöglichen, sind aber vom Aufbau her auch ungleich teurer und Komplexer

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.

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.

Dokumentation

  • TI's Website: http://www.msp430.com
    Für jede MSP430 Familie (z. B. MSP430F1xxx) gibt es ein generelles "datasheet" und einen detailierten "user guide". Die im user guide verwendeten Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten Compilern wieder.
  • Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie
    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
  • Buch: Das MSP430 Mikrocontroller Buch
    ... sagt u.a.: "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."
    Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.
    Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag
  • Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html
    This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.

Software

TI Code Composer Studio

Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.

MSPGCC

Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [9], und in das Code Composer Studio seit Version 6 integriert ist.

Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:

Energia

Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.

MSPDebug

MSPDebug ist ein Programmier/- Debugwerkzeug für den MSP430, ähnlich wie avrdude für die AVRs. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.

Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):

  • ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos
  • Olimex MSP-JTAG-TINY / ISO
  • Launchpad
  • GoodFET
  • TI FET430UIF und Kompatible (z.B. eZ430)
  • TI FET430UIF bootloader
  • Flash Bootloader

Er läuft unter Linux, *BSD, OS/X und Windows.

Weblinks:

MSP430 Instruction Set Simulator

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. Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs). Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.

Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.

MSP430 Simulator

Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.

MSP430 Forth

Mecrisp 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.

Weblinks:


CamelForth/430 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.

Weblinks:


4E4th ist kleines Forth das auf dem Texas Instruments LaunchPad lä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).

Weblinks:


Noforth.jpg

noForth Is an interactive 16-bit stand-alone forth for MSP430. Authors: Albert Nijhof & Willem Ouwerkerk.

Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.

noForth C,V comes in two basic variants:

  • noForth C, Compact, for the smaller 16kB flash processors.
  • noForth V, with Vocabularies, for larger flash memories.

New:

  • Low Power noForth for MSP430G2553 boards. In Low Power noForth all 'wait-loops' are replaced with 'sleep-until-interrupted' which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.
  • noForth for msp-exp430fr5969 experimenter board
  • noForth for MSP430G2553 egel kit
  • noForth for MSP430FR5994 with 256 kByte FRAM!
Egel

Weblinks:

Weitere Kommerzielle Compiler für MSP430

Beispielanwendungen

  • Mathar.Com: 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.
  • Examples Ordner der freien Toolchain MSPGCC: Der "examples"-Ordner bzw. "checkout" aus dem CVS vom MSPGCC ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/
  • Codebeispiele auf Mikrokontroller.net: Einige MSP430 Codebeispiele finden sich auch hier in der Artikelsammlung.
  • uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels uIP 1.0 für den MSP430 findet sich hier.
  • Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [10]

Links

Bezugsquellen

Evaluation Boards