Forum: Mikrocontroller und Digitale Elektronik System-on-Module mit PXA270 (Gumstix) - Projektidee


von Jens (Gast)


Lesenswert?

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_Page
http://docwiki.gumstix.org/Verdex
http://www.pabr.org/pxarc/1.2/doc/pxarc.en.html
http://www.davehylands.com/gumstix-wiki/
http://www.pegasushabproject.org.uk/
http://sourceforge.net/projects/gumstix
http://aloriel.no-ip.org/uploads/2006/06/2006-06-20_Gumstix_how-to.pdf

von Peter D. (peda)


Lesenswert?

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

von Jens (Gast)


Lesenswert?

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

von Εrnst B. (ernst)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

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

von Jens (Gast)


Lesenswert?

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

von Peter D. (peda)


Lesenswert?

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

von Oliver K. (ozel-)


Lesenswert?

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...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.