Hallo,
ich beschäftige mich seit geraumer Zeit mit dem Thema SoM/SoC, da mich
das sehr reizt (insbesondere ARM-Architektur in Verbindung mit Linux),
und einige Ideen hätte, was man mit dieser Plattform anstellen kann.
Primäres Ziel ist, eine Linux-Distribution zu erstellen, die auf einem
Gumstix-verdex-Board (mit XScale PXA270) einsetzbar ist, ggf. ergänzt um
zusätzliche Tools und Treiber.
Anfänglich läuft es wahrscheinlich auf ein Herumexperimentieren heraus,
aber es soll schon zielgerichtet sein, so dass man im Ergebnis etwas
sinnvolles damit anfangen kann (sei es nun Haus-/Fahrzeugautomatisierung
oder anderes), ohne jedes Mal das Rad neu erfinden zu müssen.
Da ich beruflich entfernt mit dem PXA270 zu tun habe, ist ein gewisses
Know-How vorhanden. Leider sind die Trizeps-Module von Keith & Koep (so
wie die meisten anderen XScale-/PXAxxx-Module) für Privatleute nicht zu
bekommen, lediglich Gumstix bietet da mit den verdex-Boards etwas. Unter
dem Gesichtspunkt ist für mich der Preis auch eher sekundär, und selbst
entworfene Hardware ist an dieser Stelle einfach nicht realistisch.
Ich würde gern wissen, ob Interesse oder Bedarf besteht, diese Module
für die Allgemeinheit nutzbar zumachen. Sie sind es zwar bereits
out-of-the-box, aber mir schwebt ein (gepatchter)
2.6er-Standard-Linux-Kernel vor, ergänzt um eine extrem abgespeckte
Debian-Distribution (mit Bin-Utils, Entwicklungswerkzeugen, auch ein
X-Server wäre denkbar). Beides bringt ARM-Unterstützung und damit beste
Voraussetzungen mit. Eine Idee ist, das komplette System (außer den
Bootloader) auf CF-Disk/SD-Card unterzubringen, da es so einfacher
handzuhaben ist und (fast) keinen Beschränkungen unterliegt.
Den Vorteil in dieser Kombination sehe ich darin, dass die PXA270
einerseits sehr verbreitet sind (und auch schon erfolgreich in
Hobbyprojekten eingesetzt wurden), und dann zusammen mit einem
Standard-Linux andererseits für viele interessant wird. Ich bin mir
sicher, dass man auf diesem "geschnürten Paket" hervorragend aufbauen
kann, zumal einem die ganze Linux-/GNU-/OSS-Welt offensteht.
Das Vorhaben könnte man natürlich im stillen Kämmerlein realisieren,
schöner wäre es aber, wenn das ein kleines Community-Projekt würde (mit
Leuten aus dem Linux- und Mikrocontroller-Bereich). Ich könnte mir
vorstellen, dass da ganz brauchbare Dinge herauskommen. Einige
Ressourcen existieren bereits, aber das kann man bestimmt noch ausbauen
und kanalisieren.
Ich habe nicht die Illusion, dass sich da innerhalb kürzester Zeit etwas
Verwertbares ergibt. Aber vielleicht kann man ja Leute lose
zusammenbringen (via eines Forums, Wiki, o.ä.), so dass eine gewisse
Eigendynamik und ggf. auch neue Projekte entstehen.
In dem Zusammenhang könnte man natürlich eine Sammelbestellung bei
Gumstix machen, allerdings bringt das preislich (bis auf die
Versandkosten) keinen Rabatt. Hauptaugenmerk soll auf der gemeinsamen
Entwicklung liegen.
Was haltet Ihr von der Idee? Gibt es jemanden, den ein solches Projekt
reizen würde? Ich bin auf Anregungen und Kritik gespannt!
Gruß
Jens
P.S.:
Ich wollte keinen der bestehenden Threads hijacken, daher an dieser
Stelle noch Links zu verwandten Themen:
Beitrag "Hausautomatisierung mit Embedded Linux"Beitrag "PXA270 Mikroprozessorboard"Beitrag "XScale Pentium-M Schaltungsdesign / Projektmitarbeit"
Außerdem noch ein paar Ressourcen:
http://gumstix.com/http://docwiki.gumstix.org/Main_Pagehttp://docwiki.gumstix.org/Verdexhttp://www.pabr.org/pxarc/1.2/doc/pxarc.en.htmlhttp://www.davehylands.com/gumstix-wiki/http://www.pegasushabproject.org.uk/http://sourceforge.net/projects/gumstixhttp://aloriel.no-ip.org/uploads/2006/06/2006-06-20_Gumstix_how-to.pdf
Jens wrote:
> ich beschäftige mich seit geraumer Zeit mit dem Thema SoM/SoC, da mich> das sehr reizt (insbesondere ARM-Architektur in Verbindung mit Linux),> und einige Ideen hätte, was man mit dieser Plattform anstellen kann.
Das würde mich mal näher interessieren.
Das Ziel kann ja nicht sein, Du willst Linux laufen lassen, sondern Du
willst ne Anwendung programmieren, die unbedingt Linux benötigt.
Also was willst Du dann mit dem Linux alles anstellen?
Ich entwickele meine Anwendungen immer problemorientiert und nicht
danach, was da intern drin abläuft (Linux), das ist dem Benutzer nämlich
vollkommen schnurz.
Peter
GNU/Linux ist ein freies Betriebssystem. Also durchaus nützlich für
alles, was man auf oder mit einem Computer tun möchte.
Ich weiß, dass es auf dieser Architektur läuft, es existieren Treiber
für die Gumstix-Hardware, es eignet sich für jegliche Art von
Entwicklung (da OSS). Welche Anwendung soll denn da nicht drauf laufen
können?
Von daher ist die Wahl doch eine naheliegende. Oder ich verstehe die
Frage nicht.
Jens
Bevor du dir zuviel Arbeit machst:
openembedded(http://www.openembedded.org/) unterstützt die gumsticks als
Zielplattform,
http://www.openembedded.org/filebrowser/org.openembedded.dev/conf/machine
Da hast du dann ein komplettes cross-compile environment für die
Gumsticks (auch leicht über ein Config-File an verschiedene
Hardwareversionen anpassbar)
Dann schnappst du dir eine auf OE aufbauende Linux-Distribution, z.B.
http://www.angstrom-distribution.org/
Die entsprechend Kompilieren lassen, fertig.
Da sind dann auch gleich passende Startscripts etc dabei, ist dafür
vorbereitet mit wenig/keinen Schreibzugriffen auf den Flash-Speicher
auszukommen. Und du hast gleich einen gigantischen Satz an Applikationen
die bereits wenn nötig gepatched und für den µC-Einsatz vorbereitet
sind.
Üblicherweise nur kompilieren lassen und mit ipkg einspielen, fertig.
Ach ja, und für diejenigen die auf den Grasshopper warten, OE gibts auch
für den AVR32 / STK1000. Sollte sich auch leicht an den Grasshopper
anpassen lassen.
Jens wrote:
> GNU/Linux ist ein freies Betriebssystem. Also durchaus nützlich für> alles, was man auf oder mit einem Computer tun möchte.
Nen Computer habe ich bereits (sitze gerade davor), brauche daher keinen
selber zu bauen und der würde auch nicht annähernd die
Leistungsfähigkeit eines gekauften erreichen.
> Welche Anwendung soll denn da nicht drauf laufen> können?
Das war ja gerade meine Frage, welche Anwendungen Du Dir dafür konkret
vorstellst.
Mikrokontroller setze ich da ein, wo ein großer Computer mit Bildschirm,
Tastatur, Festplatte und allen Gedöns zu umständlich und teuer ist.
Auch in der Firma haben wir nirgends MCs, wo Linux oder irgendein OS
drauf läuft.
Die ganze Fernsteuerung der Geräte und Anlagen erfolgt dann über CAN,
Ethernet oder USB von nem handelsüblichen Windows-PC.
Peter
Ok, jetzt verstehe ich. Ich hatte da verschiedene Anwendungsfälle im
Sinn, insbesondere die anfangs erwähnten. Z.B. als Embedded-Server zur
Hausautomatisierung, als Router-/MP3-/Video-Player, oder einfach als
Entwicklungsplattform für Embedded-Systeme. Letzteres finde ich ziemlich
spannend. Ich arbeite im Automobil-Umfeld, da werden diese Art von
Systemen beispielsweise für Fahrerassistenz, Fzg-Diagnose usw.
eingesetzt.
Daher meine Idee, im ersten Schritt das vorinstallierte OpenEmbedded
durch einen Standard-Kernel und eine Distribution mit Paketverwaltung zu
ersetzen, um ein einfach handzuhabendes System zu haben. Gleichzeitig
würde das schon einen netten Lerneffekt mitbringen.
Es geht mir anfangs nicht um den konkreten Anwendungsfall, eher darum,
mit dem System zu experimentieren. Die meisten flanschen auch erstmal
ein LCD an ihren AVR an -- nicht, weil es das Projekt schlechthin ist,
sondern weil man damit das System kennenlernt, und man ein
funktionierendes LCD später immer brauchen kann.
Ich arbeite jeden Tag mit den Teilen, und hatte die Vorstellung, andere
könnten das auch spannend finden. Daher die Bestrebung, das ganze
hobbytauglich zu machen. Ist ja nicht schlimm, wenn der Bedarf nicht da
ist. Evtl. spricht sowas auch eher die Linux-Community als die
Elektronikbastler an. Ich werde das auf jeden Fall (aus eigenem
Interesse) weiterverfolgen.
Jens
Jens wrote:
> Ich arbeite im Automobil-Umfeld, da werden diese Art von> Systemen beispielsweise für Fahrerassistenz, Fzg-Diagnose usw.> eingesetzt.
Das ist bestimmt aufgrund der hohen Stückzahlen eine schöne Spielwiese
für Speziallösungen.
> Es geht mir anfangs nicht um den konkreten Anwendungsfall, eher darum,> mit dem System zu experimentieren.
Das hatte ich schon vermutet.
Es wird also noch ein langer steiniger Weg zu einer konkreten Anwendung
sein.
> Die meisten flanschen auch erstmal> ein LCD an ihren AVR an -- nicht, weil es das Projekt schlechthin ist,> sondern weil man damit das System kennenlernt, und man ein> funktionierendes LCD später immer brauchen kann.
Da dürfte der Weg zu einer konkreten Nutzung aber weitaus kürzer sein
und auch der Aufwand viel geringer, als für ein Linux.
> Ist ja nicht schlimm, wenn der Bedarf nicht da> ist.
Kann man so nicht sagen. Ein nacktes Linux ohne eine Anwendung hat aber
warscheinlich keinen hohen Reiz.
> Evtl. spricht sowas auch eher die Linux-Community als die> Elektronikbastler an.
Ich denke auch, daß es mehr die beruflichen Softwareentwickler, als die
Bastler anspricht. Die Bastler wollen lieber LEDs blinken und Motoren
drehen sehen.
Peter
Hi Jens!
Ich find das super - bin dabei!
Ich würde gerne etwas in Richtung wie Ardunio.cc machen. Aber eben mit
mehr Mhz und Hardware Features. Am liebsten per Scriptsprache
programmierbar. Auf jedenfall mit eienr schönen API und am besten plus
dazugehörige (open soruce) IDE...