Einstieg in die Entwicklung
Einstieg in die Entwicklung
Gibt es irgendwo ein Video oder einen Crash-Kurs, das bzw. der zeigt, wie ich mit den Propeller-Tools loslegen und die ersten Schritte in Richtung HIVE machen kann? Also:
- Wie kommt die vorbereitete Software in den HIVE?
- Wie entwickle und compiliere ich selbst Programme? (Was wäre hier das Standad-Einstiegs-Programm? Hello World? Oder Pong?)
- Wie kommt die vorbereitete Software in den HIVE?
- Wie entwickle und compiliere ich selbst Programme? (Was wäre hier das Standad-Einstiegs-Programm? Hello World? Oder Pong?)
- drohne235
- Administrator
- Beiträge: 2284
- Registriert: So 24. Mai 2009, 10:35
- Wohnort: Lutherstadt Wittenberg
- Kontaktdaten:
Re: Einstieg in die Entwicklung
Der erste Entwurf vom Tutorial "Build your Hive" findest du hier: http://hive-project.de/projekt-info/build-your-hive Das hast du aber bestimmt schon gefunden. Richtige fertige Tutorials wie man einen Propellerchip programmiert gibt es so nicht. Einige einleitende Kapitel über die Grundlagen sind im Propeller-Handbuch. Ansonsten habe ich persönlich einfach nur mit den vielen Demos die beim Propellertool beiliegen experimentiert, sie an die Gegebenheiten des Hive angepasst und damit gespielt. Viele Testprogramme habe ich ja in dem Testpaket im Downloadbereich zusammengefasst - Link ist in obigem Tutorial. Wenn man mit Spin anfängt ist es einfach wie mit Basic - da braucht man echt nur das Handbuch als Befehlsreferenz und ein wenig Zeit, der Rest kommt von selbst wenn man den Hive aufbaut und die ersten Experimente können ja beginnen wenn der erste Propeller (in der Regel Bellatrix) bestückt ist.
Ansonsten ist das Forum hier das Tutorial, einfach hemmungslos fragen.
Ansonsten ist das Forum hier das Tutorial, einfach hemmungslos fragen.

"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Re: Einstieg in die Entwicklung
Ich antworte jetzt mal für andere Einsteiger:
- Wie kommt die vorbereitete Software in den HIVE?
Das geht mit dem "Propeller Tool" von Parallax. Die Quelltexte (Spin-Dateien) werden einfach geladen und mit F10 in den Propeller-Chip übertragen. Einzige Vorraussetzung ist eine serielle Verbindung zum HIVE und die Auswahl des richtigen Propeller-Chips mittels der DIP-Schalter.
- Wie entwickle und compiliere ich selbst Programme?
Auch das geht mit dem "Propeller Tool" von Parallax. In der Onlinehilfe zum Programm werden die ersten Schritte in der Programmierung mit Spin und der Umgang mit dem Tool selbst ausführlich beschrieben. Zum Nachlesen kann man sich auch die PDF-Dateien ausdrucken. Speziell das "Propeller Education Kit Labs. Fundamentials"-Handbuch ist ein sehr guter Einstieg in die Arbeit mit dem Propeller.
- Wie kommt die vorbereitete Software in den HIVE?
Das geht mit dem "Propeller Tool" von Parallax. Die Quelltexte (Spin-Dateien) werden einfach geladen und mit F10 in den Propeller-Chip übertragen. Einzige Vorraussetzung ist eine serielle Verbindung zum HIVE und die Auswahl des richtigen Propeller-Chips mittels der DIP-Schalter.
- Wie entwickle und compiliere ich selbst Programme?
Auch das geht mit dem "Propeller Tool" von Parallax. In der Onlinehilfe zum Programm werden die ersten Schritte in der Programmierung mit Spin und der Umgang mit dem Tool selbst ausführlich beschrieben. Zum Nachlesen kann man sich auch die PDF-Dateien ausdrucken. Speziell das "Propeller Education Kit Labs. Fundamentials"-Handbuch ist ein sehr guter Einstieg in die Arbeit mit dem Propeller.
Re: Einstieg in die Entwicklung
Gute Idee. Ich schreibe gleich mal ein "How to" speziell für den HIVE. Da beim HIVE ja spezielle Dinge zu beachten sind, kann man nicht "einfach mal" ein Programm schreiben und in einen der 3 Propeller nageln. Da die voneinander abhängig sind, wird das wahrscheinlich schief gehen.volkerp hat geschrieben:Ich antworte jetzt mal für andere Einsteiger:
- Wie kommt die vorbereitete Software in den HIVE?
Das geht mit dem "Propeller Tool" von Parallax. Die Quelltexte (Spin-Dateien) werden einfach geladen und mit F10 in den Propeller-Chip übertragen. Einzige Vorraussetzung ist eine serielle Verbindung zum HIVE und die Auswahl des richtigen Propeller-Chips mittels der DIP-Schalter.
- Wie entwickle und compiliere ich selbst Programme?
Auch das geht mit dem "Propeller Tool" von Parallax. In der Onlinehilfe zum Programm werden die ersten Schritte in der Programmierung mit Spin und der Umgang mit dem Tool selbst ausführlich beschrieben. Zum Nachlesen kann man sich auch die PDF-Dateien ausdrucken. Speziell das "Propeller Education Kit Labs. Fundamentials"-Handbuch ist ein sehr guter Einstieg in die Arbeit mit dem Propeller.
Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
Re: Einstieg in die Entwicklung
Während wir unseren HIVE aufbauen sollten wir in den jeweiligen Baustufen die jeweiligen Funktionen testen.
Nur wie bekommen wir die Programme in die jeweiligen Propeller ?
Als erstes benötigen wir das Propeller-Tool von Parallax:
http://www.parallax.com/Portals/0/Downl ... v1.2.6.exe
Nachdem wir das Tool installiert haben schließen wir unseren HIVE wie in der Aufbauanleitung von drohne235
beschrieben an unseren PC an.
Jetzt das Propeller-Tool starten und mit "F7" überprüfen, ob das Tool unsere Propeller findet. Dabei müssen die
Jumper auf dem HIVE folgendermaßen stehen:
1 + 4 auf ON für Regnatix
2 + 5 auf ON für Administra
3 + 6 auf ON für Bellatrix
Wenn wir eine Fehlermeldung sehen, dann erst die Jumper, dann die Verbindungen überprüfen.

Wenn alles klappt, sehen wir

Soweit so gut, jetzt sollten wir die jeweiligen Testprogramme in die Propeller "flashen"
Dazu die Testdateien von drohne235 herunterladen. "Testprogramme" unter http://hive-project.de/downloads herunterladen und entpacken.
Im Propellertool jetzt in dieses Verzeichnis navigieren und das jeweilige Testprogramm (je nach Baustufe) in das
Tool laden

In diesem Beispiel muß der Jumper auf 3+6 stehen, da wir Bellatrix flashen wollen.
Wenn wir nur in das RAM des Propeller flashen wollen, dann jetzt "F10" drücken.
Das Tool überträgt das Programm, verifiziert das RAM und der Propeller legt sofort los.
Wir können auch mit "F11" in RAM UND Eeprom flashen. Das hat den Vorteil, das der Propeller nach einem Neustart
immer noch weiß was er tun soll, da er sich sein Programm dann aus dem Eeprom holt.
Wenn das jetzt bei allen Baustufen einwandfrei geklappt hat, steht uns nichts mehr im Weg, dem HIVE seine komplette Grundkonfiguration zu flashen.
Dazu holen wir uns jetzt im Downloadbereich die "Quellen" und die "Arbeitsdisk-Mini"
Wieder im Tool navigieren wir zu den Quellen und öffnen folgende SPIN-Dateien:

Mit "F11" wird das SPIN-Programm im Fokus (der Tabulator ist heller und das Programm steht in dem Editierfeld) in den jeweiligen Propeller geladen ( Jumper immer jeweils richtig setzen nicht vergessen ! )
Jetzt noch die Dateien der "Arbeitsdisk-Mini" auf eine SD-Karte kopieren ( max 2GB, keine verzeichnisse auf der SD-Karte erstellen).
HIVE ausschalten, SD-Karte einlegen und HIVE einschalten. Nach kurzer Wartezeit sollte sich auf dem VGA-Monitor "Regime" melden.
Herzlichen Glückwunsch, der HIVE ist betriebsbereit !
Im nächsten Post werde ich erklären, wie man eigene Programme auf den HIVE kriegt.
Gruß.
Rainer
Nur wie bekommen wir die Programme in die jeweiligen Propeller ?
Als erstes benötigen wir das Propeller-Tool von Parallax:
http://www.parallax.com/Portals/0/Downl ... v1.2.6.exe
Nachdem wir das Tool installiert haben schließen wir unseren HIVE wie in der Aufbauanleitung von drohne235
beschrieben an unseren PC an.
Jetzt das Propeller-Tool starten und mit "F7" überprüfen, ob das Tool unsere Propeller findet. Dabei müssen die
Jumper auf dem HIVE folgendermaßen stehen:
1 + 4 auf ON für Regnatix
2 + 5 auf ON für Administra
3 + 6 auf ON für Bellatrix
Wenn wir eine Fehlermeldung sehen, dann erst die Jumper, dann die Verbindungen überprüfen.

Wenn alles klappt, sehen wir

Soweit so gut, jetzt sollten wir die jeweiligen Testprogramme in die Propeller "flashen"
Dazu die Testdateien von drohne235 herunterladen. "Testprogramme" unter http://hive-project.de/downloads herunterladen und entpacken.
Im Propellertool jetzt in dieses Verzeichnis navigieren und das jeweilige Testprogramm (je nach Baustufe) in das
Tool laden

In diesem Beispiel muß der Jumper auf 3+6 stehen, da wir Bellatrix flashen wollen.
Wenn wir nur in das RAM des Propeller flashen wollen, dann jetzt "F10" drücken.
Das Tool überträgt das Programm, verifiziert das RAM und der Propeller legt sofort los.
Wir können auch mit "F11" in RAM UND Eeprom flashen. Das hat den Vorteil, das der Propeller nach einem Neustart
immer noch weiß was er tun soll, da er sich sein Programm dann aus dem Eeprom holt.
Wenn das jetzt bei allen Baustufen einwandfrei geklappt hat, steht uns nichts mehr im Weg, dem HIVE seine komplette Grundkonfiguration zu flashen.
Dazu holen wir uns jetzt im Downloadbereich die "Quellen" und die "Arbeitsdisk-Mini"
Wieder im Tool navigieren wir zu den Quellen und öffnen folgende SPIN-Dateien:

Mit "F11" wird das SPIN-Programm im Fokus (der Tabulator ist heller und das Programm steht in dem Editierfeld) in den jeweiligen Propeller geladen ( Jumper immer jeweils richtig setzen nicht vergessen ! )
Jetzt noch die Dateien der "Arbeitsdisk-Mini" auf eine SD-Karte kopieren ( max 2GB, keine verzeichnisse auf der SD-Karte erstellen).
HIVE ausschalten, SD-Karte einlegen und HIVE einschalten. Nach kurzer Wartezeit sollte sich auf dem VGA-Monitor "Regime" melden.
Herzlichen Glückwunsch, der HIVE ist betriebsbereit !
Im nächsten Post werde ich erklären, wie man eigene Programme auf den HIVE kriegt.
Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
- Mandalargon
- Beiträge: 28
- Registriert: Do 28. Mai 2009, 20:46
- Wohnort: Hamburg, Berlin, Leipzig
Re: Einstieg in die Entwicklung
Zumindest für Assembler gibt es kleinen Einstieg
http://ucontroller.com/machinelanguage.pdf
http://ucontroller.com/pasmreference.pdf
http://ucontroller.com/spinreference.pdf
http://propellerforum.sps-welt.de/viewtopic.php?t=85
http://propellerforum.sps-welt.de/viewtopic.php?t=84
http://propellerforum.sps-welt.de/viewtopic.php?t=119
http://ucontroller.com/machinelanguage.pdf
http://ucontroller.com/pasmreference.pdf
http://ucontroller.com/spinreference.pdf
http://propellerforum.sps-welt.de/viewtopic.php?t=85
http://propellerforum.sps-welt.de/viewtopic.php?t=84
http://propellerforum.sps-welt.de/viewtopic.php?t=119
Re: Einstieg in die Entwicklung
Nachdem unser HIVE jetzt läuft stellt sich die Frage, wie bringe ich meine eigenen Programme darauf zum laufen.
In dieser Anleitung geht es nicht um das Programmieren von Spin oder PASM, sondern nur um die Besonderheiten beim HIVE, was die "Übertragung" angeht.
Als Beispiel nehmen wir mal das "Hallo Welt"-Programm (was auch sonst
).
Nur werden wir das Programm ändern ("Hallo Welt" gibts ja schon).
Wir navigieren im Propeller-Tool nach "os1-05-06-2009-kr" und laden "hallo.spin" in das Tool

Den Text "Hallo Welt"" ändern wir in “We are the Borg. You will be assimilated. Resistance is futile.” und benennen das Programm in "borg.spin" um (Save as ...) .
Jetzt drücken wir aber NICHT "F10" oder "F11", sondern "F8".
Damit wird das Programm nur kompiliert und ein Dialog lässt uns wählen, wie wir abspeichern wollen:

Dort wählen wir jetzt "Save Binary File", ändern den Namen aber gleich von "borg.binary" auf "borg.bin".
Das File ist jetzt geschrieben worden (man kriegt da keine Meldung) und kann den Dialog schließen.
Jetzt "borg.bin" auf die SD-Karte kopieren und auf dem HIVE testen.

Ich hoffe das reicht soweit um eigenen Entwicklungen auf die Beine zu helfen.
Gruß.
Rainer
In dieser Anleitung geht es nicht um das Programmieren von Spin oder PASM, sondern nur um die Besonderheiten beim HIVE, was die "Übertragung" angeht.
Als Beispiel nehmen wir mal das "Hallo Welt"-Programm (was auch sonst

Nur werden wir das Programm ändern ("Hallo Welt" gibts ja schon).
Wir navigieren im Propeller-Tool nach "os1-05-06-2009-kr" und laden "hallo.spin" in das Tool

Den Text "Hallo Welt"" ändern wir in “We are the Borg. You will be assimilated. Resistance is futile.” und benennen das Programm in "borg.spin" um (Save as ...) .
Jetzt drücken wir aber NICHT "F10" oder "F11", sondern "F8".
Damit wird das Programm nur kompiliert und ein Dialog lässt uns wählen, wie wir abspeichern wollen:

Dort wählen wir jetzt "Save Binary File", ändern den Namen aber gleich von "borg.binary" auf "borg.bin".
Das File ist jetzt geschrieben worden (man kriegt da keine Meldung) und kann den Dialog schließen.
Jetzt "borg.bin" auf die SD-Karte kopieren und auf dem HIVE testen.

Ich hoffe das reicht soweit um eigenen Entwicklungen auf die Beine zu helfen.
Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
Re: Einstieg in die Entwicklung
Um gleich einem kleinen Stolperstein vorzubeugen: Wer den DIP-Switch nicht wie auf den Fotos, sondern wie im Schaltplan bestückt hat (also um 180° gedreht), muß natürlich die Schalterstellungen für Bellatrix und Regnatix tauschen.Rainer hat geschrieben: ...
Jetzt das Propeller-Tool starten und mit "F7" überprüfen, ob das Tool unsere Propeller findet. Dabei müssen die
Jumper auf dem HIVE folgendermaßen stehen:
1 + 4 auf ON für Regnatix
2 + 5 auf ON für Administra
3 + 6 auf ON für Bellatrix
...
Dank an Rainer für dieses kleine Tutorial, das wird dem einen oder anderen Einsteiger den Start ins HIVE-Leben sicher erleichtern

HIVEs 064 & 176
- drohne235
- Administrator
- Beiträge: 2284
- Registriert: So 24. Mai 2009, 10:35
- Wohnort: Lutherstadt Wittenberg
- Kontaktdaten:
Re: Einstieg in die Entwicklung
Das Rätsel um ios.startram...
Wer jetzt mit dem Programm "hallo.spin" oder anderen Quellen experimentiert, wird sich früher oder später zwei Fragen stellen:
"Was zum Teufel hat es mit der auskommentierten Zeile "ios.startram" auf sich?"
oder
"Warum zum Teufel bleibt der Monitor schwarz wenn ich das Programm per F10 direkt in den Speicher von Regnatix schiebe?"
Genau das ist der Punkt. Der grundlegende Code ist ja in Regnatix angesiedelt. Nun ist es bei der Entwicklung natürlich praktisch, wenn man den Code nicht erst compiliert, als BIN-datei abspeichert, auf SD-Karte kopiert und auf dem Hive startet. Schneller ginge es ja mit einem schnellen Upload direkt in den RAM per F10.
Aber was genau passiert bei einem Upload? Als erstes löst das Propeller Tool ein Reset aus und überträgt den compilieren Code in den Ram von Regnatix. Nach einem Reset aber startet der Bellatrix-Chip den Loader aus seinem EEProm, welcher auf einen Treibercode für die Grafik wartet.
Bei einem normalen Systemstart/Reset wird die Kommandozeile Regime geladen, welche wiederum als erstes jenen Treiber "vga.bin" zu Bellatrix sendet. Startet man eine BIN-Datei vom Laufwerk läuft in Bellatrix ja schon der entsprechende Treiber, aber bei einem direkten Upload wird dieser Treiber ja wieder gelöscht und der Bellatrix-Loader wartet auf eine neue Übertragung und genau aus diesem Grund bleibt der Bildschirm schwarz.
Und genau dieses Problem löst die ios-Routine "startram" indem sie einen Treiber vom Laufwerk nach Bellatrix überträgt.
Fazit: Für die Entwicklung kann man die Zeile mit der Funktion ios.startram aktivieren um einen direkten Upload per F10 durchzuführen. So ist eine schnelle Entwicklung möglich. Läuft das Programm kommentiert man diese Zeile aus und speichert den compilierten Code als BIN-Datei ab u ihn auf die SD-Karte zu kopieren.
Wer jetzt mit dem Programm "hallo.spin" oder anderen Quellen experimentiert, wird sich früher oder später zwei Fragen stellen:
"Was zum Teufel hat es mit der auskommentierten Zeile "ios.startram" auf sich?"
oder
"Warum zum Teufel bleibt der Monitor schwarz wenn ich das Programm per F10 direkt in den Speicher von Regnatix schiebe?"
Genau das ist der Punkt. Der grundlegende Code ist ja in Regnatix angesiedelt. Nun ist es bei der Entwicklung natürlich praktisch, wenn man den Code nicht erst compiliert, als BIN-datei abspeichert, auf SD-Karte kopiert und auf dem Hive startet. Schneller ginge es ja mit einem schnellen Upload direkt in den RAM per F10.
Aber was genau passiert bei einem Upload? Als erstes löst das Propeller Tool ein Reset aus und überträgt den compilieren Code in den Ram von Regnatix. Nach einem Reset aber startet der Bellatrix-Chip den Loader aus seinem EEProm, welcher auf einen Treibercode für die Grafik wartet.
Bei einem normalen Systemstart/Reset wird die Kommandozeile Regime geladen, welche wiederum als erstes jenen Treiber "vga.bin" zu Bellatrix sendet. Startet man eine BIN-Datei vom Laufwerk läuft in Bellatrix ja schon der entsprechende Treiber, aber bei einem direkten Upload wird dieser Treiber ja wieder gelöscht und der Bellatrix-Loader wartet auf eine neue Übertragung und genau aus diesem Grund bleibt der Bildschirm schwarz.
Und genau dieses Problem löst die ios-Routine "startram" indem sie einen Treiber vom Laufwerk nach Bellatrix überträgt.
Fazit: Für die Entwicklung kann man die Zeile mit der Funktion ios.startram aktivieren um einen direkten Upload per F10 durchzuführen. So ist eine schnelle Entwicklung möglich. Läuft das Programm kommentiert man diese Zeile aus und speichert den compilierten Code als BIN-Datei ab u ihn auf die SD-Karte zu kopieren.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Re: Einstieg in die Entwicklung
kann die linux version von http://www.fnarfbargle.com/bst.html zum initiellen laden benutzt werden?