Forum: Compiler & IDEs Anfänger Problem WinAVR Einstellungen


von Thorsten (Gast)


Angehängte Dateien:

Lesenswert?

Hi habe ein Problem mit dem Programm WinAVR. Den Microcontroller den ich
benutzte heißt Atmega8.
Habe alle Einstellungen wie Sie unter diesem Link:
http://www.kreatives-chaos.com/index.php?seite=avrgcc
beschrieben sind eingestellt, leider ohne Erfolg.
Sprich ich habe ein Makefile erstellt und die Einstellungen im
Programmers Notepad vorgenommen.
Wie kann ich jetzt mein Programm compilieren?
Wenn ich im Programmers Notepad auf Tools -> AVR – Programmieren gehe,
bekomme ich folgende Fehlermeldung:

> "make.exe" program
Das System kann den angegebenen Pfad nicht finden.
make.exe: *** No rule to make target `Licht.o', needed by
`Licht.elf'.  Stop.

  Process Exit Code: 2

Tools -> AVR – Make gehe, bekomme ich folgende Fehlermeldung:

> "make.exe" all
Das System kann den angegebenen Pfad nicht finden.
ECHO ist ausgeschaltet (OFF).
-------- begin --------
process_begin: CreateProcess((null), avr-gcc --version, ...) failed.
make (e=2): Das System kann die angegebene Datei nicht finden.
make.exe: *** [gccversion] Error 2

  Process Exit Code: 2

Tools -> AVR – Clean gehe, bekomme ich folgende Fehlermeldung:

> "make.exe" clean
Das System kann den angegebenen Pfad nicht finden.
ECHO ist ausgeschaltet (OFF).
-------- begin --------
ECHO ist ausgeschaltet (OFF).
Cleaning project:
rm -f Licht.hex
process_begin: CreateProcess((null), rm -f Licht.hex, ...) failed.
make (e=2): Das System kann die angegebene Datei nicht finden.
make.exe: *** [clean_list] Error 2

  Process Exit Code: 2


Das Makfile ist als Anhang beigelegt vielleicht liegt der Fehler ja
daran:

Vielleicht kann mir jemand helfen, ich versuche jetzt schon stundenlang
dieses Problem zu lösen, komme aber auf keinen grünen Zweig.

von Jörg Wunsch (Gast)


Lesenswert?

Der Fehler liegt nicht im Makefile, sondern stets daran, daß make.exe
selbst nicht gefunden wird.

Warum, das mußt Du besser wissen als ich -- ich benutze kein Windows,
Du schon. ;-)

Mir ist noch so im Ohr, daß man nach dem Einrichten von %PATH%
irgendwie nochmal booten muß, bevor Windows das begreift...

von Dieter B (Gast)


Lesenswert?

Hallo

Welches Betriebssytem hast du denn ??

Was passiert, wenn du in einem DOS Fenster MAKE eingibst ?

Stimmen die Pfadangaben denn ? im DOS Fenster SET eintippen, je nach
Betriebssystem.

WINAVR ist aber korrekt installiert worden ?? In c:\winavr z.B.


MFG
Dieter

von Oryx (Gast)


Lesenswert?

Hallo Thorsten,
ist denn überhaupt eine Datei mit dem Namen Licht.c vorhanden?
Die Gross- und Kleinschreiberei ist wichtig. Licht ist ungleich licht.
Ist auch die Dateierweiteung ein kleines c ?

Sind noch andere Compiler (Mingw oder Cygwin) auf deinem Rechner. Der
Make von Borland drängelt sich auch gerne vor.

Ist auch wirklich alle in C:\winavr installiert worden.

Ansonsten schick mal dein Quellcodeverzeichniss (gezippt, mit
Pfagangaben). Aber nur die Quellcodes.

Oryx

von Thorsten (Gast)


Angehängte Dateien:

Lesenswert?

Betiebssystem: Windows XP

Habe ein Screeshot gemacht was bei make unter c:\ und unter dem Ordner
in dem ich das WinAVR installiert habe gemacht und bei dem Befehl set.
Ist als Anlage beigefügt.

Bei der Installation kamen keine Fehlermeldungen. Pfadangaben müssten
auch stimmen.

von Oryx (Gast)


Lesenswert?

Hast du winavr unter C:\programme\winavr installiert?
Ja, sieht so aus

Hast du den Suchpfad auf c:\avrgcc gelegt?
Ja, sieht so aus

Da solltest du dich wohl entscheiden

Bei mir läuft der winavr super. Der avrgcc wird wohl nicht mehr so
geflegt.

Noch was: Bei Windows-Instalationen nie mitdenken, geschweige denn,
irgendetwas eingeben. Wenn der Installationspfad C:\winavr
vorgeschlagen wird, nicht verändern. Ausser natürlich, wenn man weiss,
was man tut.


Oryx

von Dieter B (Gast)


Lesenswert?

Hallo

Trag mal unter Path folgende Werte ein und lösche die c:\avrgcc

C:\programme\WinAVR\bin;C:\programme\WinAVR\utils\bin

Außerdem hast du ja einen Borland C Compiler installiert. Benenne mal
die make.exe von Borland um. z.B. in male.old. Nur zum testen

Dann wechsele mal ins Verzeichnis
c:\programme\winavr\examples\demo

Da ist ein Test File drin. Im DOS Fenster gibst du dann mal ein
lustiges "make all" ein. Schau was passiert. Danach sollten in dem
Verzeichnis einige Dateien mehr vorhanden sein.

Dann berichte nochmal

MFG
Dieter

von Thorsten (Gast)


Angehängte Dateien:

Lesenswert?

Habe es jetzt unter einem anderen Rechner genau dort installiert wo es
vorgegeben wird. Und wieder diese Einstellungen wie oben gemacht. Siehe
Screenshot. Wie erzeuge ich die Dateien: Licht.o und Licht.eof
Die Datei in der ich mein C-Code habe heißt Licht ohne irgendeine
Endung

von Dieter B (Gast)


Lesenswert?

Hallo

Die sollte aber schon "licht.c" heißen. Erstellt wird die in einem
normalen Text Editor oder halt in Programmers Notepad .

Im Makefile wird aber nur "licht" eingetragen, das ".c" hängt der
dann selber daran.


Sieht aber schon viel besser aus, dein screenshot.

MFG
Dieter

von Thorsten (Gast)


Lesenswert?

Bin im Programmers Notpad wie folgt vorgegangen:
1.) File New
2.) Code eingetragen:

    #include<avr/io.h>
    {
       unsigned char i;
       for(;;);
       return 0;
    }
  der Code bewirkt zwar nichts aber zum testen reicht er.
3.) File SaveAs
    Licht
    aber die abgespeicherte Datei heißt nur Licht und nicht Licht.c

Keine Ahnung woran das liegt

von Dieter B (Gast)


Lesenswert?

Hallo

Dann würde ich als Dateinamen einfach mal "licht.c" eingeben.

MFG
Dieter, der sich ein leichtes Grinsen nicht verkneifen kann

von Thorsten (Gast)


Lesenswert?

Habe ich gemacht, dann benötigt er irgenwann mal
Licht.o
Licht.elf
Licht.hex

Das kann doch nicht sein dass man alle Endungen selbst schreiben muss
oder?

von Dieter B (Gast)


Lesenswert?

Nein.

Die werden automatisch angelegt. Du brauchst in deinem Verzeichnis nur
2 Dateien. Einmal dein C File und ein Makefile.

Schau doch mal in dem Ordner examples\demo. Da ist doch ein C File und
ein Makefile drin. Schau was da passiert.

MFG
Dieter

von Thorsten (Gast)


Lesenswert?

Danke das hat funktioniert, habe jetzt mal in die demo.c mein Beispiel
hineingeschrieben und das Makefile von dem Demo Ordner benutzt hierbei
kommt aber der Fehler:

> "make.exe" all
avr-gcc -g -Wall -O2 -mmcu=at90s2313    -c -o demo.o demo.c
demo.c:2: error: parse error before '{' token
demo.c:7:2: warning: no newline at end of file
make.exe: *** [demo.o] Error 1

> Process Exit Code: 2

von Dieter B (Gast)


Lesenswert?

Hallo

Dann probier das mal so.

#include<avr/io.h>

void main (void)
    {
       volatile unsigned char i;
       for(;;);
       return 0;
    }

Sollte dann auch im AVR Studio zum debuggen sein. Das cof File dann
öffnen.

MFG
Dieter

von Thorsten (Gast)


Lesenswert?

Danke schon mal funktioniert alles, er erstellt mir nur keine Datei mit
.cof sondern nur .hex, .ist, .elf, .map, usw.

von Dieter B (Gast)


Angehängte Dateien:

Lesenswert?

Dann probier das makefile mal

MFG
Dieter

von Thorsten (Gast)


Lesenswert?

Das funktioniert, mit welchem Programm und welche Datei muss ich jetzt
öffnen damit ich den Code an meinen Microcontroller schicken kann

von Dieter B (Gast)


Lesenswert?

Hallo

Gebrannt wird die .hex Datei mit einem Programm deiner Wahl.

http://www.mikrocontroller.net/tutorial/equipment.htm

z.B.
Pony programm, Bascom

MFg
Dieter

von Christian (Gast)


Lesenswert?

Habe alles geamcht wie es auf dieser Seite steht. Das Demo unter
c:\winavr\examples\demo starten will kommt aber die Meldung:
"demo.o does not exists - don´t know how to make ist"
Liegt das irgendwie am Makefile oder was mache ich falsch

von Jörg Wunsch (Gast)


Lesenswert?

Hast Du denn dort (also in diesem Verzeichnis) erstmal ein `make'
eingegeben?

Das Beispiel-Makefile dort erzeugt übrigens kein COFF oder Ext-COFF
oder sowas (für AVR Studio).  Wenn Du das haben möchtest, mußt Du Dir
stattdessen selbst eins anpassen (oder es von Mfile erledigen lassen).

von Christian (Gast)


Lesenswert?

Nein er soll mir einfach die demo.o, demo.h, usw erstellen wie es auch
in dem Makefile beschrieben ist. Aber er macht das einfach nicht

von Christian (Gast)


Lesenswert?

Jetzt bekomme ich die Fehlermeldung:
process_begin: CreateProcess((null), avr-gcc --version, ...)failed.
make(e=2): Das System kann den angegebene Datei nicht finden.
make: ***[gccversion] Error 2

Was ist jetzt falsch.

von Thorsten (Gast)


Angehängte Dateien:

Lesenswert?

Problem beim Compilieren. Ich bekomme immer eine Fehlermeldung beim
compilieren. Habe mal alles was ich bisher eingestellt habe und was
geschieht wenn ich compiliere usw. (siehe Dateianhang)zusammengefasst.
Vielleicht kann mir ja jemand helfen.

von Dieter B (Gast)


Lesenswert?

Hallo Thorsten

Deine Path Eingaben stimmen nicht. AVRGCC ist die alte Version. Die
neue heißt jetzt WINAVR.

Also nochmal:

Trag mal unter Path folgende Werte ein und lösche die c:\avrgcc

C:\WinAVR\bin;C:\WinAVR\utils\bin


MFG
Dieter

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.