<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">%% LyX 2.0.0beta3 created this file.  For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{textcomp}
\usepackage{babel}
\begin{document}

\title{Neuigkeiten von \emph{Ã¼bern Teich}}
\author{Carsten Strotmann}
\maketitle

Ende Januar hatte ich die Gelegenheit, an dem monatlichem Treffen der
Silicon Valley Forth User Group teilzunehmen. Die SVFIG ist so etwas
wie die Keimzelle der Forth Interest Group, und immer noch sehr aktiv.
Die Gruppe trifft sich monatlich auf dem Campus der Stanford UniversitÃ¤t
in Palo Alto. Diesen Januar waren 12 Forthler zum Erfahrungsaustausch
anwesend. Im lockerem Stil wurde Ã¼ber aktuelle Projekte und Entwicklungen
berichtet.

\begin{multicols}{2}
\section{Forth auf dem Arduino}

Den Anfang der VortrÃ¤ge machte Chen--Hanson Ting (CH Ting) Ã¼ber seine
Erfahrungen mit Forth auf dem Arduino. Ting hat einen Arduino \emph{Uno}
bekommen, den Nachfolger des Arduino 2009 \emph{Duemilanove}. Tings
erster Versuch war, das amForth auf dem \emph{Uno} zum Laufen zu bringen.
Zwar hat der \emph{Uno} die gleiche CPU wie der \emph{Due} (Atmega328),
aber amForth laeuft derzeit nicht 'out of the box' mit dem \emph{Uno}
(Der Bootloader und die USB--Seriell Schnittstelle ist eine andere).
Leicht frustriert von diesen erfolglosen Tests, versuchte Ting, das
amForth im Atmel Simulator unter Windows zu starten, um ein GefÃ¼hl
fÃ¼r amForth zu bekommen. Obwohl alle anderen Atmel--Beispielprogramme
ohne Probleme liefen, verursachte amForth jedoch einen Komplettabsturz
des Atmel Simulators. Eine Untersuchung ergab, dass amForth korrekt
programmiert ist, aber wohl der Simulator einen Fehler enthÃ¤lt der
(nur) durch amForth ausgelÃ¶st wird.

Die Arduino--Boards kommen von Hause aus mit einer einfachen Programmierumgebung
namens \emph{Sketch}. Sketch ist eine C--Ã¤hnliche Sprache, welche den
Einstieg in die Arduino--Programmierung fÃ¼r Programmier--AnfÃ¤nger erleichtert,
die \emph{Sketch} IDE ist in Java geschrieben und fÃ¼r AnfÃ¤nger relativ
einfach zu bedienen. \emph{Sketch} wird im Hintergrund der Sketch--IDE
in echten C--Programmcode und dann noch auf dem PC per GNU--C--Compiler
in ein BinÃ¤rprogramm Ã¼bersetzt und an den Arduino gesendet. Aus Mangel
an direkten Alternativen implementierte Ting das eForth, geschrieben
in \emph{Sketch}, fÃ¼r den Arduino. Die vordefinierten Forth--WÃ¶rter
werden mit der \emph{PROGMEM}--Anweisung als Datenstrukturen direkt
in den Flashspeicher geschrieben. Dies funktioniert, es wird aber
unnÃ¶tig viel Speicher fÃ¼r die \emph{Sketch}--Routinen verbraucht.
Auch ist die Erweiterung des Forth--Dictionary in diesem Sketch--Forth
nur im (S)RAM des Atmel mÃ¶glich, nicht im Flash. Also keine wirklich
befriedigende LÃ¶sung.

Im aktuellen Projekt erstellt C.$\,$H.\ Ting nun ein eForth in Atmel--Assembler
fÃ¼r den Arduino \emph{Uno}. Dieses System soll auf dem MÃ¤rz--Treffen
der SVFIG vorgestellt werden. Der eForth--Interpreter funktioniert
schon, am Compiler wird derzeit noch gearbeitet.

Nachtrag: Auf dem Februartreffen der SVFIG haben Bill und Michael
Ragsdale Ã¼ber ihre Erfahrungen mit dem Arduino \emph{Uno} und amForth
berichtet. Auf dem gleichen Treffen berichtet Leon Wagner von Forth
Inc. Ã¼ber das neue SwiftX fÃ¼r den Arduino \emph{Uno}. Und Charley
Shattuck berichtet Ã¼ber MyForth auf dem Arduino (tethered Forth, benutzt
GForth fÃ¼r target compiling). 

Obwohl C.$\,$H.\ Ting im Januar seinen Vortrag mit der Erkenntnis begann,
dass der Atmel im Arduino aufgrund der Harvard--Architektur eine feindselige
Umgebung fÃ¼r Forth darstellt, mausert sich Atmel zur Nummer \emph{Uno}
Forth Plattform. Arduino Ã¼berall!


\section{Mittagspause}

Zur Mittagspause gab es Snacks im \emph{Treehouse} der 
Stanford--UniversitÃ¤t. Es war sehr angenehm, mitten im \emph{Winter} bei 24
Â°C im T--Shirt in der Sonne sitzen zu kÃ¶nnen.

Nach dem Mittagessen gab es eine kleine Aufheiterung in Form des \emph{Turbo
Encabulator} Videos: \url{http://www.youtube.com/watch?v=rLDgQg6bq7}


\section{Das XuLA Board}

James Bowman zeigte das XuLA FPGA Board (Xilinx Spartan). Dieses Board
beinhaltet auf 51 mm x 25 mm ein 50,000--gate FPGA, 8 MByte SDRAM,
2 Mbit Flash, zwei Spannungs--Regler und ein PIC 18F14K50 Mikrocontroller.
Das Board ist zum Preis von 30 US\$ bei der Firma XESS zu bestellen.
James benutzt das Board fÃ¼r die Arbeit an der J1 Forth CPU, welche
auf der EuroForth 2010 vorgestellt wurde.


\section{eForth auf Green Arrays GA144}

John Rible berichtete als der Kassenwart der SVFIG Ã¼ber die Finanzen
der Gruppe und zeigte danach ein paar Bilder der GA144 Waver. Der
GA144 ist der neue Chip (1cm x 1xm) mit 144 F18A Forth CPUs, entwickelt
von Chuck Moore und seinem Team bei Green Arrays. Die Waver sollten
eigendlich direkt von der Fab zum Chip--GehÃ¤use--Hersteller gehen, um
dort in GehÃ¤use gepackt zu werden, wurden aber aus Versehen Ã¼ber das
Green Arrays BÃ¼ros in Incline Village (Lake Tahoe, Nevada) gesendet. 

Die fertigen Chips sollen ab April/Mai 2011 fÃ¼r interessierte Kunden
verfÃ¼gbar sein.


\section{Forth--Bildungs--Gruppe}

Ich hatte dann meinen kleinen Auftritt mit einer Ãœbersicht der AktivitÃ¤ten
der Forth--Bildungs--Gruppe in der Forth--Gesellschaft. Gezeigt habe
ich Bilder von unseren LinuxTag--AktivitÃ¤ten, speziell das Video mit
dem SolitÃ¤r--Roboter von Ewald Rieger und Friedel Amend wurde begeistert
aufgenommen. Die SVFIG Gruppe hat Ã¤hnliche AktivitÃ¤ten in der Planung,
z. B. wird die Gruppe im Mai auf der \emph{Maker Faire Bay Area},
einer Messe fÃ¼r Bastler und Erfinder der Zeitschrift \emph{Make},
ausstellen und fÃ¼r Forth werben.


\section{GForth auf eCos}

John E.\ Harbold arbeitet an einem Port des GForth an das embedded
Open Source Betriebssystem eCos. In seinem kleinen Vortrag hob John
speziell die VorzÃ¼ge des GForth gegenÃ¼ber anderen Forth--Systemen hervor,
z.$\,$B.\ die Schnittstellen, um in C geschriebene Programmbibliotheken
nutzen zu kÃ¶nnen.


\section{Native Client Forth im Chrome Webbrowser}

Brad Nelson ist der Autor des Rainbow Forth. Rainbow Forth ist ein
AbkÃ¶mmling der ColorForth--Familie und fÃ¼r Linux, Window und als Web--Applikation
im Browser verfÃ¼gbar. Die ursprÃ¼ngliche Webapplikation ist mittels
JavaScript im Browser und Python und Forth in der Google AppEngine
gebaut. Nun ist die AusfÃ¼hrungsgeschwindigkeit von in JavaScript geschrieben
Forth Interpretern nicht die Beste (selbst wenn JavaScript in den
letzen Jahren erheblich von optimierten modernen VM Technologien profitiert
hat). Google fÃ¼hrt mit Version 10 des Chrome Webbrowsers die \emph{Native
Client} Technologie in den Browser ein. 

\emph{Native Client} erlaubt in sicherer Weise (per Sandbox), nativen Programmcode
(x86, x86\_64, ARM) im Browser ablaufen zu lassen. Es wird also nicht
interpretiert wie bei JavaScript, sondern der BinÃ¤rcode des Programms
wird im Browser direkt auf der CPU ausgefÃ¼hrt. Dabei verhindert die
\emph{Native Client} Technologie, dass der Prozess aus dem Browser ausbricht
und unberechtigt auf Dateien oder andere Resourcen des Rechners zugreift.

Brad arbeitet nun an einer neuen Version des Rainbow Forth, welche
mit Hilfe der \emph{Native Client} Technologie in voller Geschwindigkeit,
aber im Browser ablaufen kann. FÃ¼r den Benutzer ergibt sich der Vorteil,
dass das Forth--System aus dem Netz geladen wird, nicht \emph{installiert}
werden muss und immer auf dem neusten Stand ist. Die erstellten Forth--Programme
kÃ¶nnen wahlweise im Netz (ColorForth encoded) oder spÃ¤ter auch auf
der lokalen Platte (nach Rechtefreigabe durch den Benutzer) gespeichert
werden.

\end{multicols}

\section{Links}

\subsection{Arduinio}
Arduino \emph{Uno}: \url{http://arduino.cc/en/Main/ArduinoBoardUno}

amForth: \url{http://amforth.sourceforge.net/}

Arduino PROGMEM: \url{http://www.arduino.cc/en/Reference/PROGMEM}

Folien amForth auf dem Arduino: \url{http://www.forth.org/svfig/kk/02-2011-Ragsdale.pdf}

SVFIG Februar Treffen \emph{Arduino day}: \url{http://www.forth.org/svfig/kk/02-2011.html}

\subsection{XuLA}

XuLA FPGA: \url{http://www.xess.com/prods/prod047.php}

J1 FPGA CPU: \url{http://excamera.com/sphinx/fpga-j1.html}

\subsection{Green Arrays}
Green Arrays: \url{http://www.greenarraychips.com/}

\subsection{Maker Faire}

Maker Faire: \url{http://makerfaire.com/}

\subsection{eCos}

eCos: \url{http://ecos.sourceware.org/}


\subsection{Rainbow Forth}

Rainbow Forth: \url{http://rainbowforth.sourceforge.net/}

Rainbow Forth in JavaScript: \url{http://rainbowforth.appspot.com/view?start=300\&amp;end=315\&amp;}

Google Chrome Native Client: \url{http://www.chromium.org/nativeclient}

Native Client Forth: \url{https://docs.google.com/present/view?id=0ARW9X5bieOAwZGRiaGQ4MmZfMjhmNW16djgzYw\&amp;hl=en\&amp;authkey=CLuf64AI}

SVFIG Webseite: \url{http://www.forth.org/svfig}

\end{document}</pre></body></html>