Hive und jetzt? – Einstieg in die Propeller- und Hive-Programmierung

Der Hive ist aufgebaut, TriOS läuft und was nun? Wie es scheint ist ein Einstieg in die Programmierung doch recht schwierig, wenn man einen fertigen Hive in seiner Ganzheit vor sich stehen hat.  Deshalb möchte ich hier einige grundlegende Ressourcen für einen Einstieg in die Programmierung des Propellerchips zusammenstellen.

Im Prinzip verfolgt auch schon der Artikel Build your OS – Bellatrix-Code und Build your OS – Regnatix-Code dieses Ziel, aber richtet dort den Fokus schon auf den fertigen Hive als Computer. Sinnvoller ist es aber, als erstes mit einem einzelnen Propeller ohne weitere Anbindung anzufangen. Ich werde dabei hier keine 1:1-Anleitung und keinen fertigen Code in den Artikel setzen, sondern vielmehr Links zu diversen Texten und Tutorials zusammenstellen, welche viele Demos mit umfangreicher Erklärung enthalten. Die meisten Texte sind dabei in englischer Sprache, was aber nicht abschrecken sollte – in den meisten Fällen kann man mit minimalsten Kentnissen der Sprache den technischen Hintergrund erfassen.

Was benötigt man als Hardware für den Einstieg? An sich ist auf dem Hiveboard alles vorhanden was minimal benötigt wird: Propellerchip, Stromversorgung und Hostinterface. Die meisten Tutorials beziehen sich aber auf einen einzelnen Mikrocontroller, weshalb die Verknüpfung von drei Schaltkreisen durchaus für einfache Experimente hinderlich sein kann. Im Prinzip gibt es mehrere Möglichkeiten:

  1. Propeller auf einem Steckbrett (extra Hostinterface und Stromversorgung wird nötig)
  2. Hive mit Stromversorgung, Hostinterface und einem bestückten Propellerchip (Bellatrix)
  3. Kompletter Hive – Regnatix und Administra gezogen oder per Software abgeschaltet

Zusätzlich wird in vielen Beispielen mit einer kleinen LED-Anzeige gearbeitet, welche die Effekte der Programmierung visualisieren. Letztlich handelt es sich einfach um acht LED’s inklusive Vorwiderständen, welche an acht zusammenhängenden Ports am Mikrocontroller angeschlossen wedren. Auf dem Starter-Kit von Parallax sind diese LED`s schon direkt bestückt, viele andere  Boards müssen aber erst mit dieser kleinen LED-Anzeige für die Experimente nachgerüstet werden. Im Prinzip gibt es dabei zwei Möglichkeiten bei Nutzung am Hive: Entweder bastelt man sich ein LED-Adapter für den Erweiterungsstecker am Hive oder einen Adapter, um ihn auf einen leeren Sockel eines gezogenen Props zu stecken.

 

Der Adapter auf den Fotos ist ein Aufbau für ein Steckbrett.  Analog kann das aber problemlos auch für den Erweiterungsport oder einen Propellersockel realisiert werden. Für die Variante mit einem komplett bestückten Hive, müssen die beiden nicht benutzten Propellerchips (Regnatx & Administra) abgeschaltet werden. Das erledigt das kleine Programm „prop-disable.spin“ aus dem Testpaket, welches ja schon vom Aufbau bekannt sein sollte. Dieses Programm wird bei beiden nicht genutzten Props in den EEProm geflasht und deaktiviert diese bis auf kurze Lichtimpulse an den Heartbeat-LED’s, um zu vermeiden, das sie auf dem Bus D0..7 dazwischen funken. Alternativ können aber einfach auch die beiden Cips gezogen werden.

Mit diesen Vorbereitungen kann es nun losgehen. Natürlich ist zu beachten, das die LED’s in den verschiedenen Tutorials auch an verschiedenen Ports angeschlossen sind. An einigen Stellen muß man so also die Pinbelegung in den Quelltexten anpassen. Hier nun eine Liste von Tutorials für erste Experimente:

  1. „Propeller-Handbuch Version 1.01“ – Achtung: Die interessanten Tutorials findet man NUR in dieser alten Version. In allen späteren Handbüchern wurden diese Kapitel entfernt! Von besonderem Interesse sind dabei die Kapitel 2 & 3. Dort findet man auch wieder den Schaltplan für die LED-Anzeige und diverse aufeinander aufbauende kleine Testprogramme, welche die Multicorefähigkeiten inklusive Datenübergabe usw. erklären. Es handelt sich dabei um sehr einfache Programme, welche die Grundlagen erklären. Download: Propeller-Handbuch V 1.01
  2. „Propeller Education Kit Fundamentals Book“: Dieses Buch gehört zum Propeller Education Kit, welches ein kompletter Experimentierkasten auf Steckbrettbasis ist. Zahlreiche Bauteile Sensoren und Aktoren sind enthalten, wie auch das angesprochene Buch, um viele Experimente durchzuführen. Einige Experimente kann man natürlich auch auf dem Hive mit der LED-Anzeige durchführen und die Erklärungen sind in jedem Fall interessant. Für Experimente auf dem Steckbrett habe ich mir noch zusätzlich ein kleines Hostinterface auf der Basis des MAX232 mit gleicher Schaltung wie im Hive gebastelt. Download: PE-Kit Fundamentals Book
  3. „The Propeller Cookbook“ von Jef Ledger: Dieses Tutorial bezieht sich mehr auf Protoboards, aber ist allgemein interessant um zu verstehen, was mit dem Propellerchip alles möglich ist. Download: Propeller Protoboard Designs for the Beginner
  4. Buch: Programming the Propeller with Spin: A Beginner’s Guide to Parallel Processing, Autor: Harprit Singh Sandhu – Viel kann ich zu dem Buch nicht sagen, da ich es nicht besitze.
  5. Buch: Programming and Customizing the Multicore Propeller Microcontroller –  Definitiv kein Einsteigerbuch, aber Gold wert bei fortgeschrittenen Projekten. Neben der Beschreibung diverser Entwicklungswerkzeuge, werden Themen wie Beschleunigungssensoren, Funkverbindungen, GPS, Robotersteuerung und Sprachynthese behandelt. Neben den Grundlagen findet man auch nutzbare Quelltexte für diese Anwendungen.

Die ersten drei Tutorials aber sind sehr gut als Einstieg die Programmierung des Propeller-Mikrocontrollers nutzbar und um zu verstehen, wie man mit dem Propellertool umgeht und mehrere Cores gleichzeitig nutzen kann. An dieser Stelle möchte ich auch noch  einmal auf die Aufbauanleitung „Build your Hive“ hinweisen, die neben dem physischen Aufbau auch gleich noch in Verbindung mit den Testprogrammen eine umfassende Möglichkeit bietet, den Propeller schon beim Aufbau in ausreichendem Maße kennenzulernen! Vorraussetzung ist natürlich, dass man die Testcodes aus dem Testpaket nicht einfach nur für den Hardwaretest verwendet, sondern auch als Ausgangspunkt für eigene Experimente nutzt. Wer das versäumt hat, kann das Testpaket natürlich auch nachträglich als Sammlung von Demo-Codeschnipseln noch einmal stückweise durchgehen. Dort sind alle Themen vom einfachen Textbildschirm über Tastaturabfrage, Sound bis zur SD-Card enthalten.

Wer mit diesen Beispielen experimentiert hat, kann seine Entdeckungsreise mit Video, Tastatur und Maus auf dem Hive fortsetzen: Build your OS – Bellatrix-Code – hier lernt man wie einfach die Ansteuerung eines VGA-Monitors ist, wie man Texte ausgibt und die Tastatur abfragt. Vom ersten „Hallo Welt!“ bis zu kleinen Spielereien werden die Grundlagen für Bellatrix noch einmal aus einem anderen Blickwinkel erklärt. Dabei beschränkt sich dieses Tutorial ebenfalls als Einstieg auf einen Propellerchip (Bellatrix).

Damit sollten nun alle Grundlagen vorhanden sein, um sich an die Kopplung der Propellerchips und der Anbindung des Speichers im Hive zu wagen: Build your OS – Regnatix-Code – in diesem Tutorial kann man lernen, wie die drei Propellerchips im Hive sich ihre Funktionen durch ein Master-Slave-Prinzip teilen und wie man die Funktionen aller drei Chips in eigenen Programmen nutzen kann.