AVR Studio 5.0 und 5.1 Version GCC/Toolchain?

Gast #2688753
Lesenswert?
• ▲
▼
Hallo,

ich habe ein Projekt von Version 5.0 auf 5.1. portiert (Source und 
Header kopiert) und dann kompiliert. Ergebnis waren leicht 
unterschiedliche Codegrößen bei gleichen Compiler/Linkereinstellungen.

Device: atmega644
    Program:   14598 bytes (22.3% Full)
    (.text + .data + .bootloader)
    Data:       1538 bytes (37.5% Full)
    (.data + .bss + .noinit)
    EEPROM:       30 bytes (1.5% Full)

zu

Device: atmega644p
    Program:   14610 bytes (22.3% Full)
    (.text + .data + .bootloader)
    Data:       1538 bytes (37.5% Full)
    (.data + .bss + .noinit)
    EEPROM:       30 bytes (1.5% Full)
    (.eeprom)

Der kleinere Code kommt vom 5.0er. Warum?
Sind die Toolchains von Version 5.1 nicht aktueller? Optimierung steht 
auf Os.

Interessant ist das bei 5.0 die AVR Toolchain auch als solche bezeichnet 
wird, im 5.1 heisst es nur AVRGCC. Ist dort irgendwas verstellt, ich 
möchte eigentlich die AVR Toolchain nutzen; mach ich was falsch?


Ingo
Angehängte Dateien:
Moderator Persönliche Seite #2689625
Lesenswert?
• ▲
▼
Ingo schrieb:
> Gibt es eigentlich einen Unterschied zum AVRGCC und der AVR Toolchain

Die Toolchain besteht aus mehr als nur dem GCC, nämlich binutils
(Assembler, Linker, paar Hilfswerkzeuge wie objcopy), Compiler (GCC)
und Standardbibliothek (avr-libc).  Dazu kommen typischerweise noch
lokale Patches (bspw. um neue AVR-Devices einzupflegen, die von den
offiziellen Versionen noch nicht unterstützt sind).  Gemäß GPL
sollten sie dir die entsprechenden Patches zumindest für binutils und
GCC auf Anfrage aushändigen (die avr-libc steht nicht unter GPL, dort
sind sie also formal nicht dazu verpflichtet).

Die Atmel-Versionierung ist dabei völlig von ihnen selbst gewählt.
Keine Ahnung, ob sie irgendwo eine Übersicht haben, welche Versionen
der Komponenten ihrer jeweiligen Toolchain-Version entsprechen.
Persönliche Seite #2690116
Lesenswert?
• ▲
▼
Ingo schrieb:
> Johann L. schrieb:
>> Welche Version wird denn bei avr-gcc -v angezeigt?
>
> Wo?

avr-gcc ist ein Kommandozeilen-Progamm.

Man gibt es also ein: In der Kommandozeile.

avr-gcc --version gibt dann sowas aus:
1
avr-gcc (WinAVR 20100110) 4.3.3

oder sowas:
1
avr-gcc (GCC) 4.8.0 20120521 (experimental)

mit avr-gcc -v kommen etwas mehr Informationen, aber auch daraus ist die 
GCC-Version erkennbar.

Allerdings hatte Atmel auf Bugs durch eigene Patches; wenn das behoben 
wurde, kann sich also die Codegröße ändewrn ohne daß sich die 
GCC-Version ändert. Ob in dem Fall kleinerer oder größerer Code besser 
(korrekt) ist, kommt auf den jeweiligen Fall an.
Gast #2690511
Lesenswert?
• ▲
▼
Hmm, vielleicht noch eine ältere Version drauf (AVR Studio 4 z.B.)?
Wenn du nur "avr-gcc ...", also ohne Pfadangabe, auf der Konsole eingibt 
nimmt er den, den er über die Windows-Umgebungsvariablen findet. Schau 
mal was da für Pfade eingetragen sind.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.