Qt Creator als IDE für Mikrocontroller
von gfl
Hier werden die Schritte gezeigt, um im Qt Creator für AVR-Mikrocontroller (z.B. Atmega) programmieren zu können. Dabei wird bei dem Qt Creator-Befehl „Erstellen“ das Projekt nur kompiliert und bei dem Qt Creator-Befehl „Ausführen“ der Mikrocontroller zusätzlich per avrdude geflashed. Dazu muss natürlich ein Makefile vorhanden sein, in dem es ein Target gibt zum Kompilieren (hier: file) und ein Target zum kompilieren und flashen (hier: all). In diesem Makefile müssen auch wie gewohnt die SOURCE-Files angegeben werden. Unten ist ein einfaches Makefile mitdem es funktioniert.
Nachfolgende Beschreibung muss von oben bis unten durchgearbeitet werden. Alle nicht genannten Auswahlmöglichkeiten in den verschiedenen Menüs bleiben so wie sie sind. Irgendwann soll man eine qmake-Regel deaktivieren. Man könnte diese Regel auch löschen, jedoch läuft man dann in ein Bug und kann später keine Dateien laden oder erstellen!
Neues Projekt erstellen
Unter dem Menü "Datei" klickt man auf "Neues Projekt..." und es erscheint folgendes Fenster:
Bitte wie dargestellt die Auswahl tätigen und "auswählen" anklicken, sodass folgendes Fenster erscheint:
Hier den Namen des Projekt und den gewünschten Pfad eingeben. Das Projekt wird als Ordner in dem Pfad angelegt. Nach dem klicken auf "weiter" erscheint folgendes Fenster:
"Desktop" anwählen, "Debug" und "Profile" abwählen und "weiter" anklicken, sodass folgendes Fenster erscheint:
Hier keine Veränderungen vornehmen sondern nur auf "Abschließen" klicken.
Projekt bearbeiten
Wir befinden uns jetzt auf der "Editieren"-Seite und müssen jetzt auf die "Projekte"-Seite: Auf der linken Seite des Programms gibt es eine Leiste mit verschiedenen Schaltflächen von denen die "Editieren"-Schaltfläche hervorgehoben ist. Hier muss "Projekte" angewählt werden. Es erscheint ein neues Fenster, in dem eine Reihe von Dingen eingestellt werden muss.
Halb links unter "Desktop" wählen wir "Erstellen" aus, es erscheint rechts die "Build-Einstellungen"-Seite. Hier muss unter "Allgemein" das Häckchen bei "Shadow-Build" entfernt werden, damit verändert sich der Build-Pfad zu unseren Projektpfad. Bei "Schritte zum Erstellen" muss das Ausführen von qmake verhindert werden, indem man das Verbotenzeichem anklickt: das Zeichen sieht man, wenn man einmal mit der Maus über die qmake-Zeile fährt. Bei Make (evtl. rechts auf "Details" klicken, damit man alles sieht) wird das "Kommandozeilenargument für Make" eingetragen: hier file. Als letztes bei "Schritte zum Bereinigen" unter "Kommandozeilenargument für Make" clean eintragen.
Jetzt wählen wir halb links unter "Dektop" "Ausführen" und es erscheint die Seite "Einstellungen zur Ausführung":
Hier muss zuerst unter "Ausführen", "Ausführungskonfiguration" über "Hinzufügen ..." eine „Benutzerdefinierte ausführbare Datei“ erzeugt werden. Ist dies geschehen, dann wird unter "Ausführbare Datei:" /usr/bin/make, unter "Kommandozeilenargument:" all und unter "Arbeitsverzeichnis:" der Pfad zu unserem Makefile eingetragen.
Das nächste ist nicht notwendig aber besser (putzen): Man klickt auf "Benutzerdefinierte ausführbare Datei" und wählt aus dem sich öffnenden Popupfenster die andere Ausführungskonfiguration aus und löscht sie, indem man auf "Entfernen" drückt.
Dateien importieren/erstellen
Jetzt wechseln wir über die linke Leiste auf die "Editieren"-Seite. Mit einem Rechtsklick auf den Projektnamen
erscheint ein Menü mit einem Eintrag "Existierende Datei hinzufügen …". Nach dem Auswählen erscheint ein Dateiauswahlfenster. Man befindet sich schon im Projektordner. Indem man nun das Makefile, dass man vorher schon hierhin kopiert hat, auswählt und "Öffnen" anklickt, wird das Makefile (und evtl. andere ausgewählte Dateien) in das Projekt aufgenommen. Über das gleiche Menü kann man über "Hinzufügen..." .c- und .h-Dateien erstellen lassen. Wenn noch nicht vorhanden, dann sollte man jetzt eine main.c erstellen.
Als letzten Schritte muss man in der .pro-Datei (Doppelklick) am Anfang oder am Ende "INCLUDEPATH += /usr/lib/avr/include" eintragen.
Projekt erstellen und hochladen
Über die Taste mit dem Hammer in der linken Leiste wird jetzt 'Make file' aufgerufen und das Projekt erstellt.
Mit der Taste mit dem grünen Dreieck wird 'Make all' aufgerufen und das Projekt erstellt und zum Mikrocontroller hochgeladen.
Makefile
Hier das einfache Makefile, dass für dieses Projekt benutzt wurde. Es ist zu beachten, dass das Makefile von Qt Creator nicht bearbeitet wird, d.h. man muss neue Dateien auch per Hand in das Makefile eintragen und auch die anderen Parameter händisch bearbeiten.
SOURCES=main.c TARGET=tar MCU=atmega328p AVRDUDE_MCU=m328p F_CPU=16000000UL BAUD=115200 PROGR=arduino PORT=/dev/ttyACM0 CC=avr-gcc CFLAGS=-g -Os -mmcu=${MCU} -DF_CPU=${F_CPU} -I. CFLAGS+=-std=c11 CFLAGS+=-Wall CFLAGS+=-Wextra all: ${CC} ${CFLAGS} -o ${TARGET}.bin ${SOURCES} avr-objcopy -j .text -j .data -O ihex ${TARGET}.bin ${TARGET}.hex avrdude -c ${PROGR} -p ${AVRDUDE_MCU} -P ${PORT} -b ${BAUD} -U flash:w:${TARGET}.hex file: ${CC} ${CFLAGS} -o ${TARGET}.bin ${SOURCES} avr-size --format=avr --mcu=${MCU} ${TARGET}.bin clean: rm -f *.bin *.hex
Viel Spaß!