Forum: Compiler & IDEs Ultraedit & Makefile


von Norbert S. (norton)


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

von Klaus F. (kfalser)


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.

von Norbert S. (norton)


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.

von Mehmet K. (mkmk)


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.

von Klaus Falser (Gast)


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.

von Mehmet K. (mkmk)


Lesenswert?

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

von Norbert S. (norton)


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

von Mehmet K. (mkmk)


Angehängte Dateien:

Lesenswert?

Eine Notlösung:

Zuerst im AVR-Studio ein Projekt einrichten.
Das Makefile welches von AVR-Studio sieht so aus:
1
## Compile
2
main.o: ../main.c
3
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<
4
5
task.o: ../task.c
6
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<
7
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:
1
## Compile
2
MyPath = E:/Data/CPU/AVR/gcc/Sonstiges/USB-Kamera/Vers_04
3
4
main.o: $(MyPath)/main.c
5
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<
6
7
task.o: $(MyPath)/task.c
8
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<
9
10
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.

von Mehmet K. (mkmk)


Angehängte Dateien:

Lesenswert?

und bild 2

von Mehmet K. (mkmk)


Angehängte Dateien:

Lesenswert?

und 3

von SF (Gast)


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.

von Mehmet K. (mkmk)


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.

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.