Forum: Compiler & IDEs Qt Creator IDE für AVR Entwicklung nutzen


von Thomas B. (bthomas)


Lesenswert?

Hallo µC-Community,

hat einer von euch es schon geschafft AVR-Code für die kleinen AVRtinys 
oder ATmegas mit Hilfe der Qt-Creator IDE zu comilieren/debuggen und mit 
dem fertigen Image zu beflashen?

Für die AVR32 Architektur scheint es schon eine QT Everywhere/Embedded 
Version zu geben, wo man wahrscheinlich nur noch den Pfad auf den 
avr32-qmake der Toolchain setzen muss und er die Einstellungen 
(Lib/Headers/avr-gcc) automatisch von dort beziehen kann.

Toll fände ich es, dies ähnlich wie bei Eclipse durch ein Plugin zu 
bewerkstelligen. Also eine Kombination von AVRdude und Fuse-Gui?

Man könnte dann auch überlegen eine Anleitung ins AVR-Wiki zu schreiben.

gruß
tomy

von Thomas B. (bthomas)


Lesenswert?

Konnte eine Projektdatei mit QMake soweit für AVR-Projekte anpassen. 
Falls einer Interesse hat stell ich die Modifikation hier nochmal rein.

von Thomas (Gast)


Lesenswert?

> Falls einer Interesse hat...

Also mein Interesse ist sehr begrenzt.
Vielleicht schreibst du ja einfach mal wozu das gut sein soll.
Was passt dir an AVRStudio nicht, was nicht an Eclipse.
Kannst du mit QtCreator auch debuggen, simulieren, flashen, Fusebits 
einstellen?

von S. G. (goeck)


Lesenswert?

Thomas B. schrieb:
> Konnte eine Projektdatei mit QMake soweit für AVR-Projekte anpassen.
> Falls einer Interesse hat stell ich die Modifikation hier nochmal rein.

großes Interesse! Hast du es so hinbekommen, aus Qt Creator direkt den 
AVR-GCC anzuschmeißen und die HEX File zu erstellen?

Grüße
goeck

von Thomas B. (bthomas)


Angehängte Dateien:

Lesenswert?

Ja hab ich ;)

in der Main.pro datei einfach:

===

CONFIG += avrcompile avrdude

INCLUDEPATH += /usr/lib/avr/include
INCLUDEPATH += /usr/lib/gcc/avr/4.3.5/include
INCLUDEPATH += /usr/lib/gcc/avr/4.3.5/include-fixed

MMCU  = atmega8
F_CPU = 8000000UL
include(avrcompile.pri)

===

hinzufügen.

netten Gruß
Thomas

von S. G. (goeck)


Lesenswert?

Hallo Thomas,

oh...dann probier ich das gleich mal morgen aus. Danke dir.
Werd mich melden.

Grüße

von Mathias O. (m-obi)


Lesenswert?

Hallo,

ich wollte es auch mal versuchen Qt Creator zu nehmen. Wie sieht der 
aktuelle Stand aus? Ist es brauchbar?

von TriHexagon (Gast)


Lesenswert?

Thomas schrieb:
> Was passt dir an AVRStudio nicht, was nicht an Eclipse.
> Kannst du mit QtCreator auch debuggen, simulieren, flashen, Fusebits
> einstellen?

Das kann ich auch schnell beantworten. AVRStudio gibts nicht für Linux 
und Eclipse ist einfach lahm, auch mit einem Triplecore mit 3GHz -> 
Bloatware.
QtCreator dagegen ist schnell, relativ leichtgewichtig, Multiplattform 
und macht hervorragende Codecompletion (besser als Eclipse).

Danke für Modifikation! Ich habs auch mal versucht, hatte aber 
irgendwann keine Lust mehr. Es müsste auch möglich sein den Debugger zu 
integrieren, denn QTCreator unterstützt auch hervorragend den GDB und 
kommt sogar fast an Visual Studio ran.

von TriHexagon (Gast)


Lesenswert?

Ach verdammt, habe gerade erst gesehen, dass ich auf einen alten Post 
reagiert habe.

Mathias O. schrieb:
> Hallo,
>
> ich wollte es auch mal versuchen Qt Creator zu nehmen. Wie sieht der
> aktuelle Stand aus? Ist es brauchbar?

Die Mod habe ich noch nicht ausprobiert, aber der QtCreator kann ich nur 
empfehlen für C und C++. Echt tolles Stück Software, macht nach meiner 
Meinung sogar Konkurrenz zu Visual Studio, obwohl VS wohl ein paar 
Sachen mehr kann und ein bisschen ausgereifter ist.

von Michael J. (jogibaer)


Lesenswert?

Hallo,

kann den QTCreator auch empfehlen.

Hat keine Performanceprobleme, ist nicht überladen und
es macht Spaß mit QT zu arbeiten.

Eclipse war bei mir immer träge und mit KDevelop hatte ich Probleme
bei einigen Projekten.


Jogibär

von Mathias O. (m-obi)


Lesenswert?

Ich arbeite auch schon lange mit dem Qt Creator für Windows-Anwendungen 
oder Android-Apps. Und für AVRs nehm ich halt Code::Blocks. Nun wollte 
ich aber gerne auch die AVRs über Qt machen, also alles ein bisschen 
zentraler.

von Mathias O. (m-obi) (Gast)


Lesenswert?

Hallo,

wie sieht es inzwischen aus, gibt es schon Fortschritte?
Ich hab noch nix funktionierendes hinbekommen.

von Matthias T. (matthias_199)


Angehängte Dateien:

Lesenswert?

Wo liegt das Problem geht doch fast ganz gut.
Ich habe noch zwei kleine Änderungen gemacht damit nun auch -m64 
gefiltert wird,
wichtig bei 64 bit Systemen.

und die Pfade für den gcc und libs angepasst

außerdem müsst ihr bei dem avrdude den wert anpassen für den mcu den ihr 
habt.
http://www.nongnu.org/avrdude/user-manual/avrdude_4.html

viel Spaß mit der neuen Version.

MFG Matze

von Wilhelm M. (wimalopaan)


Lesenswert?

Also ich benutze für QtC eigene Makefiles statt über qmake ein Makefile 
zu erstellen. Weil ich bei µC-Projekte selten den moc oder rcc benötige, 
benötige ich qmake hier nicht.

von Mathias O. (m-obi)


Lesenswert?

Matthias T. schrieb:
> Wo liegt das Problem geht doch fast ganz gut.

Wie du siehst war mein letzter Post von 2014.
Inzwischen gibts keine Probleme seit einigen Jahren.
Bei mir funktioniert es prima. Arbeite mit den Dateien .creator, 
.config, .files und .includes.

von Matthias T. (matthias_199)


Lesenswert?

@mobi

naja aber wenn es kein Problem mehr gab und es schon so lange her ist 
das du eine Lösung hattest wäre es doch toll die auch zu posten ?

Das nachvollziehen, wieso das nicht klappt hat ja auch etwas gedauert.
Und dadurch das ich es jetzt poste hoffe ich das anderen zu ersparen.

@wimalopaan

eigentlich hast du recht, so selten wie sich da was ändert.
Aber da ich gerade am Anfang meines neuen projektes  kommen gerade jetzt 
noch viel .h und .c dazu und da ist es schon cool wenn die alleine 
erstellt wird :D

MFG
Matze

: Bearbeitet durch User
von M. W. (mw73)


Lesenswert?

Hallo zusammen!

Ich würde gernen einen Code der für einen Mega48 geschrieben wurde in 
den Raspberry Pi migrieren. Es wurde mir geraten dafür Qt zu verwenden.
Wie lässt sich so ein Projekt umsetzen? Kann mich hier jemand von euch 
beraten?

Bitte um Info.

Markus

von Markus F. (mfro)


Lesenswert?

Markus W. schrieb:
> Es wurde mir geraten dafür Qt zu verwenden

Qt und QtCreator sind zwei völlig unterschiedliche Dinge, ich nehme an, 
Du meinst letzteres?

Das wird zwar bequemer, wird dir aber nicht die Hauptarbeit abnehmen: 
einen Code, der standalone für einen µC geschrieben wurde, so umstellen, 
daß er als Prozeß in einem Linux-System laufen kann.

von M. W. (mw73)


Lesenswert?

Hallo Markus,

danke für die schnelle Antwort!
Da ich bis jetzt nur in AVR-Studio für Atmel-Controller entwickelt habe,
ist das Neuland für mich.

Es müsste der Code quasi komplett umgeschrieben werden, ist das richtig?
Es handelt sich dabei um eine Anwendung für die serielle Schnittstelle.

LG
Markus

von Markus F. (mfro)


Lesenswert?

Markus W. schrieb:
> Es müsste der Code quasi komplett umgeschrieben werden, ist das richtig?
> Es handelt sich dabei um eine Anwendung für die serielle Schnittstelle.

Davon ist auszugehen.

Im µC hattest Du die alleinige Oberhoheit über die Schnittstelle, im RPi 
hat die das dort laufende Linux und Du bedienst dich nur dessen 
Dienstleistungen (über standardisierte Betriebssystem-Aufrufe). 
Interrupt-Handler gibt's nicht (es sei denn, Du schreibst einen eigenen 
Kernel-Treiber).

von M. W. (mw73)


Lesenswert?

na buh,

sollte man das überhaupt in Python schreiben?

oder wäre das über C# und die IOT-Schiene besser zu bewerktstelligen?

Markus

von Markus F. (mfro)


Lesenswert?

Markus W. schrieb:
> na buh,
>
> sollte man das überhaupt in Python schreiben?
>
> oder wäre das über C# und die IOT-Schiene besser zu bewerktstelligen?
>

Du kannst das auch in Logo oder Algol schreiben (wenn Du's kannst).

Ich jedenfalls würde C nehmen ;).

von M. W. (mw73)


Lesenswert?

c?

ich dachte man kann am pi nur c-commands eingeben?

von Mathias O. (m-obi)


Lesenswert?

Viele schreiben Programme für den Raspi in Python. Ich bevorzuge C++, da 
ich auch Qt Creator dafür nehme.

von Kaj (Gast)


Lesenswert?

Markus W. schrieb:
> c?
>
> ich dachte man kann am pi nur c-commands eingeben?
Keine Ahnung was du fuer eine Vorstellung von einem RPi hast, aber der 
RPi ist nichts anderes als ein stink normaler Computer, mit einem stink 
normalen Linux als Betriebssystem. Wahlweise auch mit einem 
eingeschraenkten Windows 10.

von M. W. (mw73)


Lesenswert?

>Keine Ahnung was du fuer eine Vorstellung von einem RPi hast, aber der
>RPi ist nichts anderes als ein stink normaler Computer, mit einem stink
>normalen Linux als Betriebssystem. Wahlweise auch mit einem
>eingeschraenkten Windows 10.

sorry aber das war auf die Sprache C bezogen, die kann ich ja am rasp 
nicht nutzen wie zb. auf einem Mega.

@Mathias, danke für Deinen Beitrag. Du würdest mir C++ und Qt-creator 
empfehlen?

Wie sieht es denn wirklich mit der seriellen Schnittstelle am Pi aus?

und meine .c und .h Bibliotheken, lassen sich die Einbinden?

Markus

von Mathias O. (m-obi)


Lesenswert?

Logisch kannst du die einbinden. Kannst auch komplett in C 
programmieren.

von M. W. (mw73)


Lesenswert?

echt, ich kann auch in c coden?

...aber ein ganzes avr projekt kann man wahrscheinlich nicht migrieren 
oder?

hab da leider keine Erfahrung damit.

Welches wäre denn die aktuelle oder geeignestste Version vom Qt-Creator?

Ich hab mal was gelesen, dass man den direkt am Pi installieren kann, 
aber besser ist wahrscheinlich eine Installation am PC oder?

Markus

von Mathias O. (m-obi)


Lesenswert?

Also ich programmiere am PC mit Hilfe von Cross-Compiling. Selbst meine 
AVRs programmiere und flashe ich in Qt Creator. Aber ich würde dir raten 
es komplett in C++ neuzumachen. Soviel Code kann es ja nicht sein, wenn 
es auf einen Mega passt. Was willst du denn grob machen?

von M. W. (mw73)


Lesenswert?

also ich habe einen Rs485 bus mit vier teilnehmern und möchte den code 
des Masters statt dem Mega48 auf eimem Pi zum Laufen kriegen (um ev. 
später mal eine kleine GUI zu machen).

Der Code ist aber nicht wirklich sehr aufregend.

von Mathias O. (m-obi)


Lesenswert?

Hab ich schon gemacht, auch mit TCP. Klappt super. Kleiner Typ, nimm 
libmodbus.

von M. W. (mw73)


Lesenswert?

Welche Version von Qt-Creator kannst Du mir denn empfehlen, oder ist das 
egal

von Mathias O. (m-obi)


Lesenswert?

Einfach die neuste.

von M. W. (mw73)


Lesenswert?

Alles klar!

Danke für Deine Beiträge.
Das hat mir schon sehr geholfen. Ich muss mich da eben jetzt 
einarbeiten.

LG
Markus

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.