Forum: Compiler & IDEs WinAVR und AvrLibc 1.0.2


von Edgar (Gast)


Lesenswert?

Hallo Allerseits,

bin gerade in GCC mit WinAVR eingestiegen. Ich habe jetzt gesehen, daß
es von AvrLibc eine neuere Version (1.0.2) als bei WinAVR (0.99.xx)
gibt.
Meine Frage an die Profi's:
1. worin bestehen die großen Unterschiede?
2. wie installiere ich AvrLibc 1.0.2 so, daß es mit WinAVR
funktioniert? Und geht das überhaupt?

Danke für Eure Unterstützung,
Edgar

von Jörg Wunsch (Gast)


Lesenswert?

> 1. worin bestehen die großen Unterschiede?

Siehe ChangeLog (kann man sich über das Web-Interface zum CVS auch
ansehen).  Im Wesentlichen Bugfixes oder kleine Ergänzungen, solange
es sich dabei um Erweiterungen handelt, die keins der bereits bei 1.0
bestehenden APIs in Frage stellen.

> 2. wie installiere ich AvrLibc 1.0.2 so, daß es mit WinAVR
> funktioniert? Und geht das überhaupt?

Idealerweise durch einen Upgrade von WinAVR. ;-)

Leider gibt's den nicht so recht, Eric hat wohl da etwas Kuddelmuddel
mit seinem Brötchengeber.

Selbst compilieren ist nicht schwierig, aber man muß sich ein wenig
Cygwin zuvor installieren, wenn man das unter Windows machen will.
Andernfalls funktioniert leider die Makefile-Struktur, die aufgrund
der vier verschiedenen Binärzweige (avr2/avr3/avr4/avr5) etwas
verwurschtelt ist, nicht so recht.  (Das bei WinAVR mitgelieferte für
Windows gedachte make.exe kommt damit nicht klar.)

von Edgar (Gast)


Lesenswert?

Hallo Jörg,

Danke erst mal für die schnelle Antwort. Da ich mich mit Cygwin
überhaupt nicht auskenne und wohl auch keine großen Unterschiede in den
beiden Versionen bestehen, arbeite ich erst mak mit der 'alten'
Version.
Ist absehbar, wann es ein upgadetetes (schreckliches Wort :-) WinAVR
gibt?

Gruß,
Edgar

von Jörg Wunsch (Gast)


Lesenswert?

> Da ich mich mit Cygwin überhaupt nicht auskenne [...]

Mußt Du auch nicht, ist doch selbst ein Windows-Programm. ;-)

Es vereinfacht Dir die Installation einer neuen avr-libc fast auf die
unix-typischen simplen paar Schritte:

. auspacken
. in das Verzeichnis wechseln
. ./configure
. make
. make install

Das ist mittlerweile praktisch der Standard für viele
Unix-Software...  Was glaubst Du, warum die Unixer nicht auf Windows
wechseln wollen?  Allein zum Auspacken mit WinZIP braucht man
wahrscheinlich schon mehr Mausklicks, als man für obige Prozedur
Tastenanschläge braucht. ;-)

> [...] und wohl auch keine großen Unterschiede in den beiden
> Versionen bestehen

Bugfixes, bugfixes, bugfixes.

> Ist absehbar, wann es ein upgadetetes (schreckliches Wort :-) WinAVR
> gibt?

Meines Wissens leider noch nicht.

von Peter Fleury (Gast)


Lesenswert?

@Jörg
Ist die neueste AVR-Libc Version kompatibel zu den im WinAVR Packet
enthaltenen GCC und Binutils Versionen ?

von Jörg Wunsch (Gast)


Lesenswert?

Ja, es hat in den Basis-Tools lange keine Änderungen mehr gegeben.
Allerdings stehen die aus meiner Sicht demnächst an: die neuen MCUs,
die Atmel schon angekündigt hat, müssen zumindest in der Form, daß die
entsprechenden -mmcu Optionen akzeptiert und intern passend umgesetzt
werden (Einordnung in die avr2...avr5 Architektur) wohl mal rein.

Das dürften aus meiner Sicht aber auch alles keine Änderungen mit
großen Folgen sein, wenn man davon absieht, daß die avr-libc danach
wohl auch die MCUs nachziehen muß, um die entsprechenden crtXXX.o
Dateien bereitzustellen, was natürlich wiederum zwingend die neueren
Compiler/Binutils erfordern würde, die die entsprechenden Optionen
kennen.

Aber wie schon geschrieben, wenn die Makefile-Struktur der avr-libc
nicht so arg verwurschtelt wäre, daß das mitgelieferte make.exe daran
scheitern würde (dort wird make rekursiv neu aufgerufen, aber die
Übergabe der Argumente klappt zwischen der bash Shell und dem make.exe
nicht richtig), dann würden eigentlich bereits die bei WinAVR
vorhandenen Tools (ohne Cygwin) genügen.  Letztlich braucht man ja für
die avr-libc (ohne Doku) nicht viel mehr als Compiler + Binutils
(Assembler, Linker, Archivar).

von Martin (Gast)


Lesenswert?

"Allein zum Auspacken mit WinZIP braucht man
wahrscheinlich schon mehr Mausklicks, als man für obige Prozedur
Tastenanschläge braucht."

echt?
Rechtsklick->Entpacken nach "arvlibc ..."

von Thomas (Gast)


Lesenswert?

Hallo,

leider bekomme ich bei dem Versuch die avrlib zu compilieren und zu
installieren je menge Fehlermeldungen.
Cygwin ist installiert. (Default)
In welches Verzeichnis muss ich eigentlich die Datei entpacken? Einen
Path-Verweis nach C:\winavr\bin ist auch eingetragen.

mfg Thomas

von Jörg Wunsch (Gast)


Lesenswert?

Redest Du über avrlib oder avr-libc?

von Thomas (Gast)


Lesenswert?

Sorry,

es ist die avr-libc gemeint?

mfg Thomas

von Minos (Gast)


Lesenswert?

C:\cygwin\1.0\home\username\

das ganze dann ins avrlibc verzeichnis entpacken.
dann im avrlibc verzeichnis:

./doconf
./domake
./doinst

in der von cygwin mitgelieferten shell ausführen.

von Thomas (Gast)


Lesenswert?

Hallo liebe NG,

verstehe ich das richtig? Bezogen auf dieses Problem stellt Cygwin mir
Tools aus der Unixwelt zur Verfügung um die Installation bestimmter
relevanter Programme unter Windows zu erleichtern.
Bei dem Schritt ./domake install (./doinst funzt nicht) kommt es immer
wieder zur Fehlermeldungen: File xyz in usr/local/avr not found.
Könnte es möglich sein, dass er eine Installation der AVR-Unixversion
voraussetzt?

Vielen Dank für eure Hilfe

mfg Thomas

von Jörg Wunsch (Gast)


Lesenswert?

> Könnte es möglich sein, dass er eine Installation der
> AVR-Unixversion voraussetzt?

Nein, wie oben schon geschrieben worden ist, tut er das nicht.

ABER: Sorry, das habe auch ich offenbar übersehen und nicht gepostet:

./doconf --prefic=c:/winavr/

Damit wird festgelegt, welche Pfadnamen für das Zielverzeichnis
einzucompilieren sind und wohin das am Ende zu installieren ist.
Standardmäßig wird als Präfix /usr/local angenommen.

von Thomas (Gast)


Lesenswert?

Hallo,

es hat geklappt. Danke für die freundliche Unterstützung. Das
"prefix" gemeint ist habe ich sogar alleine herausgefunden :-)

Mit freundlichen Grüßen
Thomas

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.