mikrocontroller.net

Forum: Compiler & IDEs Probleme mit kompilieren der avr-libc-1.2.0


Autor: Guido Gerlach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits.

Ich möchte den AT90CAN128 einsetzen, welcher von der jüngsten Version
der avr-libc unterstützt wird.

Beim Compilieren der avr-Libc bricht ./domake mit der Meldung
" as: unbekannte Option -mmcu=avr3 "

ab.
Ich benutze gcc in der Version 3.3.4-13 . Die Verzeichnisse unter /avr3
sind angelegt.

Was mache ich falsch?

Danke, Guido

PS: Meine Linux-Vergangenheit ist noch recht überschaubar, trivile
newbie Fehler sind also nicht auszuschliessen.

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst die AVR Binutils benutzen.  Wenn er "as" nehmen will (statt
"avr-as"), ist da was foul.

Autor: Guido Gerlach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die binutils-avr sind installiert. Der passende gcc damit auch. Auf der
Kommandozeile kann ich sie aufrufen (avr-as --help fördert die
erwartete Hilfe zutage).

Muss ich vielleicht noch Pfade eintragen?

Guido

Debian-Testing, Kernel 2.6.8-1

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der GCC ist übrigens nicht Bestandteil der binutils.

Wie hast Du denn das configure aufgerufen?  Wahrscheinlich nimmst Du
komplett den falschen Compiler, also gcc statt avr-gcc.

Autor: Guido Gerlach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Der GCC ist übrigens nicht Bestandteil der binutils.
Entschuldigung, ich habe mich unklar ausgedrückt: den avr-gcc habe ich
per apt-get manuell installiert.

das configure rufe ich im avr-libc-Verzeichnis mit ./doconf auf.

Ich habe jetzt sowohl die avr-binutils als auch den avr-gcc
deinstalliert und wieder installiert, alles mit atp-get.
Interessanterweise liefen jetzt

./doconf
./domake
./domake install

erfolgreich durch. Der Versuch ein Demoprogramm zu übersetzen
scheiterte dennoch.
Die Übersetzung überlasse ich make. Der Compileraufruf im makefile
lautet

CC=avr-gcc
OBJCOPY=avr-objcopy

CFLAGS=-g -mmcu=AT90CAN128

Den Controller AT90CAN128 finde ich in der io.h unter
/usr/local/avr/include/avr
gelistet.

Habe ich doch noch einen Pfad vergessen?

Guido

Autor: Wolf-Ruediger Juergens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da ich mein Linux geupdatet (SuSe 9.1 -> 9.2) habe bin ich auch bei der
Gelegenheit den GCC auf 3.4.3 und die avr-libc auf 1.2 neu kompiliert.
Ging soweit problemlos. Nur die Doku wurde nicht erstellt. Es fehlte
fig2dev, allerdings hat domake keine Fehlermeldung ausgegeben. Man muß
das Paket transfig und netpbm installieren, dann kann man im Ordner
build nochmal make anstoßen und erhält die Doku im HTML und PS Format.
Nur falls es jemandem genauso geht...

Wolf

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die neuen AVRs wie AT90CAN128 werden von den bislang freigegebenen
Versionen von GCC und Binutils leider noch nicht unterstützt, sondern
die muss man manuell noch patchen.

Die avr-libc enthält zwar bereits den Support für diese AVRs, kann ihn
aber nur nutzen, wenn auch binutils und GCC Support dafür haben
(configure erkennt das und passt sich entsprechend an).

Autor: Guido Gerlach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das verstehe ich nicht ganz:

Wenn configure durchgelaufen ist sollte der GCC auf dem aktuellen Stand
sein und den AT90CAN128 kennen? Das make zum Demoprogramm findet aber
den µC nicht ("not supportet mmcu" ... sry, habe ich im letzten Post
vergessen mit zu schreiben).

Oder muss ich jetzt den GCC+binutils noch händisch patchen? (bitte
nicht, da bin ich an-die-Wand-gestellt)

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein!

Wie geschrieben: alle bislang freigegebenen Versionenen (aka:
``releases'') von GCC unterstützen diese Chips noch nicht.
Lediglich
der CVS-Code des GCC hat sie bereits eingepflegt.

binutils meiner Meinung nach dasselbe.

Du musst händisch patchen.  WinAVR hat dies als Geste zu seinen
Nutzern bereits gepatcht.

Die Patches geistern irgendwo im Netz 'rum.  Ich glaube, in diesem
Patch-Artikel kannst Du die Referenzen finden:

http://savannah.nongnu.org/patch/index.php?func=de...

(Die avr-libc betreffenden Teile brauchst Du natürlich nicht mehr, die
sind ja schon in der 1.2.0 mit drin.)

Es könnte auch lohnen, Eric Weddington mal selbst danach zu befragen.

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.