www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem beim "make all" WinAVR -


Autor: steve (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: steve (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
so mein makefile

Autor: lightninglord (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schau dir mal diese zeile ganz ganz genau an:
 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 )

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man das Borland Make mit einem AVR-GCC makefile
benutzt könnte das schon problematisch sein ;)

Autor: steve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: rotuA (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jungs Ihr hattet recht.

Danke!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.