Forum: Compiler & IDEs UltraEdit-32


von Peter Zimmer (Gast)


Lesenswert?

Hallo,
ich habe mir UltraEdit-32 heruntergeladen und Installiert. Ich wollte 
ein kleinen Code compilern. Ich habe die Einstellungen wie sie auf dem 
Scrennshoot 1:1 übernommen. Was mache ich falsch es kommt folgende 
fehlermeldung:
C:\AVRGCC\BIN\MAKE.EXE: *** No targets specified and no makefile found. 
Stop.
Das make file ist dem verzeichnis wo auch das andere file liegt.
Wäre für jede Hilfe dankbar.
Peter

von Oryx (Gast)


Lesenswert?

Hallo Peter,
das Arbeitsverzeichnis scheint nicht richtig zu sein.
Wenn Du den Parameter %P verwendest, wird in dem Verzeichnis der 
aktuellen Datei gesucht.

Evtl. solltest Du den kompletten Pfad für deine makedatei im 
Arbeitsverzeichnis angeben.

Hat deine makedatei den richtigen Namen. Er lautet "makefile", also ohne 
Dateierweiterung.

Oryx

von BAB (Kai K.) (Gast)


Lesenswert?

was heisst wo auch das andere liegt? das makefile gehört standardmässig 
in den ordner wo auch deine projektdateien liegen. der fehler liegt nach 
meiner einschätzung entweder am namen des makefiles oder es befindet 
sich im falschen ordner.

für die konfiguration von UE schau mal hier:
http://www.mikrocontroller.net/avr-gcc-installation.htm

C:\AVRGCC <<- ich sehe gerade diesen ordner..hast du die aktuelle winavr 
version installiert oder eine alte von avrfreaks?

gruss,
BAB

von Peter Zimmer (Gast)


Lesenswert?

Ich habe 10.0b installiert.
bei mir geht es weiter C:\avrgcc\avrfreaks
warum gibt es da eine neue?
Am liebsten wäre es mir wenn ich einfach nur einen klick machen muss.
DAnke schon mal für eure Hilfe.
Ich habe mal einen Dirkten pfand zum makefile im avrfreaksorder gemacht. 
Ging aber trotzdem nicht.
Peter

von BAB (Kai K.) (Gast)


Lesenswert?

was du da hast ist uralt..:)..

hier der link:

https://sourceforge.net/projects/winavr/

winavr installiert auch automatisch alle umgebungsvariablen..du brauchst 
also nichts mehr einstellen und kannst sofort loslegen...
du solltest aber vorher alle umgebungsvariablen von der avr-freaks 
variante löschen sonst könnte es probleme geben.

gruss,
BAB

von Peter Zimmer (Gast)


Lesenswert?

Hallo,
ich habe jetzt den WINAVR hoffentlich installiert.
Und da habe ich jetzt ein Programmer Notepad.
Jetzt blicke ich garnicht mehr durch. Ich finde da keine Option wo sich 
irgenwie nach compielern anhört.
Was mache ich falsch? Ich habe da nach einem makefile gesucht das ich 
irgenwie in Ultraedit einbinden zu können das war aber fehlanzeige.
Wie geht es jetzt weiter?
Ich hoffe das ich euch nicht zu arg nerv.
Peter

von BAB (Kai K.) (Gast)


Lesenswert?


von Peter Zimmer (Gast)


Lesenswert?

Hallo,
habe es so wie das obere eingestellt geht aber immer noch nicht. In der 
Datei wo sich dei Cdatei drin ist ist auch das Makefile. Aber trotzdem 
kommt folgende meldung:
make: *** No rule to make target `all'.  Stop.

> Process Exit Code: 2

Wäre um jeden Tip dankbar.
Peter

von Oryx (Gast)


Lesenswert?

Hallo Peter,
das sieht doch gut aus. Deine makedatei wird wohl gefunden.
Leg doch mal leine c-datei und die makedatei als Anhang bei.

Oryx

von Peter Zimmer (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe sie vom C-Kurs hier auf derSeite ist Übung 1 HAbe beide Dateien 
Runtergeladen.
Peter

von Peter Zimmer (Gast)


Angehängte Dateien:

Lesenswert?

Und hier ist nch die Cdatei

von BAB (Kai K.) (Gast)


Lesenswert?

hallo peter,

ich habe mit jetzt auch die schnelle deine files nicht angeschauen..zum 
starten nimm lieber das demo makefile
von eric weddington und passe es auf deiner bedürfnisse an.

liegt in:

c:\winavr\sample

gruss,
BAB

von Oryx (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Peter,
ich habe mal eine ZIP-Datei angehangen.
Entzippen mit Pfadangaben und Unterverzeichnissen beibehalten.

Das Arbeizverzeichniss bei der Einstellung von UltraEdit setze auf 
c:\peter\prell

Wenn du jetzt irgendwelche Änderungen an prell.c vornimmst, sollte neu 
compiliert werden.

Benutze für die Dateinamen immer nur kleine Buchstaben. Unter UNIX ist 
Prell.c nicht prell.c !!!
Der Compiler kommt aus der UNIX-Ecke. Hoffentlich erzähle ich hier 
keinen Blödsinn. Auf meinem Rechner muß die Groß- und Kleinschreibung 
passen.

Make erzeugt eine Datei im Format elf. Jetzt muß mir noch irgentjemand 
sagen, was für ein Format an den AVR übertragen werden kann. Dann setze 
ich noch das objcopy in das makefile.

Oryx

von Joerg Wunsch (Gast)


Lesenswert?

Groß-/Kleinschreibung:

Ja, generell ist es eine gute Idee, diese einfach konsistent
zu benutzen.  Wenn man also ein Include.h angelegt hat, sollte
man eben auch #include "Include.h" schreiben und nicht
#include "include.h".  Das erleichtert die Portierung des Jobs
auf Dateisysteme, die zwischen beiden Fällen unterscheiden.
Wenn mir irgendwo jemand eine Zip-Datei mit einem Job zur
Begutachtung vorlegt und ich muß darin erstmal die Groß-/
Kleinschreibung reparieren, kann sich jeder vorstellen, wieviel
Lust ich dann noch habe, nach dem eigentlichen Problem zu
suchen...

Wirklich wichtig wird das vor allem bei Dateiendungen.  Wenn
eine Assemblerdatei so geschrieben ist, daß sie erst noch durch
den C-Präprozessor geschickt werden muß (weil sie #include,
#define oder sowas nimmt), dann sollte sie .S als Suffix
besitzen, und genau dies sollte dann auch so im Makefile
stehen.  Wenn der Compiler eine Datei sieht, die auf .S
endet, wirft er den Präprozessor an und übergibt das
Ergebnis dem Assembler.  Wird die Datei ihm mit .s angegeben,
so gibt er sie direkt dem Assembler.  Der Unterschied ist
dabei, wie es auf der Kommandozeile des Compilers (und
damit im Makefile) steht.  Dem Compiler ist in diesem Falle
ziemlich egal, daß ein Windows unter beiden Namen die gleiche
Datei suchen würde.

von Peter Zimmer (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
Danke schon mal für deine mühe.
Aber die elf datei kann ich nicht in den AVR übertragen.
Ponyprog unterszüzt nur:
e2p
hex
mot
bin
csm
rom
eep
Hex geht auf jedem FAll die anderen konnte ich nicht probieren.
Es kam auserdem folgende Meldung:

make: *** Warning: File `c:/peter/obj/prell.o' has modification time in 
the future (2003-03-28 19:31:42 > 2003-01-10 20:22:45)
avr-ld -Map c:/peter/obj/prell.map -o c:/peter/prell/prell.elf\
c:/peter/obj/prell.o
make: *** Warning:  Clock skew detected.  Your build may be incomplete.

Ich habe auch noch das makefile auf dem 4433 umgestellt.
Inwiefern die Fehlermeldung eine bedeutung hat weiß ich nicht.
Dort steht aber das es incomplete wäre. Das hat mich etwas iritiert.
Eine elf datei hat er erzeugt. (die wo du mitgeliefert hast habe ich 
gelöscht und dann compielert und dann war sie wieder da).
Peter
PS. ich habe mal die erzeugte elf Datei als anhang beigelegt.

von Oryx (Gast)


Lesenswert?

Hallo Peter,
läuft doch super.
Das mit dem incomplete ist nicht wichtig, Du muß nur den Inhalt von 
peter/obj löschen.
Und deinen Wecker im Recher auch mal wieder stellen, ich warte schon auf 
das März-Gehalt und bei Dir ist wohl noch Januar.

Ich ändere meine makedatei noch mal eben.

Oryx

von Oryx (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Peter,
ich habe Dir nochmal das makefile gemacht.

Bitte den Kommentar am Ende lesen.
Deinen Controller habe ich auch eingetragen.

Oryx

von Peter Zimmer (Gast)


Lesenswert?

Hallo,
Es geht jetzt alles soweit. Ich bekam jetzt eine Hex die ich auch 
gebrannt habe. Ich musste noch im Makefile
90s hinschreiben haben sie anscheinend vergessen.
Jetzt ist aber die frage was muss ich machen wenn ich mal ein anderes 
Projekt anlegen will? Wie erstelle ich das file selber bzw was muss ich 
änderen?
Peter
Ich warte nicht auf mein gehalt sonderen auf die nächsten Schulferien. 
grins

von Oryx (Gast)


Lesenswert?

Hallo Peter,
was ist das mit den 90s?
Mein Problem ist, das ich garkeine Ahnung von den AVRs habe, nur mit den 
makefiles will es einigermassen gehen.

Auch die Compileroptionen sind mit Sicherheit noch nicht optimal.

Die Optionen  -Wstrict-prototypes -Wunused -Wshadow -Wswitch 
-Wparentheses -Wall -Werror behandeln Compilerwarnungen, es wird 
eigentlich alles gewarnt. -Werror behandelt Warnungen wie Fehler. 
-Wstrict-prototypes kann in C++ Code entfallen, weil es der Compiler eh 
macht.

Speziell mit -g -Os solltest Du mal etwas experimentieren. Verwende mal 
statt -Os -O2 oder -O3. Und -g sollte doch nur für Debuginformationen 
sein, kann also auch mal entfallen.

Für ein neues Projekt brauchst du nur ein Verzeichnis mit dem 
Projektnamen anlegen, das makefile kopieren und eine c oder cpp Datei 
mit dem Projektnamen erstellen.
Und natürlich deinen Controller in das makefile eintragen.

Wenn Du willst, gebe ich die in den nächsten Tagen eine 
Verzeichnisssammlung, die den Programcode aus mehreren Dateien und 
Verzeichnissen zusammensucht.

Ich brauche halt jemanden, der es auf einem AVR laufen läßt.
Mein Ziel ist eigentlich, mein makefile so hinzubekommen, das  andere es 
verstehen, nutzen und ändern können. Es soll auch noch relativ 
unabhängig von der eingesetzten Controllerfamilie sein.

War das Datum deines Rechners im Januar eingestellt?
Für das make ist das Datum das entscheidene Kriterium.

Schulferien sind ne schöne Sache. Dann haßte ja so richtig Zeit.

Oryx

von Peter Zimmer (Gast)


Lesenswert?

Hallo,
MIt dem 90s vergessen meinte ich folgendes:
Sie haben geschrieben: at4433
es gehört aber so: AT90s4433.
DAtum habe ich jetzt richtig eingestellt. Vieleicht kann ich mir ja 
morgen die Strasenbahnkarte ergattern und dann nach Karlsruhe in die 
Stadtbibilothek fahren. Dann werde ich mich mal noch Büchern umschauen. 
Weil der anfang ist dort relativ schlecht beschrieben.
Z.B.
Was für includes man braucht (kann mir das jemand sagen?)
Wie das mit den geschweiften klammern ist.
Wie das mit dem Main ist.
HAt vieleicht jemand gerade ein einfaches Beispiel da am besten nur das 
am einem Port die Lichter angehen. Ich finde das das im Touturial fehlt.
Peter

von Joerg Wunsch (Gast)


Lesenswert?

-Os ist übrigens für den AVR meistens die beste Optimierung.
-O2 und vor allem -O3 brauchen mehr Platz, ohne dabei wirklich
nennenswert schneller zu werden (< 10 % habe ich mal getestet).

von MiCHEL (Gast)


Lesenswert?

schau gleich mal in der Biblothek ob die ein "c" buch haben, weil 
folgende Sachen sind rein "c" nix avr-technisches.

frag doch einfach mal google oder lese ...

http://www.mypage.bluewin.ch/ch_schifferle/C-Kurs.zip

von MiCHEL (Gast)


Lesenswert?

zwecks makefiles ...

http://www.avrside.fr.pl/eng/ind_eng.html

steht auf der seite:
>> no trouble with makefiles edition - you can directly set options you need

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.