www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik X11 Embedded Server auf 32UC3A


Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich möchte gerne ein AVR32-basiertes System (am Anfang habe ich ein 
EVK1100 mit 32UC3A) zur Darstellung meiner Desktop-Oberfläche benutzen. 
Dabei soll das eigentliche Programm auf einem per Ethernet verbundenen 
Client laufen.

Spontan fallen mir zwei mehr oder minder "standardkonforme" (im Sinne 
von kompatibel mit existierenden Clients) Lösungen ein:

- uClinux und dann versuchen X11 Server läuffähig zu bekommen
- Das X11 Protokoll direkt zu implementieren

Letzteres ist sicher schneller und ressourcensparender, aber 
wahrscheinlich auch aufwendiger?

Hat jemand Tipps oder ist jemanden bekannt das sowas schon mal gemacht 
wurde?

Danke!

Gruß
Jan

Autor: Marius Wensing (mw1987)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Viel Spaß, wenn du die µCLinux-Variante nimmst.

Auf den UC3*-µCs läuft Linux nämlich nicht. Und es schaut im Moment 
nicht danach aus, dass sich das in nächster Zukunft ändert.

Deshalb empfehle ich dir, dass X11 Protokoll direkt zu implementieren. 
Ist wahrscheinlich insgesamt einfacher. Denn selbst wenn du Linux ans 
Laufen bringst, ist es noch nicht sicher, dass du dann auch den XServer 
aufsetzen kannst. Von daher lieber den direkteren Weg nehmen.

MfG
Marius

Autor: aha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der poster moechte einen X11 kompatiblen Grafikdisplay bauen ? Wow. Das 
beinhaltet zuerst mal die Ansteuerung eines Displays auf pixelebene. Das 
VGA(XGA..) Signal selbst erzeugen ? Mit Framebuffer usw. Dann kommen 
dann noch ein Paar library routinen oben drauf. Oder einen Grafik chip 
ansteuern ? Dann muss man die Informationen zusammentragen. X11 
bedeutet, dass es ein Vektordisplay ist, der auf dem display selbst 
rastert. Und Kommunikation...

Viel glueck.

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den hilfreichen (Marius) und den weniger hilfreichen Post.

Generell gehe ich davon aus dass die Ansteuerung z.B. eines "PSP 
Displays" wie hier schon an der ein oder anderen Stelle gezeigt aus dem 
Framebuffer mit akzeptablem Aufwand möglich ist. Da waren ja einige 
schon sehr erfolgreich.

Mich würde interessieren ob jemand evtl. Erfahrung damit hat, einen auf 
dem Linux-Kernel aufsetzenden Code in ein Standalone-uC Programm zu 
wandeln? Dann müsste man nicht X11 neu implementieren sondern "nur" die 
entsprechenden Systemaufrufe emulieren/bereitstellen. Alles mal aufs 
Blaue hin gefragt - ich versuche lediglich den besten Startpunkt zu 
finden.

Gruß
Jan

Autor: Marius Wensing (mw1987)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also das mit dem PSP-Display kenne ich bisher nur vom AT32AP7000. Das 
ist der AVR32-Controller, auf dem auch Linux lauffähig ist. Dieser hat 
einen integrierten LCD-Controller, der die Ansteuerung des LCDs 
übernimmt.

Soweit ich das jetzt im Datenblatt des AT32UC3A gelesen habe, hat dieser 
keinen LCD-Controller. Das heißt, du müsstest die Ansteuerung komplett 
in Software machen.

Die Anpassung des Linux-Kernels auf den UC3A halte ich persönlich auch 
für ein sehr umfangreiches Projekt, was auch nicht ganz trivial ist 
(sonst hätte es bestimmt schon jemand gemacht).
Wenn du dich dafür interessierst, dann solltest du dir die Sourcen des 
Linux-Kernels mal ansehen. Besonders die Dateien für den AVR32 (AP7000) 
im arch-Verzeichnis.

MfG
Marius

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du solltest vielleicht auch in Erwägung ziehen, statt dem X11-Protokoll 
etwas einfacheres zu implementieren, VNC bietet sich da an.

Damit sparst du dir auf Display-Seite z.B. das ganze Font-Handling 
(truetype etc), und das Protokoll ist recht kompakt und sollte leicht zu 
implementieren sein.
Und vorhandene X11-Applikationen laufen trotzdem, dann halt über einen 
VNC-X11 Server.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soweit ich weiß, kann man den Linux Kernel nicht auf die UC3's 
portieren, die diese unter anderem keine MPU (Memory Protection Unit) 
haben.

Autor: Marius Wensing (mw1987)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann schon (siehe µCLinux), es hat nur bisher niemand gemacht.

Der Linux-Kernel hat nen Config-Flag, welches die MMU-Benutzung aus- 
oder einschaltet.

Allerdings müsste der komplette Hardwarespezifische Code überarbeitet 
und angepasst werden. Das zu tun ist viel Arbeit.

MfG
Marius

Autor: Michael B. (bubi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der Mailinglist war erst am 20. Dez die Frage auch aufgetaucht, 
leider finde ich die Antwort nichtmehr, deshalb nur soviel:
Ein Uniteam ist dran, aktueller Stand ist, das es einen Hardwarebug im 
Controller (glaub im Speicherinterface fürs Ram) gibt, was im Moment die 
Entwicklung bremst. Trotz alledem soll nach den Weinachtferien ein 
erster bootfähiger Kernel verfügbar sein. Was allerdings nicht heißt das 
er verwendbar ist ;)

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VNC ist einfacher, schneller, ressourcenschonender, vielseitiger und 
zuverlässiger als X11, egal mit oder ohne Linux.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.