mikrocontroller.net

Forum: PC-Programmierung Raspberry Pi 3B+, Programmieren, Qt, Debuggen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: sven (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hallo,
habe mir einen Raspberry Pi 3B+ mit Display gekauft und möchte dafür 
eigene Programme mit Qt entwickeln und debuggen. Betriebssystem am PC 
ist Windows 10. Den Pi habe ich mit NOOBS Installer, welcher wohl das 
Image „RASPBIAN STRETCH WITH DESKTOP“ auf der SD Karte installiert hat, 
zum „laufen“ gebracht. Über „putty“ kann ich eine Remote Verbindung 
aufbauen.
Nun möchte ich Applikationen mit Qt Programme für den Raspberry 
schreiben.
Auf dem PC habe ich Qt Creator 4.6.1 based on Qt 5.10.1 installiert und 
kann Applikationen für Android oder Win10 schreiben, debuggen also Spaß 
haben. Das möchte ich nun entsprechend für den Pi einrichten und hier 
scheitert es gerade.
Meine erste Frage ist, ob das mit der Open Source Qt Version überhaupt 
möglich ist?
Bei der Kommerziellen Qt Version kann man beim Installieren scheinbar 
entsprechende Settings zusammenklicken, welche bei der open source 
Version nicht angeboten werden, aber eventuell manuell eingerichtet 
werden können. Das weiß ich eben nicht.
Soweit eine kurze Erläuterung damit ihr in einschätzen könnt wo ich in 
etwa erfahrungstechnisch mit dem „#+‘%$&+ depri   Zeugs“ stehe.
Gibt es eine Möglichkeit den Qt Creator mit der open source Version für 
mein Vorhaben zu nutzen.
Im Qt Creator unter Tools/Options/Devices/Add/Generic Linux Device/Start 
Wizard kann ich z.B. keine Einstellung vornehmen, die mir erlaubt in den 
nächsten Step zu gehen. Der „Next“ Button ist permanent ausgegraut. Mein 
Fehler oder geht das nicht?

Autor: sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bin etwas weiter gekommen .... habe auch diese Website gefunden, nur 
heute Abend keine Zeit mehr, das durchzuführen.

Werde mal die Tage sehen, ob ich damit zurechtkomme. Scheint eine 
brauchbare Anleitung zu sein.


https://scribles.net/qt-creator-cross-compiling-environment-for-raspbian-stretch-using-qtrpi/

Auch gut.
https://www.youtube.com/playlist?list=PLFsidzAJDEbBr3l0BNMDcDQlUM04GRlf2

Wo genau bekomme ich gdb-multiarch für Win10 her? Wird wohl zum Debuggen 
benötigt.

Autor: Sven B. (scummos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, muss man wirklich als Anfänger mit gdb-multiarch von Windows 10 x86 
eine arm-Anwendung unter Linux remote-debuggen? Gibts da keinen 
einfacheren Einstieg? Nimm halt den gdb auf dem Pi oder so ...

Generell klingt für mich das Setup für "keine Erfahrung" relativ 
komplex, ich würde mir erstmal was simpleres suchen (i.e. nicht 
cross-platform und cross-arch), um Frust beim Einstieg zu vermeiden.

Autor: Tom (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Mit Qt Creator, gcc und gdb direkt auf dem Himbeergerät zu arbeiten wäre 
für den Anfang einfacher.

Autor: sven (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Will auf dem Gebiet ja nicht Anfänger bleiben.
Als ungebranntes Kind auf dem Gebiet erkennt man die beschriebene Mühsal 
nicht einmal.

Ist beides eine Setting / Einrichtungssache. Ohne gute Anleitung ist 
beides zum Scheitern verurteilt. Mit guter Anleitung vermutlich beides 
ein Kinderspiel.

Um Erfahrung zu sammeln würde ich sogar beide Wege gehen wollen und mich 
dann für den für mich optimaleren entscheiden.

Aber dazu braucht es Anleitung. Mal sehen, was ich im www finde.
Ansonsten freue ich mich über entsprechende Links zu diesen Anleitungen.

Der einfachere Weg ist vermutlich installieren des Qt Creators auf dem 
Raspberry Pi und dort compillieren und debuggen.

Autor: Sven B. (scummos)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Meines Erachtens lernt man beim Einrichten eines (Cross)compilers unter 
Windows so ziemlich gar nichts, außer dass es sehr mühsam ist und man es 
lieber nicht nochmal machen will. Das ganze "Wissen" besteht immer 
darin, in welchem Dialog von welchem Installer den man wo runterlädt man 
welche Checkbox setzen muss damit es geht -- ziemlich nutzlos.

Autor: sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich will ja nicht mein Leben lang Cross Compiler einrichten.
Eine gute Anleitung für Windows für mein Vorhaben und gut ist.
Ich will in Qt für den Raspberry Pi Progrämmchen schreiben, Kompilieren 
und debuggen können.
Einrichten von Entwicklungsumgebungen ist eher nervig.

Aber ich sehe schon, für Windows ist da nicht wirklich viel im www zu 
finden.
Zumindest bis jetzt gescheitert.
Suche gerade gdb-multiarch für Windows. Sofern es das dafür überhaupt 
gibt.
Für Linux habe ich es gleich gefunden.


Daher meine Überlegung:

Ich installiere mir in einer Virtual Machine Ubuntu ... oder welche 
Linux Distribution am besten???
Dann auf diese Plattform Qt und den Rest bekomme ich gut über die weiter 
oben verlinkten Seiten hin.

Eine Möglichkeit wäre das vermutlich.

Aber ..... gibt es da einen beschriebenen Weg für Windows.
Ohne Beschreibung, bekäme ich das auch nicht für Linux hin.

Autor: WSL (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sven schrieb:
> Ich installiere mir in einer Virtual Machine Ubuntu

du kannst vielleicht auch die virtuelle Maschine Weglassen, und direkt 
Ubuntu-Binaries unter Windows ausführen:

https://heise.de/-4006641

sozusagen inverses WINE.

Autor: Sven B. (scummos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
WSL schrieb:
> sven schrieb:
>> Ich installiere mir in einer Virtual Machine Ubuntu
>
> du kannst vielleicht auch die virtuelle Maschine Weglassen, und direkt
> Ubuntu-Binaries unter Windows ausführen:
>
> https://heise.de/-4006641
>
> sozusagen inverses WINE.

Wenn du dadrin QtCreator und arm-gdb starten kannst, fress ich 'nen 
Besen ...

Autor: sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sven B.

Du lässt durchscheinen dass du da schon mehr möglicherweise leidvolle 
Erfahrung gemacht hast.

Was ist denn dein neutraler Ratschlag.
Gibt es einen beschriebenen Weg im www wie das unter Win10 zu machen 
ist? Ein Link.....

Oder gleich auf virtuelle Maschine und Linux gehen.

In ein kompiliertes binary Qt reinzubekommen meinte
WSL nicht, denke ich.

Aber ich muss dem Qt auf win10 sagen, wo
GDB-multiarch zu finden ist .... und da habe ich nichts für win gefunden 
nur für Linux.

Ist halt gerade mühselig da ich nichtmal weiß ob dieser weg über win 
überhaupt machbar ist.

Autor: Sven B. (scummos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine ganz persönliche, subjektive Erfahrung ist folgende (die bezieht 
sich aber vorrangig auf Entwickeln von Desktop-Anwendungen):

Entwickeln unter Windows ist generell ziemlich mühsehlig, außer 
vielleicht man hat $IDE für genau die Plattform die man benutzen möchte 
und kommt mit der gut zurecht. Unter Linux hat man sich viel schneller 
was zusammgensteckt.

Die GNU Toolchain unter Windows ist auch ziemlich meh. Wenn ich unter 
Windows C/C++ mache, nehme ich den MS-Compiler mit zugehörigem Debugger 
(funktioniert auch mit QtCreator).

Die GNU Toolchain ist generell ziemlich meh wrt Cross-Platform. Bis 
man sich so einen Cross-gcc kompiliert hat, ist man halb tot -- das 
Build-System ist fürchterlich und voller Bugs diesbezüglich. Für 
baremetal geht es noch so halbwegs, aber sobald man die glibc-ABI 
braucht ist es ein unglaubliches Leid. Hier ist man mit llvm/clang 
deutlich besser dran, außer man will halt Linux kompilieren, das geht 
damit nicht (willst du ja aber nicht).

Was für dich funktioniert hängt halt von deinen Vorlieben und 
Vorerfahrungen ab. Ich denke aber, dein Vorhaben ist erheblich leichter 
umzusetzen, wenn du es einfach unter Linux machst.

: Bearbeitet durch User
Autor: M. W. (elektrowagi78) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wäre auch daran interessiert, mich in der Richtung zu vertiefen.

Was wäre denn Deiner Erfahtung nach der einfachste Weg für einen 
Anfänger, für einen RASPI eine Linux Programm hinzubekommen, dass ein 
bischen serielle Schnittstelle bedienen kann, also Daten aus einem 
RAM/Flash laden und sie abschicken?

Ich hätte gerne eine GUI mit Knöpchen und Reglern, die auch komplett auf 
dem RASPI läuft. RASPIAN Strech wäre jetzt auch meine Wahl gewesen.

Autor: Sven B. (scummos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vermutlich einen Bildschirm an das Pi hängen und dort QtCreator 
installieren und starten. Das ist viel einfacher als die ganzen 
Cross-Compiler-Lösungen, hat halt den Nachteil, dass man mit der 
gurkigen CPU kompilieren muss (dauert lange). Aber für den Anfang ist 
das vermutlich ok.

Autor: Xfce (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder man nimmt python und muss nix compilieren.
Youtube-Video "Getting Started with PyQt5 on Raspberry Pi"

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe auf meinem PC Windows und eine virtuelle Linux Maschine. Auf 
beiden Systemen ist Qt installiert. Für den RPi programmiere ich in der 
VM. Im QtCreator muss angegeben werde in welchem Verzeichnis auf dem RPi 
dein Programm landen soll. Auf das Verzeichnis müssen die entsprechenden 
Rechte vorhanden sein. Am besten unterhalb deines /home/pi 
Verzeichnises.

Ich habe mir den Crosscompiler und die Toolchain selbst kompiliert. 
Dafür gingen schon einige Stunden drauf aber ich habe auch viel gelernt 
dadurch.

Autor: 900ss D. (900ss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nutze zum Entwickeln für RPi das hier:

http://gnutoolchains.com/raspberry/

Funktioniert in Verbindung mit Eclipse 
(Projektverwaltung/editieren/debuggen) recht gut.

Edit: Windows 8.1 auf dem Entwicklungsrechner

: Bearbeitet durch User
Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
900ss D. schrieb:
> Funktioniert in Verbindung mit Eclipse

Mit welchem Framework machst du eine GUI?

Autor: 900ss D. (900ss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nutze keine GUIs auf dem RPi. Hab nur Consolen-SW gemacht.

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.