Inhaltsverzeichnis

Lego Forth

Lego bringt einen Nachfolger für den RCX auf den Markt: Den NXT. Für den RCX gab es bereits ein Forth, das pbForth von Ralf Hempel. Ulli Hoffmann formuliert dazu allerdings vernichtende Kritik:

Wenn ich an den RCX-Wettbewerb in Haminkeln zurückdenke, fand ich das Forth und das Entwicklungssystem, das wir damals benutzten, primitiv und lästig zu bedienen. Für ein Wettbewerbs-Rapid-Prototyping war das nicht wirklich geeignet und als Vorzeige-Objekt, um andere für Forth zu interessieren, würde es wohl eher abschreckend wirken.

Wobei man fairerweise sagen muss, dass die Hardwareunzulänglichkeiten des RCX-Bricks sehr wohl zu dem unprofessionellen Auftreten beigetragen haben — wenn der Motor keine Tachorückmeldung hat, kann man eben keine Regelung implementieren.

Der Plan

Der NXT ist wesentlich leistungsfähigere Hardware als der RCX. Auf diesem System sollte es möglich sein, ein leistungsfähiges Forth zu implementieren, das komfortabel bedient werden kann, und die Möglichkeiten des Geräts auch ausnützt.

Insbesondere sind auch die oben angedeuteten Schwachpunkte des RCX-Moduls behoben:

Anforderungen

Vorgehensweise

Informationen über den NXT

Unter http://mindstorms.lego.com/Overview/NXTreme.aspx gibt es ein paar Informationen zum Aufbau, z.B. Schaltpläne (und inzwischen sogar die Firmware in C). Gottseidank ist der Schaltplan sehr einfach, d.h. man braucht eigentlich nur auf die verwendete CPU gucken, um weiterzukommen:

Der verwendete Single-Chip-Contoller ist ein AT91SAM7S256. Da ist ein Boot-Assistent drin (SAM-BA), mit dem man die vorhandene Firmware „ganz einfach“ über USB ersetzen kann (mit einem Windows-Programm natürlich).

Mehr findet man auf der NXT Hacks-Seite. Dort gibt es auch einen Link auf ein Linux-Programm zum Firmware flashen, GCC-Crosscompiler und mehr. Leider ist diese Seite im Moment down.

Denn Hinweis, wie man den GCC-Crosscompiler installiert, findet man auch auf der Seite von Jürgen Stuber, und die LibNxt hat auf Google Code einen neuen Platz gefunden. Einfacher ist es aber, sich den Crosscompiler von GNUArm herunterzuladen, da ist alles schon passend vorcompiliert.