mikrocontroller.net

Forum: Compiler & IDEs WinAVR und AvrLibc 1.0.2


Autor: Edgar (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.)

Autor: Edgar (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Fleury (Gast)
Datum:

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

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ..."

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Redest Du über avrlib oder avr-libc?

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry,

es ist die avr-libc gemeint?

mfg Thomas

Autor: Minos (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.