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
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
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...
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.
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
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 :-)