Forum: Compiler & IDEs Neues Projekt in WinAvr


von Andreas (Gast)


Lesenswert?

Hallo Jungs ...habe folgendes Problem:

Ich habe bis jetzt noch nie ein eigenes neues Projekt mit WinAVR
angelegt(hatte immer nur bestehende geändert). Ich habe das Projekt
angelegt, habe ein makefile generiert und es kommt kommt folgende
Meldung:


> "make.exe" all
Das System kann den angegebenen Pfad nicht finden.
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
> Time Taken: 00:00


mein "Programm" sieht so aus:

#include<avrio.h>

int main(void)
{
 nop;
}

ist ja nur testweise!!!

von Rahul (Gast)


Lesenswert?

Hast du vielleicht Leerzeichen im Pfad zu deinem Projekt?

von Andreas (Gast)


Lesenswert?

Nein habe ich nicht

von Rahul (Gast)


Lesenswert?

wie sieht denn dein Make-File aus?

von Andreas (Gast)


Angehängte Dateien:

Lesenswert?

siehe Anhang

von Wolfram (Gast)


Lesenswert?

wie heisst dein Programmfile tinytorg.c oder main.cpp ???

von Andreas (Gast)


Lesenswert?

es heisst : tinytog.c

von Rahul (Gast)


Lesenswert?

uns das Makefile befindet sich im gleichen Verzeichnis?
Müsste es nicht eigentlich "SRC = tinytog" heissen?
Benutzt du mfile (von Jörg Wunsch) oder hast du das Makefile händisch
erstellt?

von Andreas (Gast)


Lesenswert?

ja das makefile befindet sich im gleichen ordner, und wenn ich das
tinytog file hinzufüge kommt die gleiche meldung immernoch

von Andreas (Gast)


Lesenswert?

und ja ich habe das Makefile von Jörg Wunsch benutzt ... und habe dann
in der konfiguration oben im Menue meine Sachen eingestellt

von Andreas (Gast)


Lesenswert?

keiner mehr eine Idee ???

von Wolfram (Gast)


Lesenswert?

warum steht da noch main.cpp bei ccp Source files?
lösch das mal wenn es nicht zutrifft.

von Rahul (Gast)


Lesenswert?

Hab jetzt leider gerade keinen Zugang zu gcc, aber eigentlich müsste es
"SRC = tinytog" heissen, und wie Wolfram schon schrieb: Weg mit CPP.

von Andreas (Gast)


Angehängte Dateien:

Lesenswert?

hab das soweit geändert aber geht immer noch nicht ... hab das neue File
angehängt

von Dirk D. (dirkd)


Lesenswert?

Von wo startest Du make. CMD-Shell oder Cygwin-Shell?

Ist avr-gcc im Pfad?

von Andreas (Gast)


Angehängte Dateien:

Lesenswert?

ich starte make von Winavr ...
avr-gcc siehe anhang

von Dirk D. (dirkd)


Lesenswert?

Ok. Versuchen wir es anders:

Mach mal eine CMD-Shell auf und tipp avr-gcc --version. Welche Ausgabe
bekommst Du?

von Wolfram (Gast)


Lesenswert?

>Von wo startest Du make. CMD-Shell oder Cygwin-Shell
>>ich starte make von Winavr ...
Das war nicht die richtige Antwort
gehe auf start->ausführen
"cmd"
wechsle in dein Projektverzeichnis c:\tinyTog
(vermeide demnächst grosskleinschreibung das ist bei C nämliche ALLES
casesensitiv!)
"make"
-> die genaue Fehlermeldung interessiert

Die batchdateien gcc.bat etc sind unnötig.
nur Makefile und dein c-file sind nötig

hast du die Makefile mit mfile erstellt oder hast du noch selbst darin
editiert?

von Andreas (Gast)


Angehängte Dateien:

Lesenswert?

ich habe das File mit mfile erstellt und die Zeile für C++ Files
geändert. cmd (siehe Anhang)

von Dirk D. (dirkd)


Lesenswert?

Ich habe es mal schnell ausprobiert.

avr-gcc (Genauer gesagt: das Verzeichnis WinAVR/bin) ist vermutlich
nicht in Deinem Pfad enthalten.

Die Fehlermeldung (createProsses failed) deutet darauf hin.

von Andreas (Gast)


Lesenswert?

mhh das Versteh ich nicht so ganz ich habe mein Projekt auf c:\tinytog
mein WINAVR habe ich auf d:\winavr\

soll ich jetzt den Ordner in tinytog kopieren oder wie ?

von Wolfram (Gast)


Lesenswert?

du bist nicht ganz heimisch auf der Kommandozeile ?

gibt mal im Projektverzeichnis c:\tinytog (hast du's umbenannt)
ein:
echo %PATH%

und teste ob du im Projektverzeichnis
avr-gcc starten kannst

von Andreas (Gast)


Lesenswert?

ja geht da steht no input files

von Andreas (Gast)


Lesenswert?

musste den PC neustarten und jetzt steht da :

> "make.exe" all
AllocationBase 0x0, BaseAddress 0x71590000, RegionSize 0x470000, State
0x10000
D:\WinAVR\utils\bin\sh.exe: *** Couldn't reserve space for
cygwin's heap, Win32 error 487
AllocationBase 0x0, BaseAddress 0x71590000, RegionSize 0x470000, State
0x10000
D:\WinAVR\utils\bin\sh.exe: *** Couldn't reserve space for
cygwin's heap, Win32 error 487

-------- begin --------
avr-gcc (GCC) 3.4.6
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

AllocationBase 0x0, BaseAddress 0x71590000, RegionSize 0x470000, State
0x10000
D:\WinAVR\utils\bin\sh.exe: *** Couldn't reserve space for
cygwin's heap, Win32 error 487
make.exe: *** [sizebefore] Error 1

> Process Exit Code: 2
> Time Taken: 00:01

von Wolfram (Gast)


Lesenswert?

Welche Version von WinAVR benutzt du denn? Ich habe die von Januar 2006
und da ist avr-gcc 3.4.5 drin, du hast 3.4.6 ???

von Andreas (Gast)


Lesenswert?

vom 21.4.2006

von Andreas (Gast)


Lesenswert?

sollte ich mir vielleicht besser die ältere Version installieren ???

von Wolfram (Gast)


Lesenswert?

Ok. du bist aktueller
Hast du vor der Installation das alte WinAvr gelöscht?
Hast du installiert in c:\WINAVR?
Warst du dabei Administrator?
Hast du ein altes Projekt mit Makefile und es gibt auch da Probleme
beim Compilieren?

Wenn du alles mit ja beantworten kannst, warte noch ein paar Tage ab
dann taucht vielleicht ein Thread auf "Probleme mit neuem WINAVR"
oder mache selbst einen auf.

von Dirk D. (dirkd)


Lesenswert?

Also ich habe mir gerade das aktuellst WinAVR installiert (vorher hatte
ich auf diesem PC keine WinAVR Installation)

Dann habe ich das Makefile aus dem Anhang in ein beliebiges Verzeichnis
kopiert; ein File tinytog.c erstellt und aus der Kommandozeile make
aufgerufen.

Ergebnis: Alles wurde sauber ohne Fehlermeldung erstellt.

WinAVR wurde in C:\WinAVR installiert

Welches Betriebssystem verwendest Du?
Hast Du cygwin installiert?

von Andreas (Gast)


Lesenswert?

nein ich habe es auf d: installiert

von Thomas (Gast)


Lesenswert?

Hi

Ist das Tinytog programm um den Öltemp. Sensor zu simulieren?

Gruss

von Steffen (Gast)


Lesenswert?

Hallo, mich quält die selbe Fehlermeldung.

Internetrecherche hat mich drauf aufmerksam gemacht, dass trotz 
wiederholter Neuinstallation c:\WinAVR\bin und c:\WinAVR\utils\bin NICHT 
als Path eingetragen sind. Ich habe versucht, dies per Hand in die 
Umgebungsvariablen meines Benutzerkontos einzutragen, jedoch werden 
diese auch nach einem PC Neustart nicht unter Path gelistet.

Wie also kann ich den Pfad nachtragen/korrigieren?

von Steffen (Gast)


Lesenswert?

Ich einen interessanten Hinweis gefunden:

If 'c:\winavr\bin' is not listed, then that's your problem. You can fix 
this by adding it to your PATH environment variable (in autoexec.bat for 
Win9x machines) or by ammending the makefile to reference each of the 
relevent binaries (eg. avr-gcc, etc...) by their full path names.

Gerade der letzte Teil klingt brauchbar. Wie also kann ich diese 
Verweise im Makefile ändern?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Das kann's ja wohl nicht sein...

Du könntest WinAVR über einen Aufruf der Windows-Kommandozeile 
(Start->Ausführen->cmd) starten. Dabei vor dem eigentlichen Eintippen 
der Befehle der Toolchain einmal ein Batchfile starten, in der das 
Setzen des Pfades enthalten ist (set 
PATH=c:\winavr\bin;c:\winavr\utils\bin;%PATH%). Diese Einstellung gilt 
dann für alle aus dieser Kommandozeile gestarteten Programme.

Wenn du stattdessen das Makefile ändern willst, geht das in dem 
Abschnitt
1
# Define programs and commands.
2
SHELL = sh
3
CC = avr-gcc
4
OBJCOPY = avr-objcopy
5
OBJDUMP = avr-objdump
6
SIZE = avr-size
7
NM = avr-nm
8
AVRDUDE = avrdude
9
REMOVE = rm -f
10
REMOVEDIR = rm -rf
11
COPY = cp
12
WINSHELL = cmd
(Makefile aus 
http://www.mikrocontroller.net/articles/Beispiel_Makefile). Ich 
bezweifele aber ein wenig, dass das funktioniert. gcc startet je 
seinerseits Unterprogramme (cc1, as, ld) und die wollen ja auch gefunden 
werden.

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.