Problem beim "make all" WinAVR -

Gast #1325846
Lesenswert?

Hallo Leute,

ich habe versucht über DOS-Fenster ein C-Programm in .hex zu übersetzen.

WinAVR-20090313

Leider bekomme ich Haufen Fehler! Siehe Anhang.

Was mache ich falsch?
Mein C-Code sieht folgender Maße aus.

>//hello.c
>#include <avr/io.h>
>
>int main(void)
>{
>    DDRB = 0x1F;
>
>    DDRB = (1<<DDB0)|(1<<DDB1)|(1<<DDB2)|(1 << DDB3)|(1 << B4);
>}

und mein Makefile kommt nach im nächsten Anhang
Angehängte Dateien:
Gast #1325870
Lesenswert?

schau dir mal diese zeile ganz ganz genau an:
1
 DDRB = (1<<DDB0)|(1<<DDB1)|(1<<DDB2)|(1 << DDB3)|(1 << B4);

ganz besonders das hier (1<< B4), das ist in der iom8.h nicht 
deklariert, ergo bekommst nen Syntaxfehler angezeigt. Korrigiere deinen 
Fehler und dein "Programm" funktioniert, ich jedenfalls komms dann 
compiliert ( mit deinem makefile )
Gast #1325934
Lesenswert?

>Wie meinst du das, gibt es da verschiedene Versionen?

Auf deinem Rechner gibt es wohl verschiedene Versionen.
Einmal das make vom Borland Compiler und das make
vom AVR-GCC. Im Pfad wurde halt das vom Borland Compiler
zuerst gefunden. Gib statt einfach nur "make all" halt
"PfadzuAVRGCCmake\make all" ein.
Gast #1325942
Lesenswert?

> Wie meinst du das, gibt es da verschiedene Versionen?
Ja, WinAVR bringt seine eigene mit, vermultich von GNU.
> Ich habe alles so gemacht wie es in Makefile stand!
Das Problem ist ja vermutlich (unter anderem) welches make das makefile 
aufruft.
> Was sollte ich anders machen?
Die Pfade so anpassen, dass das passende make aufgerufen wird. Evtl. 
programmierst du ja auch noch mit Borland, dann wird es eklig. Ich kenne 
micht unter Windows nicht wirklich gut aus. Unter Linux würde ich ein 
alias nehmen, unter Windows -> keine Ahnung. Evtl. eine batch-Datei, 
oder du versuchst unter WinAVR was zu drehen, und führst dann make all 
unter WinAVR aus.
Dein Screenshot sugeriert mir, dass du die make all in der DOS-Box 
ausführst, oder öffnet die WinAVR?


Den Tipp von Holger kannst du auch in ein Batch-File schmeißen, ersprt 
Tipparbeit. ;-) Natürlich nur, wenn du aus der DOS-Box heraus make 
aufrufst.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren