4E4th 4E4th ist kleines Forth das auf dem Texas Instruments LaunchPad ablŠuft. Es ist ein ANS Forth subset, und belegt 6K im FLASH der MSP430G2553 MCU ($E000-$FFFF). Weitere 8K ($C000-$DFFF) sind frei fŸr eigene Experimente. 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. http://www.camelforth.com/ 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). Das LaunchPad richtig einstellen! Ab Rev1.5 verfŸgt das LaunchPad Ÿber TX und RX BrŸcken die 90¡ gedreht werden kšnnen. Ausgeliefert wird in der SW UART Stellung. Stelle um auf die HW UART Position (quer), weil 4E4th den Hardware UART benutzt. (Im MSP430G2553 sind die TX und RX Pins des HW UART von TI aus internen GrŸnden vertauscht worden; mit Rev1.5 hat TI Abhilfe geschaffen). Welches Terminal nehmen? Windows XP LaunchPad Windows USB Treiber installieren. Mit dem Hardware Wizard oder dem GerŠte-Manager die Datei: WinDriver_for_TI-LaunchPad_USB_serial.inf ausfŸhren lassen, damit ein USB-serieller COM Port fŸr das Launchpad bereit gestellt wird. Diese inf Datei liegt unter: http://www.forth-ev.de/repos/CF430G2553/ Siehe auch Dokument slau278h.pdf bei TI.COM, S.139, Hardware Installation Guide. - TeraTerm leistete gute Dienste. http://www.heise.de/download/teraterm-pro.html - HyperTerminal leistete ebenfalls gute Dienste. (Einstellungen beachten: Kein extra LF am Zeilenende einfŸgen lassen!) - vFterminal ist eine Terminal Emulation spezielle fŸr Forth Anwendungen. (noch im Versuchsstadium: Link folgt) macOSX LaunchPad OSX USB Treiber (CDC /VCP) installieren MSP430LPCDC 1.0.3b.pkg - ab Mac OSX Version 1.5 siehe http://code.google.com/p/msp430lpcdc/downloads/detail?name=MSP430LPCDC%201.0.3b.pkg&can=2&q= Weitere Infos unter http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_Mac_OS_X - ZTerm Seetings>Modem Preferences... Serial Port (uart-40FF42C59D89223A oder Šhnlich auswŠhlen) Settings>Connection... Data Rate 9600 - Kermit % kermit kermit> set line /dev/tty.uart-40FF42C59D89223A oder Šhnlich kermit> set speed 9600 kermit> connect Linux Scheint ohne spezielle Treiber auf Debian squeeze auf i386 und auf PPC zu gehen (Gerald). 4E4th starten (booten oder rebooten) Schlie§ das Launchpad mit dem USB Kable an den Rechner an. Die USB Verbindung versorgt das LaunchPad mit Strom und ist gleichzeitig die serielle Schnittstelle zu deinem Terminal. Dein Forth im LaunchPad startet von selbst sobald der Strom eingeschaltet wird (beide LEDs gehen an). Du kannst Forth erneut starten durch drŸcken des Reset Tasters. Forth startet automatisch im zuletzt gesicherten Zustand. Um den Lieferzustand zu erzwingen halte Taster S2 gedrŸckt und drŸcke dann Reset. Die USB-Verbindung dient auch dazu den Prozessor neu zu FLASHen. (Achtung: USB kann manchmal trickreich sein. Es ist wichtig, dass die USB-Verbindung vom Rechner erkannt wird. Bei Windows XP ist es so, dass es eine Klangfolge gibt, wenn eine neue Verbindung erkannt wird, und eine Klangfolge, wenn der USB-Stecker abgezogen wird. Wenn darauf nicht geachtet wird, klappt die Verbingung nicht, weil das Terminalprogramm die USB-Schnittstelle dann nicht erkennt. Das gilt auch fuer den USB Treiber von Texas Instruments MSP-FET430UIF. Also: Lautsprecher einschalten und auf die Klangfolge achten, und danach erst Terminal starten! Zudem immer erst das USB-Kabel an der Platinenseite anstoepseln, danach an der Rechnerseite.) Mit dem 4E4th kommunizieren Stelle dein Terminal auf 9600Baud 8N1 ein. DrŸcke einige male die Eingabe Taste . 4E4th antwortet mit ok. (Jede Eingabe muss immer mit drŸcken der Eingabetaste beendet werden.) Gebe die Worte red p1set oder green p1set ein. Gebe 11 22 33 ein. ok zeigt das die Eingabe auf den Datenstack erfolgt ist. Gebe den Forthbefehl .S ein (ein Punkt und ein gro§es "S"). Du siehst nun was auf dem Stack liegt. Es ist wichtig, in 4E4th die Worte in der gleichen Schreibweise einzugeben, wie sie definiert sind, denn 4E4th unterscheidet zwischen Gross- und Kleinschreibung. Die Systemworte sind in der Regel in Grossbuchstaben, also muessen sie auch in Grossbuchstaben eingegeben werden. Einige spezielle Worte sind allerdings in Kleinschrift, wie bei red! oder green! zu sehen war. 4E4th startet in DECIMAL, d.h. alle Zahleneingaben werden dezimal interpretiert. Willst du Zahlen im Hexalsystem haben, kannst mit HEX darauf umschalten. DECIMAL schaltet zurŸck. Gib folgenden Text in die Eingabezeile ein: : TEST ." bin da " ; ok zeigt nun an das der neue Befehl TEST dem Forthsystem hinzugefŸgt worden ist. Tippe TEST um zu ŸberprŸfen was der Befehl macht. (Ein neuer Befehl beginnt mit : und wird mit ; beendet.) Weitere Beispiele sind im Forth Tutorial "Starting Forth online edition" gegeben. http://www.forth.com/starting-forth/ Dein Programm sichern Tippe einfach SAVE um dein Programm zu sichern. Tippe WIPE um es zu entfernen. Es kann auch entfernt werden indem man die Taste S2 gedrŸckt hŠlt und dann die Reset-Taste drŸckt, dabei werden alle neuen Definitionen, also die eigenen Programme, gelšscht. (Es gibt eine Besonderheit im Umgang mit dem FLASH in MSP430 MCUs: Das FLASH kann immer nur 1x beschrieben werden! Ist also nicht so komfortabel wie RAM oder FRAM. Praktisch gesehen bedeutet das ProgrammabstŸrze, wenn man es Ÿbersieht das FLASH sauber zu lšschen bevor man dort erneut speichert (compiliert). Oder anders ausgedrŸckt: Wenn ab IHERE kein $FF steht, kann man nichts dorthin speichern. Benutze NEW um in frisches FLASH compiliern zu kšnnen.) 4E4th neu flashen Ein binŠres Image deines Forth findest du unter http://www.4e4th.eu/ Es ist eine Datei im intel hex Format, die mit einem geeigneten Programmer in die MCU geladen werden muss. Windows XP zB: FET-Pro430 Lite version FREE. http://www.elprotronic.com/fetpro430.html macOSX (intel) toolchain: http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_Mac_OS_X http://www.4e4th.eu/ leitet zur Fort Gesellschaft weiter. Dort im Repository liegt auch das aktuelle CF430G2553 Projekt, welches die Grundlage des 4E4th ist. Die Beschreibungen (readme) wie man das Forth selbst herstellen kann, und der dazu gehšrende gesammte Quellcode (*.s43) um das Projekt im IAR "kickstart" anzulegen sind dabei. Das derzeitige binŠre Image hei§t CF430G2553.a43 und kann direkt mit dem Programmer in die MCU geladen werden. Glossary der LaunchPad bezogenen Worte und des 4e4th. Speicher SAVE ( -- ) Sichert den hinzugetippten Stand. Stacks unverŠndert. Aktuelle uarea gesichert. WIPE ( -- ) ZurŸck auf den Lieferzustand. Stacks unverŠndert. uarea im Lieferzustand. P1 -- adr port1 output address p1set m -- set port pins with mask p1clr m -- clear port pins with mask red -- m red LED mask green -- m green LED mask S? -- f test button S2, true is pressed P2 -- adr port1 output address p2set m -- set port pins with mask p2clr m -- clear port pins with mask Das vollstŠndige Wšrterbuch deines Forth findest du im: http://www.forth-ev.de/repos/CF430G2553/Glossary.txt.pdf --- Danksagung (acknowledgement) Ich danke Brad Rodriguez fŸr seine grundlegende Arbeit des CamelForth. Und Dirk BrŸhl fŸr seine unermŸdliche und selbstlose Fšrderung des 4E4th Projektes, indem er die Hardware beschaffte und mit vielen Ideen und Tips ermutigte weiter zu machen bis das CamelForth auf dem LaunchPad lief. mk 14.03.2012