====== So betreibt man das GForth-ec auf dem R8C mit Windows XP ====== Anleitung für den Betrieb des R8C auf dem [[http://www.elektor.de/Default.aspx?tabid=27&year=2006&month=1&art=5550655&PN=On|Application Board von Elektor]] //Von Carsten Strotmann; überarbeitet mka.// ===== Übersicht ===== Zuerst muss das Gforth-ec Image in das Flash-ROM des R8C geladen werden. Das Image befindet sich in der Datei [[http://bernd-paysan.de/gforth-r8c.mot|gforth-r8c.mot]] und kann unter Windows mit dem Flash Development Toolkit 3.4 Basic von Renesas in den R8C geladen werden. Dieses FDT-Basic ist die Entwicklungsumgebung für den R8C und [[hier]] frei verfügbar. Das "flashen" geht genauso wie für [[andere Programme]] die es für den R8C gibt. Der Unterschied zu solchen fixen Programmen wird schnell deutlich, sobald das Gforth-ec auf dem R8C läuft. Denn nun kann der R8C-Chip interaktiv erprobt werden. Dem R8C wird mit dem Gforth-ec also eine Entwicklungsumgebung eingepflanzt, mit der sich allerlei ausprobieren lässt - direkt auf dem Chip selbst! Dass man außerdem das [[Gforth-ec selbst modifizieren]] kann, ist dabei besonders erfreulich, aber etwas für Fortgeschrittene. Das FDT-Basic lädt das Image auf bequeme Weise über eine serielle Schnittstelle des PC in den R8C. Dabei ist es egal ob der D-Sub-Stecker oder der USB-Stecker verwendet wird. Die Schnittstelle muss aber im FDT-Basic angegeben werden - z.B. COM2 oder USBserialCOMx. Wird das R8C Elektor Application Board an der USB Schnittstelle nicht erkannt, fehlt womöglich nur der passende Treiber. [[http://www.profilictech.com|Profilic PL2303X USBserial Bridge Treiber]] Sobald das Gforth-Image in den R8C program flash Speicher geladen ist, kann damit gearbeitet werden. Dazu wird dieselbe serielle Schnittstelle benutzt. Umstöpseln ist nicht nötig, es kann sofort los gehen. Die interaktive Arbeit wird über das Terminalprogramm "Hyperterm" des Windows XP abgewickelt, oder über ein anderes alternatives Terminalprogrammen. (Siehe Anhang für Verweise auf Terminalprogramme.) Und wie man da hin kommt dass auch alles geht wird hier vorgeführt. ===== gforth-r8c.mot in den R8C flashen ===== Installation des FTD-Flashers (Basic) von der Renesas/Glyn CD-ROM {{:projects:r8c:ftd1.png|:projects:r8c:ftd1.png}} {{:projects:r8c:ftd2.png|:projects:r8c:ftd2.png}} {{:projects:r8c:ftd3.png|:projects:r8c:ftd3.png}} Bei der Auswahl der benötigten Komponenten könnte man sich auf die Mikrokontroller mit Protokoll D (M16C und R8C) beschränken, um Speicherplatz auf der Festplatte zu sparen. {{:projects:r8c:ftd4.png|:projects:r8c:ftd4.png}} {{:projects:r8c:ftd5.png|:projects:r8c:ftd5.png}} Auch hier kann alles ausser R8C abgewählt werden. {{:projects:r8c:ftd6.png|:projects:r8c:ftd6.png}} {{:projects:r8c:ftd7.png|:projects:r8c:ftd7.png}} {{:projects:r8c:ftd8.png|:projects:r8c:ftd8.png}} {{:projects:r8c:ftd9.png|:projects:r8c:ftd9.png}} {{:projects:r8c:ftd10.png|:projects:r8c:ftd10.png}} {{:projects:r8c:ftd11.png|:projects:r8c:ftd11.png}} {{:projects:r8c:ftd12.png|:projects:r8c:ftd12.png}} Nach der Installation sind die MOT Dateien direkt mit dem Flasher verbunden, so das wir nur die Datei "gforth-r8c.mot" oder "rom-r8c.mot"  starten müssen. Es öffnet sich der Flasher mit der ROM-Abbild Datei: {{:projects:r8c:ftd17.png|:projects:r8c:ftd17.png}} der FTD-Flasher wird für den R8C konfiguriert (Anmerkung: Es muss der R5F21134 sein, der 32er ist zu klein!): {{:projects:r8c:ftd18.png|:projects:r8c:ftd18.png}} Den Port zur Programmierung auswählen. Je nach der Board-Konfiguration kann der R8C über USB oder die serielle Schnittstelle programmiert werden. Hier wird COM7, d.h. die seriell-zu-USB Schnittstelle benutzt. {{:projects:r8c:ftd19.png|:projects:r8c:ftd19.png}} Kommunikationsgeschwindikeit beim Flashen unter Windows ist 9600 Baud. {{:projects:r8c:ftd20.png|:projects:r8c:ftd20.png}} Wir entscheiden uns für "Automatic Protection" {{:projects:r8c:ftd21.png|:projects:r8c:ftd21.png}} Um das Gforth-ec in das flash-ROM zu laden muss der Jumper JP2 (Prog) geschlossen sein. In dieser Stellung ist der Bootloader des R8C aktiviert. Das folgende Bild zeigt die Jumperstellung für das flashen über USB - auf das Bild klicken für vergösserte Ansicht. {{:projects:r8c:flash-jumper.jpg?200x100|:projects:r8c:flash-jumper.jpg}} Jetzt kann der Flash-ROM Bereich gelöscht werden: {{:projects:r8c:ftd24.png|:projects:r8c:ftd24.png}} {{:projects:r8c:ftd25.png|:projects:r8c:ftd25.png}} Und dann wird das neue Gforth-Image in den R8C geladen: {{:projects:r8c:ftd26.png|:projects:r8c:ftd26.png}} {{:projects:r8c:ftd27.png|:projects:r8c:ftd27.png}} Den Jumper JP2 wieder öffnen und Reset auf dem Application Board drücken. Es sollte nun auf dem LCD-Display die Meldung "Gforth EC R8C" erscheinen. Per Terminal kann der Befehl "cold" eingegeben und so die Einschaltmeldung des GForth-ec angezeigt werden. Anhand dieser kann geprüft werden, ob die aktuelle Gforth Version im R8C läuft.   cold Gforth 0.6.2-20060527, Copyright (C) 1995-2006 Free Software Foundation, Inc.   Gforth comes with ABSOLUTELY NO WARRANTY; for details type `license' ---- Hinweis: Auf meinem Exemplar des Application Board konnte ich problemlos wiederholt ein neues Image in das ROM flashen und zwischen bootloader und Terminalbetrieb per JP2 hin und herschalten - ein Reset genügte jeweils. Andere berichteten von Problemen dabei und mussten vor dem flashen die Platine einmal stromlos schalten. Bitte ausprobieren und berichten. Danke. ===== Mit dem PC Gforth das R8C Gforth-ec bedienen ===== Besonders interessant ist, das auch auf Windows XP das Gforth zu haben ist, als Host des kleinen Gforth-ec sozusagen. | Download Windows Installer [[http://bernd-paysan.de/gforth-0.6.2-20060709.exe|gforth-0.6.2-20060709.exe]] | Dieses Paket mit dem Namen //gforth-0.6.2-20060709.exe// beinhaltet ein Installationsprogramm, welches __alle__ notwendigen Bestandteile zum Ausführen von Gforth und zum Programmieren des R8C auf dem PC einrichtet. Dabei wird als Erstes mit der [[http://de.wikipedia.org/wiki/Bash|bash]] eine einfache UNIX-Umgebung auf dem PC bereit gestellt. Das Gforth läuft dann in dieser //shell//. Entwickler können damit sogar das Gforth-ec für den R8C verändern. Eine Hürde ist dabei am Anfang allerdings zu nehmen. Im Quellecode des Gforth Terminals muss die richtige Schnittstelle eingetragen sein, damit das Terminal dann in der //bash// mit dem Kommando //./gforth arch/r8c/terminal.fs// aufgerufen werden kann und sich sofort mit dem R8C verbindet. {{:projects:r8c:win1.png}} \\ Download Windows Installer {{:projects:r8c:win2.png|:projects:r8c:win2.png}} \\ GForth Setup 1 {{:projects:r8c:win3.png|:projects:r8c:win3.png}} \\ GForth Setup 2 - GPL License {{:projects:r8c:win4.png|:projects:r8c:win4.png}} \\ GForth Setup 3 - das Installationsverzeichnis Wer sich Tipparbeit auf der Kommandozeile, und auch im Gforth ersparen will, installiert das Gforth in ein Verzeichnis ohne Leerzeichen zu benutzen, und direkt im Hauptverzeichnis eines Laufwerks, also z. B. "C:\GFORTH" {{:projects:r8c:win5.png|:projects:r8c:win5.png}} \\ GForth Setup 4 - Auswahl der Installationskomponenten {{:projects:r8c:win6.png|:projects:r8c:win6.png}} \\ GForth Setup 5 - Name für die Programmgruppe {{:projects:r8c:win7.png|:projects:r8c:win7.png}} \\ GForth Setup 6 - Zusammenfassung {{:projects:r8c:win8.png|:projects:r8c:win8.png}} \\ GForth Setup 7 - Dateien werden kopiert {{:projects:r8c:win9.png|:projects:r8c:win9.png}} \\ GForth Setup 8 - Installation abgeschlossen Das Gforth auf dem PC soll nun aber auch sein eigenes Terminal benutzen. Es wird aus der Datei ''arch/r8c/terminal.fs'' nachgeladen. In diesem Quellcodde muss der richtige Name für die verwendete serielle Schnittstelle zum R8C-Board eingetragen werden. Den Namen der seriellen Schnittstelle finden wir im Windows Gerätemanager - zum Beispiel COM7 für USBserial. {{:projects:r8c:win14.png|:projects:r8c:win14.png}} \\ Name der R8C seriellen USB-Schnittstelle im Gerätemanager (hier COM7) {{:projects:r8c:win13.png|:projects:r8c:win13.png}} \\ Diesen Namen tragen wir in der drittletzten Zeile der Datei "terminal.fs" ein. Nun endlich kann die //bash// und darin das Gforth gestartet werden um damit zu arbeiten. Das Gforth samt seinem Terminal wird in der //bash// dann so aufgerufen: ./gforth arch/r8c/terminal.fs Auch die Benutzer des Windows XP müssen hier - ganz Windows untypisch - die Vorwärts-Schrägstriche und den Punkt-Schrägstrich "./" in die Kommandozeile eingeben. Schließlich ist //bash// eine Unix-Umgebung in Mitten des Windows XP. ===== Interaktiv mit dem R8C GForth-ec arbeiten ===== Nun kann mithilfe dieses //terminal.fs// interaktiv auf dem R8C System gearbeitet und programmiert werden. Natürlich kann auch mit jedem anderen Terminal-Programm interaktiv gearbeitet werden. Über die Tastatur kann nun direkt Forthcode eingegeben und ausprobiert werden. Über die Zwischenablage des Windows XP können sogar größere Forth-Quelltexte eingefügt werden. Im Terminalprogramm hierzu jedoch eine Verzögerung nach jedem Zeilenende von mindestens 250ms einzustellen. Doch bleibt es mühsam auf diese Weise programmieren zu müssen. Bequemer ginge es, wenn direkt ganze Programmdateien geladen werden könnten. Mit dem //terminal.fs// ist das möglich. Es unterstützt das transparente Laden von Quelltexten aus Windows XP heraus. Wird auf dem Gforth-ec der Befehl ''include arch/r8c/tt.fs'' eingegeben, so fordert dieses R8C-Gforth die Datei ''tt.fs'' vom PC-Gforth an. Es ist, als ob ein Massenspeichergerät direkt am R8C angeschlossen sei. ===== Quelltexte editieren ===== Das R8C Gforth-ec hat keinen eigenen Texteditor. Forth-Quelltexte werden daher mit gängigen Editoren bearbeitet, z.B. Wordpad von Windows XP, und dann als Datei in den R8C geladen. ====== Anhang ====== ===== Editoren ===== * Notepad * Ultraedit * Emacs/XEmacs * UltraEdit32 * MED * Kate * uemacs/qemacs * vim ===== Terminalprogramme für Windows ===== * Hyperterm - wird mit dem Windows Betriebssystem geliefert * Zap o Com (ZOC), ein Terminalprogramm aus deutschen Landen (http://www.emtec.com/) * C- Kermit, der Klassiker (http://www.columbia.edu/kermit/ck80.html) * Gforth mit "Terminal.fs"