Forum: Mikrocontroller und Digitale Elektronik NEWLIB für AVR32 compilieren


von ... (Gast)


Lesenswert?

Ich möchte mir zum Debuggen und weil ich eigene Funktionen für die sys 
calls implementieren will eine eigene newlib compilieren. Ich habe mir 
den von Atmel angepassten Sourcecode der Newlib heruntergeladen. Als 
nächstes habe ich versucht, wie bei dem Compilieren einer ARM toolchain 
die newlib zu konfigurieren: (erstmal ohne -DREENTRANT... und ohne -O0 
-g)
1
../newlib-1.16.0.atmel.1.0.0/configure --target=avr32

Das funktioniert. Wenn ich nun "make" eingebe, dann kommt nach einer 
kurzen Weile folgende Fehlermeldung:
1
configure: warning: build_alias=i686-pc-linux-gnu: invalid host type
2
configure: warning: host_alias=avr32: invalid host type
3
configure: error: can only configure for one host and one target at a time
4
configure: error: ../../../../../../../newlib-1.16.0.atmel.1.0.0/newlib/libc/machine/avr32/configure failed for avr32
5
configure: error: ../../../../../../newlib-1.16.0.atmel.1.0.0/newlib/libc/machine/configure failed for machine
6
configure: error: ../../../../../newlib-1.16.0.atmel.1.0.0/newlib/libc/configure failed for libc

Kann mir jemand helfen und mir sagen was ich machen muss, damit die 
newlib compiliert?

von O. D. (odbs)


Lesenswert?

Automake und Autoconf brauchen einen Patch, damit sie AVR32 kennen. Hast 
du evtl. vergessen, die entsprechenden Dateien in 
/newlib-1.16.0.atmel.1.0.0/ anzupassen?

von ... (Gast)


Lesenswert?

Danke für den Tipp. Also angepasst habe ich nichts. Ich dachte wenn ich 
die Version von Atmel nehme, dann funktioniert das so. Gibts dazu ein 
Tutorial oder eine Seite, wo ich den patch herunterladen kann?

von ... (Gast)


Angehängte Dateien:

Lesenswert?

Nach sehr langem suchen habe ich jetzt die Seite hier gefunden:

http://dev.doredevelopment.dk/wiki/Avr32-toolchain

Auf der Seite ist ein Link, wo man sich Patches für die binutils, den 
gcc und die newlib herunter laden kann:

http://ymorin.is-a-geek.org/svn/crosstool-ng/devel/avr32/

Der Patch funktioniert, d.h. damit lässt sich zumindest die newlib ohne 
Fehler compilieren. Seltsamerweise ist der Patch für die newlib Version 
1.17.0. Atmel bietet auf der Seite die ältere Version 1.16.0 zum 
download an und verwendet die auch in der toolchain.

von D Hoerl (Gast)


Lesenswert?

Gast oben hat gefragt, <<Gibts dazu ein
Tutorial oder eine Seite, wo ich den patch herunterladen kann?>>

Sie mussen zuerst newlib-1.17.0 download und uncompress. Dann koennen 
Sie von Terminal diesen Kommand verwenden:

$ patch -p0 < newlib-1.17.0-avr32.patch

D

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.