Seite 1 von 1

Qt Embedded installation

Verfasst: 7. September 2009 15:49
von totolino
Salü,

nach dem ich nun seit drei Wochen versuche qt und mein embedded device LPC2478STK gemeinsam zu bespaßen, muss ich nun doch mal ein paar grundsätzliche Fragen stellen. Versuche dies mal so, das ihr nur mit ja oder nein antworten müsst. Wäre also ganz toll wenn der eine oder die andere mir helfen könnten.

Allgemein: Möchte in Suse11.0 mit Eclipse und Qt Applicationen programmieren, die dann auf dem arm-embedded target LPC2478STK mit LCD laufen sollen.

1. Auf meinen Laptop installiere ich also Eclipse und Qt-x11zur Programmierung mit IDE, oder?
2. Qt-Embedded Linux muss ich zum compilieren nicht auf dem Laptop installieren, oder?
3. Muss ich Qt-Embedded Linux auf dem target (LPC2478STK) installieren, wenn ich die Applicationen dort laufen lassen will?
4. Qt-Embeddeb installiere ich nur auf dem target, wenn ich dort auch entwickeln will, oder?
5. Kann ich mit der static lib Compilierung erreichen, das ich die Application auf dem target laufen lassen kann ohne das dort gnu oder qt installiert ist?

So bitte helft mir mal ganz schnell.

Danke euch!
:D

Verfasst: 8. September 2009 09:39
von Hulk2442
Morgen
Persönlich kenne ich das LPC2478STK nicht aber da ich mit ähnlicher Hardware arbeite gehe ich folgendermaßen vor:

Du brauchst ein lauffähiges Linux für die Hardware nicht das komplette Packet mit allen Feinheiten aber schon etwas von dem aus gebootet wird und die Treiber geladen werden.
Im Endeffekt das du in die Konsole kommst und von dort aus dann deine Programme ausführen kannst.

Zu 1: Zuerst Eclipse dann Qt-x11 und dann Qt-Embedded installieren.
Zu 2: Doch denn sonst werden die X11 Librarys genommen, du hingegen benötigst die Embedded lib's.
Zu 3: Nein musst du nicht. Du musst nur sorgen das die Embedded libs mit auf die Hardware gelangen. (die benötigten libs erhältst du mit „ldd ProgrammName“)
Zu 4: Du entwickelst und compilierst bei dir am lapi. Danach spielst dann das Programm mit den benötigten libs auf das target drauf(in deinem Fall SD-Karte glaube ich).

Wie gesagt kenne ich die Spezifikationen von „ LPC2478STK“ nicht jedoch hoffe ich dass dir das weiterhilft.

Verfasst: 8. September 2009 13:04
von totolino
Huge Thanks, Hulk,

hast mir schon mal echt geholfen, da ich bei so vielen verschiedenen Qt Programmen Versionen nicht mehr durch gesehen habe.

Ich verwende uClinux auf dem target und werde wohl wirklich alles auf eine SD-Card spielen um von dort laufen zu lassen.
Noch mal eine Frage zu Eclipse und Qt-x11 und Qt-Embedded.
1. Wenn ich ein Programm mit dazugehörigen gui usw. entwickle, compiliere ich alles mit x11 und erst wenn ich mit dem Ergebnis, welches ich im virtuellen Framebuffer sehe zufrieden bin, lass ich die ganze Sache mit Qt-Embedded compilieren. Bastel mir dann die dazugehörigen lib mit ldd appName und bring dann die Sache auf die SD-Card. Richtig?

2.Gibt es eine gute verständliche Anleitung, der die Installation von Eclipse/Qt hervor geht und vor allem die entsprechenden Settings beschrieben sind um die Complilierung für in x11 und embedded per Knopfdruck durchführen zu lassen? Oder besser alles auf der Console machen?

3.Gibt es Vorteile / Nachteile Eclipse oder den Qt-Designer zu verwenden? Oder ist das einfach gemackssache?

Danke euch im Voraus! :D

Verfasst: 9. September 2009 14:28
von Hulk2442
Morgen
Zuerst unter X11 entwickeln und dann nur mit Embedded compilieren würde ich dir nicht empfehlen.
Es kann passieren (speziell bei grafischen Darstellungen oder Zugriff auf die Hardware) das dann die eine oder andere Prozedur nicht funktioniert oder zumindest nicht so wie sie sollte.

Du kannst auch die compilierten Emdedded Programme bei dir am Lapi ausführen das einzige was du machen musst ist zuvor eine virtuellen Framebuffer generieren in welchem das Programm laufen soll (bzw. direkt von der Konsole aus starten = STRG + ALT + F1 musst dann halt immer hin und her schalten).
Um das zu erreichen gibt es in dem Embedded Paket das Tool "qvfb" welches dir genau diesen Framebuffer zur Verfügung stellt.

Zuerst startest du diesen und danach startest du dein mit Embedded compiliertes Programm und gibst als letzten Parameter "-qws" mit.

Beispiel

Code: Alles auswählen

//Terminal 1
./pfad zum qvfb/qvfb -width 640 -height 480

//Terminal 2
programname -qws
Bei Eclipse kann ich dir leider nicht behilflich sein da ich es nicht benutze.
Hatte damit immer wieder Probleme wenn ein komplettes Projekt von einem Rechner auf den anderen übertragen wurde (bzw. neu aufsetzen) und die Pfade von einander etwas abwichen.

Persönlich benutze ich "kate" und der Rest geht über die Konsole.

Genau das gleich mit dem Designer – für mich ist er „nice to have“ um schnell etwas auszuprobieren oder etwas zu testen wie es im Endeffekt aussehen sollte
Es wird jedoch selbst aus programmiert.
Ich finde das persönlich besser weil du aus dem code gleich erkennst was genau verwendet wird sowie wo und auf welche weise es eingesetzt wird.

Andererseits muss ich gestehen das meine Programme immer sehr dynamisch sind und aus Performance gründen immer zur Laufzeit nur das gerade erzeugt wird was wirklich angezeigt wird. Diese Dynamik kann ich mit dem Designer nicht lösen.

Was die benötigten lib's angeht musst du dir nur diese nur auf die SD-Karte zusammen kopieren - ldd zeigt dir an welche benötigt werden.
Wenn du dann "ldd" auf dem target ausführst(sofern es installiert ist) siehst du z.B.: welch lib's gefunden wurden und welche noch fehlen.

Mit freundlichen Grüßen