Hallo Zusammen,
seit kurzem spiele ich mit dem Parallax Propeller Prozessor ( 8 Core x 3
Bit, 160 Mips ).
Der Prozessor hat einige nette Features wie VGA Ansteuerung. Leider ist
er für C eher nicht so geeignet, deshalb hier meiner Lösung:
http://www.hobby-roboter.de/forum/viewtopic.php?f=5&t=72
Ein Aufsatz für ein Atmega168 Arduino Board. Der Atmega168 steuert den
Propeller quasi als Coprozessor.
Wie findet Ihr's
zefro
Der Propeller hat ein paar nette und ein paar weniger nette
Eigenschaften. Zu den weniger netten gehört eine Architektur, die sich
effizienter C-Programmierung beharrlich widersetzt.
Ein Lösung, die den Propeller nur für Spezialaufgaben einsetzt, ist da
keineswegs abwegig. Zumal der offiziell vorgesehene Weg der
Propeller-Programmierung den weniger zeitkritischen Teil in einem nicht
grad schnellen Spin-Interpreter abwickelt. Und der ist dann auch nicht
schneller als der AVR.
Hi
>Zu den weniger netten gehört eine Architektur, die sich effizienter
C->Programmierung beharrlich widersetzt.
Macht ihn eigentlich sympatisch. Wäre aber auch mal ein Grund
eingefahrene Gleise zu verlassen.
MfG Spess
Siehe www.parallax.com.
Das "VGA-Interface" im Propeller besteht aus wenig mehr als einem
einfachen Schieberegister. Den Rest machen Software und extern aus ein
paar Widerständen aufgebaute D/A-Wandler.
spess53 wrote:
> Macht ihn eigentlich sympatisch.
Freu dich nicht zu früh. Die vorgesehene Programmierung vom Propeller
ist ein Mix aus Assembler und einem Interpreter für die sehr simpel
gestrickte eher archaisch wirkende Sprache "Spin". Modern ist da nur die
Hardware.
Und jede Alternative hat das gleiche Problem: Der dezentrale Speicher
für Code und Register (ja, dar Code steht gewissermassen in den
Registern) ist für grössere Programme zu klein und der zentrale grössere
Speicher ist ein langsamer reiner Datenspeicher. Ausführung von
grösseren Stücken Code ist also nur über eine mindestens minimale Art
Interpreter möglich. Man programmiert unvermeidlich auf 2 Ebenen.
Beim Propellurinoprojekt möchte ich den Propeller eigentlich nur als
Co-Prozessor verwenden. Es gibt mittlerweile einige ( bei Spin sog.
Objekte--> Programmteile ) die frei verfügbar sind und einfach
zusammkopiert werden können. Da sind z.B. VGA-Treiber, serielle
Schnittstellen, Maus/Tastatur Treiber. Ausserdem gibt es einige
Musiksynthesizer, sowie ein 4 Kanal Raumklangmodul, was mit bei der
Verwendung des Arduinos sehr entgegen kommt.
Ich würde gerne ein paar PCBs machen lassen, falls es hier jemanden
gibt, der gerne eines hätte.
Hi
>Freu dich nicht zu früh. Die vorgesehene Programmierung vom Propeller
Als notorischer Assemblerprogrammierer war meine Aussage bewusst
provokativ gemeint. Ich kann schon verstehen, das es frustrierend ist,
wenn anscheinend bewährte Konzepte plötzlich nicht mehr so richtig
greifen. Allerdings kommt mir diese Lösung, um einen Vergleich zu
bemühen, so vor, als wenn jemand zu doof ist einen Mercedes zu fahren,
und um aber dessen Annehmlichkeiten trotzdem zu geniessen, sich von
einem 2er Golf schleppen lässt.
MfG Spess
spess53 wrote:
> Als notorischer Assemblerprogrammierer war meine Aussage bewusst> provokativ gemeint.
Die Provokation ist mir nicht entgangen. Wie ich deutlich machte stossen
nicht nur C-Programmierer da an Grenzen.
Auch als Assembler-Spezi wirst du damit keine rechte Freude haben. Denn
meines Wissens kannst du den auch nicht vollständig in Assembler
programmieren, denn das Hauptprogramm steht nun einmal als Bytecode
(oder sowas ähnlichem) im nicht ausführbaren Datenspeicher. Und die in
Assembler formulierbaren Prozesse dürfen jeweils nicht grösser sein als
400-500 Befehle.
Hi
>Auch als Assembler-Spezi wirst du damit keine rechte Freude haben.
Ich habe mich schon vor einiger Zeit mal mit dem Teil beschäftigt und
finde es ganz interessant. Die etwas ulkige Programmierung ist mir
durchaus nicht entgangen. Bisher hatte allerdings noch keinen
Anwendungsbedarf.
MfG Spess
>Allerdings kommt mir diese Lösung, um einen Vergleich zu>bemühen, so vor, als wenn jemand zu doof ist einen Mercedes zu fahren,>und um aber dessen Annehmlichkeiten trotzdem zu geniessen, sich von>einem 2er Golf schleppen lässt.
Da fällt mir ein schöner Spruch eines bekannten ein, der zu Deiner
Aussage gut passen könnte: Dumm sein darfst Du, aber nicht blööd;-)
Dem ein oder anderen, der sich mit aktuellen Techniktrends
auseinandersetzt, mag aufgefallen sein, dass die Wertschöpfung in den
heutigen Produkten vorwiegend von der Software bestimmt ist und weniger
von der Hardware. Also präzisser: In die Software wird heutzutage
deutlich mehr Aufwand ( Entwicklungskosten ) investiert als in die
Hardware. Und unter diesem Gesichtspunkt macht es also durchaus einen
Sinn, die große Codebasis der Arduino Umgebung, bzw. der AVR-Prozessoren
mit der Leistungsfähigkeit eines Propellers zu verbinden.
Bester Gruß,
befro.
>Ich hätte nicht gedacht das man aus dem>Propeller solche Effekte rauskriegt. Die Halle hat auch gut getobt als>das lief. ;)
Ja, der Linus ist schon phänomenal. Allerdings fand ich sein letztes
Demo, bei dem auf dem Atmega88 Sound und Video lief, noch viel
beeindruckender. Im Gegensatz zum Propeller ist der Atmega88 ja
überhaupt nicht für eine VGA Ausgabe vorgesehen.
>Ein deutlich besseres Video gibt es übrigens hier:>http://breakpoint.untergrund.net/download.php?dir=...
Nicht schlecht. Glücklicherweise lief der Code schon gleich auf Anhieb
auf meinem "Propellurino" und ich konnte es mir direkt auf dem Monitor
anschauen.
Zitat: "Also mal ehrlich, das ist doch wohl ein ziemlich bescheuerte
Idee, einen 32 Bit Prozessor mit einem 8 Bit Prozessor steuern zu
wollen.".
Diese Aussage ist nur ein Zeichen für die Intoleranz des Lesers
gegenüber den Ideen anderer. Scheuklappenmentalität.