AVR-DevCPP

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

(Basiert auf dem Artikel AVR-DevCPP

Dieser Artikel beschreibt, wie man die Entwicklungsumgebung DevC++ so einstellt, dass sie mit dem WinAVR Compiler arbeitet.

Links

Da die Fragen zur Einrichtung schon öfters aufkamen hier ein paar Links auf der dieser Artikel basiert, leider teilweise veraltet oder teilweise zu allgemein: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=288030 http://sourceforge.net/search/?forum_id=48211&type_of_search=forums&group_id=10639&words=AVR http://www.bloodshed.net/dev/SetDevCPPArm.pdf http://www.mikrocontroller.net/topic/23797

Bezugsquellen

Die folgenden Schritte wurden mit DevC++ 4.9.9.2 und WinAVR 20060421 getestet

Compiler einrichten

Zuerst muss man DevC++ mitteilen, dass auf dem System ein (weiterer) C-Compiler vorhanden ist. Dazu öffne man den Dialog Werkzeuge->Compiler Optionen. Im Compiler Set konfigurieren-Abschnitt fügt man einen neuen Compiler durch betätigen der +-Taste hinzu, z. B. "GNU AVR Atmega64". Im folgenden ist wichtig, dass in der Auswahlliste neben der +-Taste der gerade neu hinzugefügte Compiler ausgewählt ist.

Beim Compileraufruf müssen einige Flags angefügt werden: Folgende Befehle beim Compiler-Aufruf hinzufügen ankreuzen und in das darunterliegende Textfeld folgendes Eintragen: -mmcu=atmega64 -DF_CPU=16000000UL -I. -gdwarf-2 -std=gnu99. Dies sind die notwendigsten Parameter um den qC zu beschreiben sowie die Optimierung(dwarf-2) und den C Standard (GNU C99)

In der Karteikarte Einstellungen sind i.A. keine Änderungen vorzunehmen. Hier können die weiteren Compiler-Flags aber komfortabel eingestellt werden.

Als nächstes öffnet man die Karteikarte Verzeichnisse. Hier müssen die Verzeichnisse des Compilers eingestellt werden. Vorher ggf. vorhandene Verzeichnisse mit Löschen entfernen. In der Kartei Programmdateien das Verzeichnis für die GNU ARM Compilerdateien durch Eintragen in die Textzeile unter der Liste und anschließendem Betätigen von Hinzufügen einfügen (C:\Programme\WinAVR\bin). In der Kartei Bibliotheken muss das Verzeichnis lib eingefügt werden (C:\Programme\WinAVR\lib). In der Kartei C-Includes müssen die Includes für die Controllerfamilien eingefügt werden (C:\Programme\WinAVR\avr\includes).

Nun ist die Umgebung schon fast fertig eingerichtet. In der Karteikarte Programme müssen nun noch die richtigen Programme ausgewählt werden: Als gcc wird avr-gcc.exe eingetragen, als g++ avr-g++.exe und als gdb avr-gdb.exe. Nun kann dieser Dialog geschlossen werden.

Projekt Vorlage

Als nächstes wird eine Vorlage gebraucht. Diese kann anschließend für ein neues Projekt kopiert werden (per Explorer/Arbeitsplatz o.ä.). Man erstelle ein Datei->Neu->Projekt und wähle in der Kategorie Basic Empty Project aus. Als Namen gebe man z. B. AVR-Atmega64 an und wähle im rechten unteren Teil C-Projekt aus. Als nächstes wird gefragt, wo das Projekt angelegt werden soll. Danach wird ein leeres Projekt erzeugt.

Als erstes fügt man eine Haupt-Datei hinzu: Projekt->Neue Datei. Hier schreibt man am besten die gebräuchlichsten includes sowie einen Dateikopf (Bearbeiten-Einfügen-Dateiheader) und eine main() Funktion auf, da diese eh immer gebraucht werden.

Als nächstes müssen noch einige Einstellungen für das Projekt vorgenommen werden: Projekt->Projekt Optionen öffnet das benötigte Dialogfenster. Hier ist folgendes Wichtig:

  • Karteikarte Allgemein: Der Projekt-Type muss Win32 Konsole sein,
  • Karteikarte Dateien: Auf jede Datei klicken und die Einstellungen aus der obigen Tabelle übernehmen. Meine DevC++ stürzt ab, sobal die Priorität von 1000 verschieden ist. Davon also die Finger lassen ;-).
  • Karteikarte Compiler: Hier muss der richtige Compiler ausgewählt werden (GNU ARM), der rest kann gelassen werden (alles auf No).
  • Karteikarte Build Optionen: Hier kann das Kästchen Überschreibe Ausgabe-Dateiname angewählt werden, wenn man keine *.exe Dateie erzeugen will. Ggf. AVR-Progr.elf eintragen.

Nun muss noch das ganze als Vorlage hinzugefügt werden: Datei-Neu-Vorlage und mit einer sinvollen Kategorie und Namen eingeordnet werden. Bei einem neuen Projekt kann einfach auf diese Vorlage zurückgegriffen werden.

Jetzt fehlen nur noch Doxygen und CVS um optimal zu arbeiten :-)

ToDO: -GDB/SimulAVR/avrice -Upload -externes makefile?

Links