www.mikrocontroller.net

Forum: Compiler & IDEs avr-gcc mit mpc und mpfr support?


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.heise.de/ct/projekte/machmit/ctbot/wiki...

welchen Sinn machen mpc und mpfr bei AVR-GCC,
welche Vorteile bringt das konkret?

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Diese Pakete werden zum Erzeugen von GCC benötigt, siehe

http://gcc.gnu.org/install/prerequisites.html

Beispiel: In einer Quelle wie
float x = 1.0f + 2.0f;
muss für x ein Initializer berechnet werden; diese Berechnung kann nur 
auf dem Host geschehen. Um auf dem Host unabhängig von der vorliegenden 
float/double-Harware zu sein, wird das alles in Software nachgebildet.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gut zu wissen, Danke.
Wenn der Host, also der Arbeitsrechner auf dem AVR Quellen compiliert
werden, Hardwareunterstützung für solche compile-time Berechnungen
besitzt, wäre dieser Schritt (mpc, mpfr) nicht notwendig?
Die meisten Seiten die auf die Toolchain-Installation eingehen,
bauen nur binutils, gcc und libc.

Noch eine kurze Frage: wie geht man am besten beim Bauen vor.
Holt man sich besser grundsätzlich die neuesten Quellen oder
Quellen aus der selben Zeit? Beispielsweise gcc3.4.6 mit binutils 2.18
und libc 1.6.8? Gibt es stabile Kombinationen und nicht empfehlenswerte?

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin schrieb:
> gut zu wissen, Danke.
> Wenn der Host, also der Arbeitsrechner auf dem AVR Quellen compiliert
> werden, Hardwareunterstützung für solche compile-time Berechnungen
> besitzt, wäre dieser Schritt (mpc, mpfr) nicht notwendig?

Nein, diese Pakete sind immer notwendig, unabhängig von den Fähigkeiten 
der Host/Build-Plattform. Abhängig sind sie lediglich von der 
GCC-Version. mpc ist AFAIK seit 4.5 erforderlich, gmp und mpfr auch für 
ältere 4-er Versionen.

Selbt wenn der Host double-Berechnungen nativ unterstützt, ist nicht 
sichergestellt, daß diese genauso geschehen wie Target-Code es machen 
würde.

Überigens ist es wie bei heise angegeben nicht notwendig, die Pakete 
gmp/mpfr/mpc ins GCC-Root-Directory zu kopieren. Ein Soft-Link ist 
völlig ausreichend und beim Build mehrerer Toolchain-Varianten 
Platzsparender.

> Die meisten Seiten die auf die Toolchain-Installation eingehen,
> bauen nur binutils, gcc und libc.

Für ältere GCC wie 3.x war das auch ausreichend.

> Noch eine kurze Frage: wie geht man am besten beim Bauen vor.
> Holt man sich besser grundsätzlich die neuesten Quellen oder
> Quellen aus der selben Zeit? Beispielsweise gcc3.4.6 mit binutils 2.18
> und libc 1.6.8? Gibt es stabile Kombinationen und nicht empfehlenswerte?

Bei avrfreaks.net gibt's ein paar sticky-threads, wo's um avr-Tools 
generierung und Build-Scripte geht, die auch automatisch Patches 
runterladen und anwenden. Für eingehendere Info, welche Versionen 
zusammenpassen/empfehlenswert sind, ist das dortige avr-gcc-Forum ein 
Anlaufpunkt, dito die Mainingliste avr-gcc-list von 
http://avr-libc.nongnu.org

Von avr-(gcc/binutils/libc) gibt es so viele 
Kombinationen/Releases/Distributionen/Patches; ich weiß nicht ob da noch 
irgendjemand ausser Eric oder Jörg durchblickt. Meine Interesse an 
avr-gcc geht in Richtung Entwicklung, nicht dessen Verwendung. Und da 
interessieren mich nur ungepatchte Versionen von avr-gcc.

In http://winavr.cvs.sourceforge.net/viewvc/winavr/ gibt es ein 
Verzeichnis "patches", wo man die Patches für unterschiedliche Versionen 
der Tools finden kann. Die Patches sind auch bei den 
WinAVR-Distributionen anbei. Die Patches sind jedoch nicht protierbar, 
d.h. ein Patch gegen 4.3.3 passt ziemlich sicher nicht auf 4.4.2. Zudem 
müssen die Patches in einer bestimmten Reihenfolge angewandt werden.

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.