Problem beim "make all" WinAVR -

Gast #1325846
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
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
@lightninglord
danke für den Tipp

@holger
Wie meinst du das, gibt es da verschiedene Versionen?
Ich habe alles so gemacht wie es in Makefile stand!
Was sollte ich anders machen?
Gast
>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
> 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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.