Hallo Forum, hat jemand schon Erfahrung damit, was ich genau beim Qt Creator einstellen muss, um den mit meinem J-Link zu benutzen. Und vor allem was ich wo einstellen muss um mit dem Qt-Creator Code für die ARM Cortex-M hinzubekommen? Sollte doch gehen? Warum ich das ganze mache? -> Ich bin mittlerweile von Windows (Keil/Coocox) auf Linux (Fedora 20) umgestiegen. Hier würde ich gerne nicht unmengen verschiedener IDE's benutzen, sondern möglichst alles mit Qt machen. Habe mittlerweile das Segger Linux Package und das arm-none-eabi von Fedora installiert. Qt natürlich auch. Qt funktioniert für die Desktop Programmierung schon. Aber wie bekomme ich es nun für die ARM Cortex ans laufen? Perfekt wäre es wenn ich die Makefiles,Libaries von Coocox benutzen könnte. Achja es geht hauptsächlich um die STM32 und um ein paar Luminary Micro. Cortex M0-M4F. Für meine 8-Bit Pics benutze ich MPLAB das läuft schönerweise sofort unter Linux, genauso wie unter Windows... Warum gibts sowas nicht auch für ARM? Achja, später würde ich gerne noch Cross-Compiling für ein Beaglebone haben. Aber das müsste mit dem Qt-Creator relativ leicht gehen. Hat jemand bereits Erfahrungen und kann mir weiterhelfen?
:
Bearbeitet durch User
No y. schrieb: > was > ich wo einstellen muss um mit dem Qt-Creator Code für die ARM Cortex-M > hinzubekommen? Aus deiner QT-Applikation einfach den ARM-Compiler mit den entsprechenden Parametern aufrufen?! No y. schrieb: > Hier würde ich gerne > nicht unmengen verschiedener IDE's benutzen, sondern möglichst alles mit > Qt machen. Willst du dir deine eigene IDE schreiben oder was? Sorry, aber ich verstehe deine Frage nicht. Alternativ Google und die QT Dokumentation: https://qt-project.org/doc/qtcreator-2.5/creator-tool-chains.html Grüße
Wie bekomme ich z.B meinen J-Link mit Qt ans laufen? Also z.B den GDB-Server. Muss ich noch großartig was einstellen oder einfach nur mein gcc-arm- none-eabi einbinden? Z.B kann ich Makefiles von CooCox irgendwie benutzen? Habe selber noch nie Makefiles für Cortex-M erstellt... Und dann gehts noch um Linux und nicht einfach nur Windows...
:
Bearbeitet durch User
> Wie bekomme ich z.B meinen J-Link mit Qt ans laufen? Also z.B den > GDB-Server. Indem du mal schaust was Segger an Treiber und Doku für Linux bereitstellt und die dann in den Creator integrierst. Sollte eigentlich nicht so schwer sein wenn Segger grundsätzlich eine funktionierende Basis liefert. > Muss ich noch großartig was einstellen oder einfach nur mein gcc-arm- > none-eabi einbinden? Du musst noch einiges einstellen. Und deine Frage zeigt das du noch nichtmal das grundlegende Konzept verstanden hast. Bringe erstmal alles durch eingaben in eine Shell ans laufen damit du verstehst was da in welcher Reihenfolge passieren muss. > Z.B kann ich Makefiles von CooCox irgendwie > benutzen? Habe selber noch nie Makefiles für Cortex-M erstellt... Es ist sehr schade das du dich noch nie mit Makefiles beschäftigt hast. Stellen sie doch eine ueberlegende und elegante Art einer Entwicklungsumgebung dar, welche dir ausserdem so ganz nebenbei das Wissen vermittelt haette das dir jetzt fehlt. :-) Allerdings weiss ich nicht was du jetzt mit Makefiles willst. Sowas wie Qt-Creator wurde entwickelt um den Linux und Commandozeilen-fernen Schichten ein einfaches Leben zu ermöglichen. Wenn Makefiles erforderlich sind so wird sie der Creator selber erzeugen. Eventuell koennte sogar hier ein Problem lauern weil qt in der Vergangenheit jedesmal ein spezielles Makefile, angepasst an die Beduerfnisse von Qt, erzeugt hat. > Habe selber noch nie Makefiles für Cortex-M erstellt... Ich dagegen habe schon sehr viele Makefiles erstellt und konnte da noch nie eine Prozessorabhaengigkeit, von der compilerauswahl mal abgesehen, beobachten. > Und dann gehts noch um Linux und nicht einfach nur Windows... Also ich hab ja die Theorie das Linux diesesmal einfach ist. Olaf
Naja vielleicht habe ich mich mit Makefiles vertan. Ich meine die Files wo drin steht wo z.B. die Start Adresse des Controllers ist usw. Bei Coocox muss man ja auch auswählen was für einen Prozessor man hat und der läd dann irgendwelche Files und CMSIS Sachen abhängig vom ausgewählten Controller. Wenn Linux und ARM Programmierung einfach ist, warum gibt es immer nur ordentliche Windows Tutorials und nichts einfaches mal für Linux. Z.B wenn ich den Pfad zum Compiler einstelle erkennt der den nicht. Dnk Linux gibt es ja nicht einen Ordner sondern die Dateien sind unter /usr überall verteilt... Welchen Ordner muss ich denn nun genau angeben in Qt? Und beim GDB erkennt er das genauso wenig. Obwohl da wenigstens alles in einem Ordner liegt.
:
Bearbeitet durch User
Es ist sehr löblich dass du eine IDE suchst die du für alles verwenden kannst. Ich selbst halte das auch so und verwende Eclipse für wirklich alles... (C, C++, Java, C++ mit Qt, avr-gcc usw). Denn es erleichtert das Leben schon Ungemein, sich nicht jedesmal an eine neue IDE, neue Shortcuts usw. gewöhnen zu müssen. Dennoch halte ich den Qt Creator für einen wenig geeigneten Kandidaten einer universellen IDE. Ich hab zwar schon oft gehört dass er auch sehr gerne benutzt wird um reines C++ ohne Qt zu programmieren. Aber ich denke, für Controlleranwendungen wirst du ihn noch ein ganz schönes Stück verbiegen müssen. Der Qt Creator ist eben für ein primäres Ziel (Qt-GUIs) ausgelegt. In Eclipse kannst du dir ein leeres "Makefile"-Projekt erstellen. Dabei hält sich Eclipse aus allem komplett raus, für jeden Compiler- und Linkeraufruf bist dann nur du selbst verantwortlich, indem du die Kommandos im makefile hinterlegst. Alles was von Eclipse noch bleibt ist der (meines Erachtens) sehr mächtige Editor mit Syntaxhighlighting, AutoFormatter, Autovervollständigung, Indexer usw. Achja, und ein graphisches Frontend für gdb. Ich denke der Qt Creator bietet diese Möglichkeiten auch irgendwie. Aber dazu musst du erstmal ein eigenes makefile erstellen können. Denn der Qt-Creator wird dir beim generierten Makefile wohl kaum die für einen uC benötigten Compileroptionen usw. mit eintragen... Bei 1000 befragten Programmierer tauchen zwar mit Sicherheit 2000 Lieblings-IDEs auf, dennoch möchte ich dir raten, dir mal Eclipse anzuschauen.
Das fand ich letztens ziemlich interessant und will das irgendwann mal mit einen STM32 Discovery Board ausprobieren: https://fosdem.org/2014/schedule/event/qtcreator_baremetal_development/ http://doc-snapshot.qt-project.org/qtcreator-3.0/creator-developing-baremetal.html Ich habe aber auch einen J-Link hier rumliegen und in Fedora 19 lässt sich unter Help->About Plugins auch schon das BareMetal Plugin aktivieren. Jetzt müssen nur noch die passenden Befehle ins Makefile. Ich würde aber direkt OpenOCD benutzen und nicht Segger's Linux Package.
Danke für die Links werde ich mir mal anschauen. @lex: Eclipse habe ich auch schon überlegt. Ich kenne Eclipse von der Altera Nios2 Entwicklungsumgebung aber das war da absolut schrecklich (andauernd irgendwelche Fehler... nach 3 mal neu Starten o.ä. ging wieder alles). Deswegen hat mich Eclipse bisher eher abgeschreckt. Gut da ist eine alte Version drin und vielleicht hat auch Altera da einiges verpfuscht... Dann habe ich auch mal versucht eine neue Version von Eclipse parallel zu der Nios2 IDE laufen zu lassen... die haben sich gegenseitig zerschossen.. Bisher benutze ich Qt Creator für standard C Konsolen Programme geht 1a... Naja vielleicht versuche ich es doch nochmal mit Eclipse...
:
Bearbeitet durch User
> Eclipse habe ich auch schon überlegt. Ich kenne Eclipse von der Altera > Nios2 Entwicklungsumgebung aber das war da absolut schrecklich > (andauernd irgendwelche Fehler... nach 3 mal neu Starten o.ä. ging > wieder alles). Deswegen hat mich Eclipse bisher eher abgeschreckt. Da warst du aber aus den falschen Gruenden abgeschreckt. Bei mir laeuft Eclipse relativ stabil. Kann mich so auf anhieb garnicht an einen Absturz erinnern obwohl ich es unter unterschiedlichen Betriebssystemen mit unterschiedlichen Compilern und verschiedenen Debuggern nutze. Abschreckend an Eclipse sind zwei Dinge: 1. Es ist lahm. Dem kann man aber noch durch einen schnellen Rechner etwas entgegenwirken. Trotzdem nervt es manchmal. 2. Du kannst wirklich alles, aber auch alles einstellen. Aber verteilt an den unterschiedlichsten Stellen. Teilweise geradezu absurd unuebersichtlich. Olaf
Nicht Qt-Projekte können nur mit qmake und cmake realisiert werden. D.h. du musst dich in eines der Tools einarbeiten, dort Compilernamen etc. ändern. Im QtCreator schreibst du dann ganz normal das cmake- bzw. qmakefile und er parst dieses, so erkennt er dann welche Headerdateien du nutzt und so weiter. Es müsste eigentl. problemlos möglich sein. Du brauchst halt dann noch den GDB Server für deinen µC, der müsste in der IDE auch einzustellen sein. Beim ST-Link und STM32 ist das z.B. OpenOCD oder st-util.
> Es müsste eigentl. problemlos möglich sein.
Tolle Wortwahl ;).
QMake verwendet Templates um damit zusammen mit der Projektdatei
Makefiles (oder was auch immer) zu erzeugen. Es gilt also ein solches
Template zu generieren. Unter /usr/share/qt4/mkspecs findest du eine
stattliche Sammlung fertiger Dateien. "arm-none-eabi-gcc" ist freilich
nicht dabei.
Was das Debugging angeht sehe ich allerdings schwarz. Ich fürchte ohne
einen wilden Hack wird das nicht gehen. Wenn überhaupt.
Was haltet Ihr denn von Netbeans? Ist ja die IDE hinter MPLABX. Bisher bin ich damit relativ zufrieden. Vor allem ist Netbeans anscheined schneller als Eclipse. Qt geht anscheinend auch. Muss mal schaun ob man MPLABX erweitern kann oder ob ich Netbeans nochmal extra installieren muss. Sonst gibts noch Codeblocks aber da bin ich nicht ganz so überzeugt von...
:
Bearbeitet durch User
Qt-Creator kann auch mit Makefiles umgehen. Selbst schreiben ist eh besser! GDB nennt sich "remote debugging" und funzt einwandfrei mit STM32.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.