Qt Creator als IDE für Mikrocontroller

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

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:

LeeresQMake in QtCreator.png

Bitte wie dargestellt die Auswahl tätigen und "auswählen" anklicken, sodass folgendes Fenster erscheint:

Projektverzeichnis in QtCreator.png

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:

KitAuswahl in QtCreator.png

"Desktop" anwählen, "Debug" und "Profile" abwählen und "weiter" anklicken, sodass folgendes Fenster erscheint:

Projektverwaltung in QtCreator.png

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.

Buildeinstellungen2 QtCreator.png

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":

AusführungEinstellung2QtCreator.png

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

VorhandeneDateieneinfuegen2QtCreator.png

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.

Make fileErgebnisQtCreator.png

Mit der Taste mit dem grünen Dreieck wird 'Make all' aufgerufen und das Projekt erstellt und zum Mikrocontroller hochgeladen.

Make allErgebnisQtCreator.png

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ß!