www.mikrocontroller.net

Forum: Compiler & IDEs WINAVR - Makefile - Problem: Was ist "bfd-target"?


Autor: Chris Blues (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich stell gerade von der "avrfreaks"-Version auf die WINAVR um. Schade, 
dass die Installation von der hier nicht auch beschrieben ist, dann 
würde man es kapieren.
Ich hab das Makefile jetzt soweit, dass es anfängt zu arbeiten am Ende 
kommt aber die Fehlermeldung:

avr-objcopy -O avrobj -R .eeprom test_lcd.elf test_lcd.obj
avr-objcopy: test_lcd.obj: Invalid bfd target
make: *** [test_lcd.obj] Error 1

WAS ist ein "invalid bfd target"?

Und bitte, bitte, BITTE, verweist mich nicht auf die AVRFREAKS - Seite. 
So gut wie eure Seite auf mikrocontroller.net ist, so unverständlich und 
nutzlos waren die bisher für mich.

Vielen Dank für eure Hilfe.

Chris

Autor: Chris Blues (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:

Mir wäre auch geholfen, wenn man mir ein Universal-Makefile für WinAVR 
zukommen lässt. Das mitgelieferte funktioniert irgendwie nicht. Und 
ausser der (ein paar hundert Seiten langen) GNU-Anleitung hab ich nichts 
dazu gefunden. Steht irgendwo (möglichst auf Deutsch), wie so ein 
Makefile aufgebaut ist?

Chris

Autor: AndreasH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Anleitung in deutsch wie ein Makefile aufgebaut sein muss, findest 
Du hier:
http://rfhs8012.fh-regensburg.de/~opel/docs/makefiles.php

Mußt Du dann nur noch für winavr ändern.

Autor: Chris Blues (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke AndreasH,

das hilft sicher weiter, vielleicht versteh ich die makefiles damit und 
finde den Fehler :-).

Chris

PS: diesen "bfd-target" Fehler hat noch niemand gehört? Hab irgendwie 
das Gefühl, es hat mit einem falschen Eintrag zu einem Ordner zu tun, 
aber ich da nix. Das Problem ist halt, dass ich das avr-freaks-makefile 
mit winavr verwende und es umschreibe...

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wofür "bfd" steht, weiß ich nicht genau.  Die Fehlermeldung meint, daß
das Programm mit dem von Dir gewünschten Ausgabedateiformat nichts
anfangen kann.  Also RTFM...  Ah ja, -O beschreibt laut man page den
"bfdname" des Ausgabeformates.  "avrobj" ist ein ungültiges 
Ausgabeformat.
Ich vermute mal, daß damit das Atmel-AVR-COFF gemeint wäre, das vom
AVRstudio verstanden wird.  Dieses Format ist den GNU-Tools native nicht
bekannt.  (Es gab aber offenbar früher einen Hack, mit dem man dieses
direkt erzeugen konnte, wahrscheinlich war der in der avrfreaks-Version
eingebaut.  Weiß ich aber nicht genau, habe kein Windows und kein
AVRstudio.)

Dafür gibt es derzeit objtool als Konvertierungswerkzeug.  Eric will
sich aber bemühen, ob nicht der alte Hack doch irgendwie Einzug in die
offiziellen binutils finden kann (zumindest, wenn diese für das Target
"avr" compiliert werden).

Die generischen Makefiles haben alle so ihre Probleme.  Das größte
seht Ihr hier alle selbst gerade: sie werden als Blackbox benutzt,
ohne daß der Anwender die geringste Ahnung hat, wie "make"
funktioniert.  make ist eigentlich nicht so schwer zu lernen, aber
sorry, in einem gräßlichen Nicht-Editor eines HTML-Formulars kann ich
das auch nicht reinhämmern.  Das beste ist es sich eigentlich, ein
gutes kleines Beispiel zu schnappen und dies dann anhand der
Originaldoku zu verstehen.  In der nächsten WinAVR-Version werden die
offiziellen examples der avr-libc mit dabei sein, die besitzen derartige
"klein aber fein" Makefiles.

Sorry, ob es dafür was in Deutsch gibt, habe ich keinen Schimmer.  Wozu
auch?  Wer die AVR-Datenblätter versteht, sollte auch genug Englisch
können, die make-Doku zu verstehen...  (Und wer die AVR-Datenblätter
nicht versteht, hat wohl ohnehin schlechte Karten.)  Ich glaube, in
dieser Branche sind fundamentale Englischkenntnisse einfach 
Voraussetzung
fürs Überleben.

Autor: Chris Blues (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon klar, dass man Englisch können muss, aber warum soll man sichs 
immer schwer machen ;-)
Ist das selbe wie mit dem make-File: solang es geht, gibt es keinen 
Grund sich damit zu beschäftigen. Mein Programm für den AVR8515 mit 
angeschlossenem LCD und 4x3-Matrix-Tastatur funktioniert, und es hapert 
nur noch an der Ausgabe einer einzigen Zahl, die aus den Eingaben 
berechnet wird. Der Printf-Befehl aus diesem Forum wirft meine 
LCD-Anzeige durcheinander. Also brauch ich andere Befehle, die in diesem 
Forum teilweise beschrieben werden. Dazu muss ich aber eine aktuellere 
Vrsion als die von avr-freaks benutzen. also WINAVR. Und dazu muss ich 
ein neues Makefile erzeugen... und das nur wegen der Ausgabe einer 
einzigen Zahl...

Also nichts für ungut Joerg, dass man hier Englisch können muß, ist 
klar, warum aber, sobald einer nach einem Tutorial fragt, als erstes 
kommt "auf deutsch oder englisch? in englisch haben mehr was davon" 
versteh ich nicht. Warum nicht auch mal für die eigene Sprache was tun 
und es den Leuten leicht machen. Wenn Englischsprachige das Tutorial gut 
finden, sollen sie es sich übersetzen ;-) Bischen mehr Mut zur eigenen 
Sprache! (OK, ich komm von der Germanistik her... 
Geisteswissenschaftler... is ja gut... ;-)

Bis dann,

Chris

Autor: Chris Blues (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja! In diesem Zusammenhang möchte ich mich bei Christian Schifferle 
bedanken :-) Unheimlich viel Arbeit in ein Tutorial, dass "nur" 
Deutschsprachige lesen können ;-).

DANKE! GEILES TEIL!

Chris :-)

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.