www.mikrocontroller.net

Forum: Compiler & IDEs Ultraedit & Makefile


Autor: Norbert S. (norton)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich würde gerne vom AVR Studio auf eine Toolchain mit Ultraedit 
umstellen, da der Editor im Studio bei größeren Projekten etwas dürftig 
ist.

Ist es möglich folgende Anforderungen mittels Ultraedit und Makefile zu 
erfüllen und auf was genau muss ich achten:

- einmaliges händisch anlegen des Makefiles und weitere .c files werden 
automatisch über das Projekt im UE übernommen

- programmieren aus dem UE über USB und AVRISP MKII

- Die Verzeichnisstruktur sollte so ähnlich wie im AVR Studio sein. Das 
heißt ein Projektverzeichnis mit den erstellten .c und .h files und ein 
Unterverzeichnis wo das Makefile liegt und der Compiler seine .o, .hex, 
usw anlegt

Ich hoffe irgendjemand verwendet ebenfalls den UE und kann mir 
weiterhelfen.

Danke Norton

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falls Du dich nicht schon fix für den UE entschieden hast, solltest Du 
Dir auch Eclipse mit CDT anschauen.
Diese ist vielleicht am Anfang ein wenig komplex, aber wenn man sich 
einmal daran gewöhnt hat möchte man sie nicht mehr missen.
Programmieren mit AVRDude aus dem Makefile geht auch.

Autor: Norbert S. (norton)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Klaus

UE ist meines erachtens recht mächtig und performant. Ausserdem hab ich 
UE sowieso installiert also warum nicht gleich mehr daraus machen.

Aber vielleicht lass ich mich ja noch breitschlagen g

Danke für die Anregung.

Autor: Mehmet Kendi (mkmk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte mal versucht, auf Eclipse umzusteigen. Da mir Eclipse zu oft 
abschmierte, habe ich es wieder gelöscht.
Momentan schreibe ich meine Projecte mit UE und compiliere sie mit 
AVR-Studio. Nicht gerade das Gelbe vom Ei ... aber die Einbindung von 
avr-gcc ins UE ist mir nicht gelungen.

Autor: Klaus Falser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Da mir Eclipse zu oft abschmierte, habe ich es wieder gelöscht.

Ich arbeite schon seit längerer Zeit unter Windows damit und hatte 
eigenlich noch nie Stabilitätsprobleme. Die CDT wird immer besser, seit 
längerem funktioniert der Indexer problemlos und schnell (jedenfalls 
solange die Projekte nicht zu groß werden). Damit kann mit einem 
Tastendruck schnell zur Definition einer Funktion wechseln, auch wenn 
diese in einem anderen File ist oder Funktions- und Variablennamen 
vervollständigen, auch wenn man sich nicht genau an den Namen erinnert.
Das beste aber ist die Integration mit CVS, damit kann man das ganze 
Projekt mit einer vorherigen Version vergleichen.

Autor: Mehmet Kendi (mkmk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht sollte ich "abschmieren" etwas genauer definieren: Eclipse 
schmierte mir immer beim Debuggen ab. Aber ist schon eine Weile her.

Autor: Norbert S. (norton)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bin gerade dabei tests mit UE Studio zu machen. Sieht so aus als könnte 
das wirklich lauffähig werden.
Hat da jemand schon Efahrungen gemacht?

Gruß Norton

Autor: Mehmet Kendi (mkmk)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Eine Notlösung:

Zuerst im AVR-Studio ein Projekt einrichten.
Das Makefile welches von AVR-Studio sieht so aus:
## Compile
main.o: ../main.c
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<

task.o: ../task.c
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<
usw. usf.

Damit bei einem Fehler von UE aus mit einem Doppelklick in die 
entsprechende Datei und Zeile gesprungen werden kann muss das Makefile 
wie folgt veraendert werden:
## Compile
MyPath = E:/Data/CPU/AVR/gcc/Sonstiges/USB-Kamera/Vers_04

main.o: $(MyPath)/main.c
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<

task.o: $(MyPath)/task.c
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<

usw. usf.

Nun zu UE:
Unter Advanced - Tool Configuration:
siehe ue_bild1.gif, ue_bild2.gif und ue_bild3.gif

Nun kann (gültig für dieses Beispiel) mit CTRL-SHIFT-0 der Build-Process 
gestartet werden.

Autor: Mehmet Kendi (mkmk)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
und bild 2

Autor: Mehmet Kendi (mkmk)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
und 3

Autor: SF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn das make.exe vom WinAVR im Pfad liegt, ist die Einbindung in 
Ultraedit eigentlich recht einfach. Ich habe im Prinzip nur einen 
Eintrag im Toolsmenü und verwende den Parameter %modify% um kurz vor dem 
Kompilieren noch einen Target (clean, program, ...) an make zu 
übergeben.

Mein makefile liegt immer zusammen mit den *.c und *.h im selben 
Verzeichnis. Das Working Directory vom Ultraedit wird auf das aktuelle 
Verzeichnis der Datei im Fokus gesetzt. Solange also eine Quelltextdatei 
oder das makefile im Editor den Fokus hat, funktioniert das.

Menue Item Name: make
Commandline: make %modify%
Working Directory: %p

Ansonsten unter Options noch:
[x] Dos Program
[x] Save all files first

Unter Output:
[x] Output to List Box
[x] Show DOS Box
[x] Capture Output

Das ist einfach zu konfigurieren und einfach zu merken, falls ich mal 
wieder den Rechner neu aufsetzen muss.

Ich benutze die Beispiel makefils aus dem sample Verzeichnes des WinAVR 
und modifziere sie so, das alle generierten Dateien in 
Unterverzeichnissen landen.

Im Projektverzeichnis befinden sich somit nur die *.c, *.h, *.S und das 
makefile. Dadurch kann ich zum Starten vom Ultraedit alle relevanten 
Dateien ganz einfach mit "der Maus einfangen" und mit der rechten 
Maustaste im Kontextmenü Ultraedit starten. Damit spare ich mir das 
Anlegen von Ultraedit-Projektfiles.

Funktioniert so für alle kleinen bis mittlere Projekte.

Autor: Mehmet Kendi (mkmk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider habe ich in manchen Projekten dermassen viele C-dateien, dass ich 
ohne mehrere Ordner schlichtweg den Ueberblick verlieren würde.
Und leider ist es mir trozt mehrmaligem Anlauf nie gelungen, den gcc 
entsprechend den Vorstellungen von UltraEdit in das Ganze einzubinden.
Deshalb meine Notlösung.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.