!!! Achtung: Steck die beiden Jumper für den UART richtig herum !!! Anleitung
4E4th 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.
4E4th1) basiert auf der MSP430 CamelForth version 0.5a von B. J. Rodriguez, welches er für das TI MSP430-Launchpad geschrieben hatte. http://www.camelforth.com/
Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU. Weitere 8K sind frei für eigene Experimente.
4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License).
Im folgenden Text beziehen sich alle Angaben zur Hardware auf das TI LaunchPad MSP-EXP430G2 Rev.1.5
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 des MSP430G2553 benutzt.
Die älteren Versionen Rev1.3 und Rev1.4 benötigen ein kurzes gekreutztes Kabel an Stelle der beiden Jumper.
Stelle dein Terminal auf 9600 8N1 ein.
9600 baud 8N1: 8 Datenbits, kein parity bit, 1 Stoppbit hardware flow control: OFF
LaunchPad Windows USB Treiber müssen installiert sein! Ab Win7 sollte das kein Problem mehr sein.
Siehe Abschnitt Voraussetzungen. Vergleiche Dokument slau278h.pdf bei TI.COM, S.139, Hardware Installation Guide.
LaunchPad Mac OS X USB Treiber (CDC /VCP) müssen installiert sein!
MSP430LPCDC 1.0.3b.pkg - ab Mac OS X Version 1.5 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
Seetings>Modem Preferences... Serial Port (uart-40FF42C59D89223A oder ähnlich auswählen) Settings>Connection... Data Rate 9600
% kermit kermit> set line /dev/tty.uart-40FF42C59D89223A oder ähnlich kermit> set speed 9600 kermit> connect
% screen /dev/tty.uart-40FF42C59D89223A 9600
o.ä. Beenden via Ctrl+<a> , <k>
Scheint ohne spezielle Treiber zu gehen auf:
Debian squeeze, auf i386 und auf PPC (Gerald). Ubuntu 10.04 LTS - Lucid Lynx i686 Desktop PC (Martin) Ubuntu 11.04 - Natty Narwhal i386 Laptop HP Compaq 615 (Martin)
Je nach Terminalprogramm:
% gtkterm -p /dev/ttyACM0
% screen /dev/ttyACM0 9600
% minicom -D /dev/ttyACM0 -b 9600 -o -w
(evtl. flow control noch per Menü deaktivieren)
Oder gleich e4thcom nehmen. Bedienung und Eigenschaften des e4thcom-Terminals wurden neulich im Forth Magazin „Vierte Dimansion“, Heft 4/2013, besprochen - VD 2013-04
Schließ das Launchpad mit dem USB Kabel an den Rechner an. Die USB Verbindung versorgt das LaunchPad mit Strom und ist gleichzeitig die serielle Schnittstelle zu deinem Terminal.
[Das es auch wireless, also drahtlos, geht zeigte Vitaly neulich (30.03.2016)]
Dein 4e4th im LaunchPad startet von selbst, sobald der Strom eingeschaltet wird (beide LEDs gehen an). Du kannst 4e4th erneut starten durch drücken des Reset Tasters.
4e4th 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 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!
Stelle dein Terminal auf 9600Baud 8N1 ein. Drücke einige male die Eingabe Taste <ret>. 4E4th antwortet mit ok
2) (Jede Eingabe muss immer mit drücken der Eingabetaste beendet werden).
Um mit dem 4e4th vertraut zu werden tippe mal ein:
red cclrb red csetb
oder
green cclrb green csetb
und natürlich <Enter> auch. Die rote oder grüne LED wird leuchten, je nach dem.
Gebe ein
11 22 33
Die Antwort ok
zeigt, dass die Eingabe auf den Datenstack erfolgt ist - sobald du <Enter> gedrückt hast.
Gebe .s
ein (ein Punkt und ein „s“). 4e4th zeigt was nun auf dem Stack liegt.
4E4th beherrscht verschiedene Zahlenbasen. Es startet in DECIMAL
, d.h. alle Zahleneingaben werden dezimal interpretiert. Willst du Zahlen im Hexalsystem haben, kannst du mit HEX
darauf umschalten. DECIMAL
schaltet zurück. Man kann die Eingaben in Grossbuchstaben oder klein geschreiben machen.
Hier ein weiterer Test:
: TEST ." Ich bin da " ;
ok
zeigt wie mmer an, das deine Eingabe angenommen wurde. Du hast soeben einen neuen Befahl erzeugt. Und dieser wurde dem Forthsystem hinzugefügt.
Nun tippe
TEST <enter>
und schau was dieser Befehl macht. Du hast gerade gelernt, dass ein neuer Befehl mit :
beginnt und mit ;
beendet wird.
Weitere Beispiele sind im Forth Tutorial „Starting Forth online edition“ gegeben. http://www.forth.com/starting-forth/
Alle Forthworte dort in den Beispielen sind GROSS geschrieben. Dem 4e4th ist egal ob du GROSSE oder kleine Buchstaben verwendest. Dieses Verhalten wird case insensitiv genannt.
Speicher
SAVE ( -- ) Sichert den hinzugetippten Stand. Stacks unverändert. Aktuelle uarea gesichert. Das zuletzt definierte Wort startet nach SAVE automatisch, ist die APP sozusagen. WIPE ( -- ) Zurück auf den Lieferzustand. Stacks unverändert. uarea im Lieferzustand.
Peripherie - Port1
CSETB ( m adr -- ) set bits im byte an der Adresse mittels Bit-Maske CCLRB ( m adr -- ) clear bits im byte an der Adresse mittels Bit-Maske RED ( -- m adr ) red LED Bit-Maske und Port1 Adresse GREEN ( -- m adr ) green LED Bit-Maske und Port1 Adresse S2? ( -- f ) test Schalter S2, true ist Schalter gedrückt
Das vollständige Wörterbuch deines Forth findest du im Glossary.pdf
Ein gute Quelle um mit den bits vertraut zu werden ist: http://www.forth.org/svfig/Len/bits.htm
Beide LEDs sind am Port1 der MCU angeschlossen.
P1.0 = LED1 = rot P1.6 = LED2 = grün
Mit den Forth Worten csetb
und cclrb
kann der Port1 bit-weise bedient werden. csetb
erwartet eine Bit-Maske auf dem Stack. cclrb
ebenso. So eine Maske ist ein Byte in dem die Bits gesetzt sind. Die Forth Worte red
und green
legen die passende Maske und die richtige Adresse auf den Daten-Stapel, den stack.
red mask = 0x01 = 00000001 green mask = 0x40 = 01000000
Hier einige Beispiele wie die LEDs damit ein und ausgeschaltet werden können. (Den Umgang mit Forth auf der Kommandozeile kennst du schon? Sonst mach erst einige grundlegende Übungen. http://www.forth.com/starting-forth/ online edition)
RED CCLRB --> rote LED geht aus. GREEN CCLRB --> grüne LED geht aus. RED CSETB --> rote LED geht an. GREEN CSETB --> grüne LED geht an.
Um die LEDs blinken zu lassen kannst du so etwas machen:
DECIMAL \ Application example. : BLINK ( -- ) BEGIN RED CSETB GREEN CCLRB 100 MS RED CCLRB GREEN CSETB 100 MS KEY? UNTIL KEY DROP ; \ Consume last key to avoid terminal echo.
Um so ein Applikation nach einem Reset des LaunchPad automatisch zu starten genügt es SAVE auszuführen. Es startet immer das letzte Wort. Also MAIN in diesem Fall:
\ SAVE last word as autostart routine. : MAIN ( -- ) BLINK QUIT ; \ Quit application to enter forth. SAVE
Man tut gut daran einen Ausstieg aus der App zu programmieren, um aus dem automatischen Modus jemals wieder heraus zu kommen, zurück ins Forth. Die Phrase
BEGIN <your_app> KEY? UNTIL KEY DROP QUIT
ist beliebt um aus so einer Hauptschleife, wie MAIN, zur Tastatureingabe zurück zu kommen. Ohne solch einen definierten Ausgang würde die App ja für immer laufen. Nur noch zu stoppen durch harten Reset: S2+Reset drücken.
Eine Sammlung von hübschen Beispielen in 4e4th auf dem LaunchPad entsteht hoffentlich nun so nach und nach. Ihr könnt Eure Beispiele dort anfügen.
Experimente mit booster packs können sich hier versammeln, käufliche wie eigene.
Falls du mit der MCU auf deinem LaunchPad vertrauter werden möchtes, könnten dir grundlegende Experimente mit dem MSP430G2553 weiter helfen.
Tippe einfach SAVE
um dein Programm zu sichern. Es bleibt dann permanent im MSP430G2553 FLASH gespeichert.
Mit Hilfe eines Programmers kann man das Flash auslesen, und das Image davon auf dem PC in eine Datei sichern.
Tippe WIPE
um dein Programm wieder 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 WIPE um in frisches USER-FLASH zu erhalten. Das Forthsystem, der Kernel, bleibt erhalten, denn der Forth-Kernel im Flash ist geschützt - unkaputtbar :)
Dann hilft nur noch den Forthkern erneut zu brennen. Das Ur-Image deines Forth hast du ja noch.
In Windows braucht es dazu nichts weiter als den Programmer aufzurufen und die dort schon eingestellte Quelle erneut in den chip zu brennen. zB mit AUTOPROG beim FET-Pro430 Programmer. Es muss nichts umgesteckt werden.
Der Programmer benutzt den Port USB HID00xx als Verbindung zum LaunchPad, die über die gleiche USB Verbindung realisiert ist wie die serielle zum Terminal. Das Terminal kann einfach geöffnet bleiben.
Beende den Brennvorgang im FET-Pro430 mit einem Klick auf das dortige „Reset“. Dann wird die MCU freigegeben und dein 4e4th bootet sofort.
Wer den 4e4th-Forth-Kern bearbeiten will, kann das Projekt clonen. https://github.com/mikalus/4e4th05a
Dort im Repository liegt das aktuelle Projekt. Die Beschreibungen (readme.430) wie man das Forth selbst herstellen kann, und der Quellcode (*.asm) um ein 4e4th05a.hex mit dem Naken Assembler zu machen, sind dabei.
Um mit der MCU auf dem LaunchPad überhaupt kommunizieren zu können, muss auf deinem Rechner ein Terminal Emulator („Terminal“) vorhanden sein. Auch ein Programmer ist nötig, wenn der chip neu geflasht werden muss. Diese Programme benötigen die richtigen Treiber für das LaunchPad. Diese müssen zuvor in deinem Betriebssystem installliert worden sein.
Texas Instruments (TI) geht davon aus, das man seine MCUs auf dem LaunchPad in C oder Assembler programmiert. Dafür gibt es integrierte Entwicklungsumgebungen (IDE). TI hat bisher (3/2012) keine eigene kostenlose IDE. TI nennt den IAR „Kickstart“ und den CodeComposer als Werkzeuge. Beide Systeme sind proprietär und man kann sie kaufen. Es gibt von beiden kostenlose limitierte Versionen zum runterladen. Der CodeComposer hat eine Zeitbegrenzung. IAR kickstart hat eine Mengenbegrenzung auf 4K große Projekte.
Ich bevorzuge freie Software dafür. Daher ist 4e4th05a im Naken Assembler verfasst.
TI bietet in einem Projekt für den Launchpad eine exe für die Installation an. http://www.ti.com/litv/zip/slac490
Holt man sich diesen Ordner ist darin der Unterordner LaunchPadDriver
. Führe diese exe in dem Ordner aus (Doppelklick). Die exe meldet nichts und ist sofort fertig, aber danach wird das LaunchPad richtig erkannt und ist betriebsbereit. Die exe funktioniert für 32 und 64 bit Systeme.
[Der Link zum slac490 ist wohl tot (1.10.2014). Alternative Vorgehensweise: s.unten. Windows7 hat bei mir hier selbst gemerkt welcher Treiber gebaucht wird und den automatisch installiert. mk]
mit den drei Dateien
430cdc.cat,
430cdc.inf und
LaunchPadDriver.exe
Stöpsel ein LaunchPad an den USB, es sollte sich nun betriebsbereit melden. Im Gerätemanager nachsehen. Dort sollte nun unter den Anschlüssen ein COMx-Port aufgeführt sein der „MSP430 Application UART“ heißt.
Quelle: http://e2e.ti.com/support/microcontrollers/msp43016-bit_ultra-low_power_mcus/f/166/t/105756.aspx
LaunchPad_Driver.zip im www.forth-ev.de download Bereich unter sonstiges. http://www.forth-ev.de/filemgmt/singlefile.php?lid=410
Hinweis: Diese inf Datei enthält lediglich ein Skrip darüber, was Windows zu tun hat, damit ein virtueler COM Port für das LauchPad an einer USB Schnittstelle eingerichtet wird. Ein inf Datei kann man nicht direkt ausführen.
Mit dem Hardware Wizard oder dem Geräte-Manager die Datei
WinDriverforTI-LaunchPadUSBserial.inf
suchen und ausführen lassen. Damit wird ein USB-serieller virtueller COM Port für das Launchpad bereit gestellt wird. Diese inf Datei ist hier verfügbar:
http://www.forth-ev.de/repos/CF430G2553/
Es soll auch mit der exe gehen die oben in Win7 genannt ist.
Siehe auch Dokument slau278h.pdf bei TI.COM, S.139, Hardware Installation Guide.
Die Verbindung von TI LaunchPad und 4e4th lief ohne weiteres auf einer Reihe von Plattformen.
(Es liegen bisher keine erfolgreichen Erfahrungen vor. Stand: 25.02.2012 mk)
Das Image 4e4th05a.hex findest du bei GitHub - siehe Abschnitt „Urladen“. Es ist eine Datei im intel hex Format, die mit einem geeigneten Programmer in die MCU geladen werden muss.
FET-Pro430 Lite version FREE. http://www.elprotronic.com/fetpro430.html (Update 08.08.2020: Nicht mehr ganz „free“. Aber kostenlose „trial“-Version. Wird für TI's MSP430Fxx-Serien beworben, enthält aber auch deren ..Gxx-Serien. Sehr gutes tool. mk)
Stelle das gewünschte Image ein (open code file) und den Pafd dorthin, wähle die richtige MCU aus (Microcontroller Type). Aktiviere das Kästchen reload code file. Wähle dann im Menue setup connections die passende Verbindung aus. Ebenfalls muss setup, memory options passend eingestellt sein. Für die MSP430G2553-MCU ist ganz wichtig, INFO-A Flash darf nicht überschrieben werden. Also das Kästchen bei Retain Data in Flash, DCO constants in INFO-A aktivieren. Wichtig wäre auch noch in setup connections die Option Final Target Device action, reset and start the application program zu aktivieren. Dann muss man das nicht mehr manuell auf der Hauptseite machen. Denn ohne den reset nach dem flashen läuft 4e4th nicht los. Ok, aber nun zurück zur Hauptseite, klicke dort AUTOPROG - fertig. FET-Pro430 merkt sich die Einstellung. Und wenn das Selbe nochmal geflasht werden soll, genügt fortan der einfache Klick auf AUTOPROG.
Hier screen shots davon:
Lade das Image (HEX-Datei) mit dem Flasher-Programm mspdebug
auf das Launchpad (Version 0.19 oder später, http://mspdebug.sourceforge.net/).
$ sudo mspdebug rf2500 "prog 4e4th05a.hex"
Unter Linux meldet sich das TI Launchpad meist unter /dev/ttyACM0
jedoch kann es sein, das bei modernen Linux Systemen Hintergrundprogramme (wie der ModemManager) sofort diese Schnittstelle belegen und versuchen das LaunchPad als Modem anzusprechen (Siehe Linux today: too much plug and play; http://fedetft.wordpress.com/2011/01/07/linux-today-too-much-plug-and-play/). (cas)
Es gibt eine Gruppe die tools zusammen stellt. http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_Mac_OS_X
Zu den Terminal-Programmen wurde weiter oben schon einiges geschrieben. Neben den allgemeinen Terminals sind derzeit Forth spezifische Terminals in der Entwicklung.
#! /usr/bin/tclsh set uart /dev/ttyACM0 set h [open $uart r+] fconfigure $h -mode 9600,n,8,1 -handshake none -timeout 1000 \ -translation cr -buffering none foreach name $argv { foreach line [split [read [open $name r]] "\r\n"] { puts -nonewline $h "$line\r" while {[string compare [set c [read $h 1]] "\x11"]} { puts -nonewline stderr $c } } }
Der Name des Seriellen Ports unter set uart muss unter Windows oder Mac jeweils noch angepasst werden (Windows: com123, Mac: ??).
Die Nutzung ist denkbar einfach:
$ ./4e4th-up sourcefile...
(Unter Linux das chmod a+x nicht vergessen!)
Vervielfältige dein fertiges Programm ohne immer wieder den Quellcode compilieren zu müssen.
Die FET-Pro430 Lite version FREE http://www.elprotronic.com/fetpro430.html kann auch eine Kopie des kompletten Flash machen.
Klicke im FET-Pro430 in der rechten Spalte unten auf den Knopf READ/COPY. Das ist schon alles.
Es wird der komplette Speicher der MCU ausgelesen und in einem neuen Fenster als Text gezeigt, in Form eines Hex-dump. Der Speicherinhalt - das „image“ - wird dabei zeilenweise dargestellt. Zuerst die Adresse in hexadecimaler Form, dann 2×8 Bytes Speicherinhalt, ebenfalls in hexadecimal, und dann noch der Ascii-Wert der Speicherinhalte.
Das neue Fenster mit dem Hex-Dump hat einige Knöpfe in der unteren Reihe. Damit kann der Flashspeicherinhalt dann auch gleich in eine Datei gesichert werden.
TIhex(*.txt) sichert den Hex-dump im TI-Format. Damit können dann später weitere MCUs geflasht werden. Diese Datei enthält Ascii-Text und kann in dieser Form leicht weiter gegeben werden. Der Programmer kann dieses Format einlesen und eine MCU damit flashen. Auch andere TI-Werkzeuge und IDEs können damit dann was anfangen.
COPY legt eine ebensolche Datei an, aber übernimmt darüber hinaus die Datei sofort in den Schreibpuffer des FET-Pro430, damit der nächste chip unmittelbar gebrannt (pardon: geflasht bzw programmed) werden kann - ein Klick auf AUTO PROG reicht dann für die Serienfertigung.
INTEL_(*.hex) sichert den Speicherinhalt im gängigeren Intel-hex-Format, damit der Inhalt auch an andere Programmer weiter gegeben werden kann, in Linux z.B. Hierbei wird der Inhalt im Intel-Hex-Format in den NOTEPAD geschrieben. Dort kann man dann bestimmen wohin und unter welchem Namen die Datei abgelegt werden soll. Windows 7 fügt dabei leider immer .TXT an, so dass dann die Datei MYNAME.HEX.TXT heißt, und mit dieser Endung vom FET-Pro430 nicht mehr eingelesen werden kann. Du musst also doch noch mal ran und die Datei umbenennen in MYNAME.HEX - also das .TXT wieder entfernen, dann gehts.
Der Knopf NOTEPAD übernimmt den angezeigten Hex-Dump in den Editor gleichen Namens. So kann man den Dump kommentieren und dokumentieren.
EXIT - nun ja, damit wird diese Anwendungsebene verlassen und der ausgelesene Speicherinhalt einfach nur verworfen.
!!Achtung!! Es wird der komplette Flash-Speicher ausgelesen, also auch der Bereich Info-A. Der darf aber NICHT in die nächste MCU gebrannt werden, denn dort sind ja die Chip-spezifischen Eichdaten hinterlegt. Aber keine Sorge, der FET-Pro430 fragt nach, ob Info-A tatsächlich überschrieben werden soll, falls ihr das vorhaben solltet. Macht man natürlich nicht, und so wird der Info-A Bereich dann wieder ausgeklammert.
Eingestellt wird das im FET-Pro430 Setup unter Memory Options. Wer will kann dort auch den Read Address Range selbst bestimmen. Statt All Memory gibt es dort verschiedene Optionen und auch die Möglichkeit einzelne Segmente auszuwählen.
Verbinde zwei Mingnon 1,5V Batterien zu 3V als externe Stromversorgung. An der Brücke J3 die jumper VCC, TEST und RST abziehen. Stecke dein 3V-Batteriepack an die externe Versorgung des LaunchPad (J6). Danach kann man POR (power on/off) Tests machen, ohne das der USB 'aussteigt'.
Martin Bitter schreibt:
Unter nicht ganz erklärlichen Umständen kann es vorkommen, dass das Forth im Launchpad nicht tut was es soll. Das kann sich darin äußern, dass es in einer Endlosschleife seine Startmeldung ausschickt. Unter Windows ist das sehr schön im z.B. TerraTerm zu sehen. minicom unter Linux kann dies auch anzeigen, gelegentlich verweigert es auch völlig seine Mitarbeit und bricht mit der Meldung: „Datei oder Verzeichnis nicht gefunden“ schon beim Verbindungsaufbau ab. Hier haben bisher folgende Maßnahmen geholfen: ein Hardreset d.h. Drücken von S2 und dem Resetknopf gleichzeitig oder sehr langes Drücken (1 Minute) des Resetknopfes.
Antwort: Der Fehler trat auf nach flashen der MCU mittels mspdebug. Dieser Endlos-reset passierte, weil die user area im infoB nicht mit dem code im user flash (ab 0xC000) übereinstimmte. Der „Hardreset“, bei dem erst S2 gedrückt und gehalten wird, und dann S1 reset betätigt wird, behebt das Problem - es zwingt 4e4th in den Lieferzustand.
Es scheint mspdebug kann das flash im infoB nicht schreiben, wenn infoA geschützt ist.
Einstellung für das mspdebug (folgt noch)
In meinem Terminal erscheinen Geisterzeichen. Wie kommt das?
A: Du hast den debug-mode in deinem Terminal an geschaltet. Dann werden auch Steuerzeichen dargestellt. Das kleine Kästchen mit dem 0011 drin besagt das 0x11 von 4e4th an dein Terminal gesendet worden ist. 0x11 bedeutet XON.
Der debug-mode in TeraTerm wird durch shift-esc aktiviert. Drücke nochmal shift-esc um die Ausgabe im hex dump zu sehen. Und nochmal um die ausgabe ab zu schalten. Und nochmal um wieder zur normalen Darstellung der Ausgabe zu gelangen.
debug-mode in TeraTerm 1x shift-esc = Steuerzeichen sichtbar: 11 22 33 . . . 33 22 11 ok ^Q^M^J ok ^Q^M^J ok 2x shift-esc = hex dump der Ausgabe: 11 22 33 . . . 20 33 33 20 32 32 20 31 31 20 6F 6B 20 11 0D 0A ok
Windows XP stellt dem Terminal die USB Verbindung nicht bereit.
Wenn der PC zusammen mit dem LaunchPad gestartet wird (LaunchPad noch eingestöpselt am USB), hält Windows das LaunchPad zunächst für eine Maus. Erst nach einer Weile bemerkt es seine Irrtum und gibt den ComPort wieder her. Das führt dazu, dass man vom Terminal aus zunächste keine Verbindung zum LaunchPad bekommt, nach einer Weile dann aber doch. Abhilfe: LaunchPad erst an den USB anstecken wenn der PC schon läuft.
A Verbindungsaufbau 1. LaunchPad an den USB anstöpseln. Den Antwortton von Windows abwarten. 2. TeraTerm öffnen. B Verbindungsabbau 1. TeraTerm schließen. 2. LaunchPad abstöpseln.
Wenn ich das LaunchPad vom USB abstöpsel während TeraTerm noch läuft, bleibt die Verbindung der beiden gestört. Hotplug geht also nicht. Da hilft bisher nur TeraTerm schließen. Danach (!) LaunchPad vom USB abziehen, Tonfolge abwarten, wieder dran stecken, Tonfolge abwarten, dann Terminal öffnen.
In Verbindung mit dem FET-Pro430 Programmer ist es ebenso, Reihenfolge beachten. Ich hab gute Erfahrungen damit gemacht, erst das Terminal zu verbinden und dann den Programmer. Die MCU ließ sich dann anstandslos flashen auch bei laufendem Terminal. mk
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 für viele Tester in der Forth Gesellschaft. Und mit seinen Ideen und Tips mich ermutigte weiter zu machen, bis das CamelForth auf dem LaunchPad stabil lief. mk 14.03.2012
Und sodann gilt mein Dank allen, die seit der Forthtagung 2012 Anfang März, halfen, das 4e4th zu debuggen. mk 30.03.2012
(mk20121229)
4/2018: Inzwischen gibt es ein 4e4th05a. Es baut auf CamelForth 0.5a auf, assembliert mit dem Naken Assembler. Das es nun den Nachfolge-Release doch gibt, ist Juergen Pintaske zu verdanken. Er hat unermüdlich dafür gesorgt, Literatur dafür zusammenzustellen, um Forth erfolgreich lernen zu können. Da wäre es doch zu schade gewesen, wenn all die Dokumentation zum 4e4th nun unbrauchbar geworden wäre. Wer will, kann es also nun weiter benutzen. 4e4th05a-master.zip (naken_asm version) (mk)
3/2017: 4e4th Release0.34 wird von mir (mk) nicht mehr unterstützt!
Das hat mehrere Gründe:
Leute, nehmt noForth, das ist gut gepflegt, genauso klein und auch noch besser konzipiert alles in allem - das hat mir gut gefallen! (mk)