Forum: Mikrocontroller und Digitale Elektronik AVR-Studio4 - wie kann man rausfinden, welche Toolchain eingebunden ist?


von Harry (Gast)


Lesenswert?

Hallo,

ich bin mit dem AVR-Studio4 auf einen anderen Rechner umgezogen.

Habe für die Toolchain auf dem neuen Rechner die Datei 
WinAVR-20100110-install.exe installiert (bin mir relativ sicher, diese 
auch auf dem alten Rechner verwendet zu haben).

Leider sind bei identischen Projekten die hex-Files auf den beiden 
Rechnern nach dem Kompilieren unterschiedlich (mit Hex Editor 
verglichen. Die Größe/Speicherbelegung weicht auch um ein paar % ab).

Würde jetzt gerne rausfinden, welche Toolchain auf dem alten Rechner 
installiert ist. Kann man das irgendwo im AVR-Studio sicher erkennen (im 
Plugin-Manager z.B.)?



Wenn ich richtig informiert bin, kann man entweder die "AVR Toolchain" 
verwenden oder "AVR GCC"!?!


Kann das Problem möglicherweise auch damit zusammenhängen, dass 
unterschiedliche Einstellungen verwendet werden?

von Harry (Gast)


Lesenswert?

PS: laut Plugin-Manager benutzen beide Installationen das Compiler 
Plug-In für AVR-GCC Version 1, 0, 0, 11

Die Einstellungen unter Main Project Optiones sind auch identisch.

Woher könnte der Unterschied zwischen den Hex-Files bloß kommen?

von Achim K. (aks)


Lesenswert?

Ich gehe mal von ein C Programm aus. Da ist die Version des verwendeten 
Compilers (z.B. "avr-gcc -v", bei mir gibt das "gcc version 4.8.1 
(AVR_8_bit_GNU_Toolchain_3.4.3_1072)" aus) und das Optimierungslevel 
wichtig (-O...).

von Harry (Gast)


Lesenswert?

Achim K. schrieb:
> "avr-gcc -v"

Wo gibt man das ein?



Das Optimierungslevel  ist bei beiden Rechnern das gleiche: -Os

von Achim K. (aks)


Lesenswert?

Harry schrieb:
> Achim K. schrieb:
>> "avr-gcc -v"
>
> Wo gibt man das ein?
>
>
Auf der Kommandozeile. Dazu muss man dann entweder "avr-gcc" im PATH 
haben oder in das Verzeichniswechseln, in dem der Compiler installiert 
ist. Ich benutze das A Studio sehr selten und kann daher nicht sagen, 
wie man raus findet, wo da der Compiler installiert wird :-).

von Harry (Gast)


Lesenswert?

Achim K. schrieb:
> ... oder in das Verzeichniswechseln, in dem der Compiler installiert
> ist.

Da bin ich im Moment auch überfragt.

Im "Atmel"-Ordner gibt es einen Ordner "AVR Tools" und darin einen 
Ordner "AVR Toolchain" mit weiteren Ordnern darin, z.B. "AVR".

von Oliver (Gast)


Lesenswert?

Achim K. schrieb:
> oder in das Verzeichniswechseln, in dem der Compiler installiert
> ist.

Was natürlich das Problem nicht löst, wenn mehr als ein Compiler 
installiert ist.

Am sichersten ist es, wenn du das -v in den Projekt-Settings bei den 
Compileroptionen einträgst. Dann siehst du beim Compilieren im Studio 
alles, was du brauchst.

Oliver

von Harry (Gast)


Lesenswert?

Danke Oliver!

Oliver schrieb:
> Was natürlich das Problem nicht löst, wenn mehr als ein Compiler
> installiert ist.

Und was auf dem alten Rechner auch durchaus sein kann, so viel, wie ich 
damals ausprobiert habe!


> Am sichersten ist es, wenn du das -v in den Projekt-Settings bei den
> Compileroptionen einträgst. Dann siehst du beim Compilieren im Studio
> alles, was du brauchst.

Wo findet man die Compileroptionen bei den Projekt-Settings?
Kenne nur >Projekt ->Configuration Options, finde dort aber keine 
Compileroptionen

von Harry (Gast)


Lesenswert?

Yeahhh, habs gefunden:

->projekt

->configuration optiones

->main project optiones

->custom optiones

->custom compilation optiones


Wenn man dort -v eingibt, wird beim Compilieren ein ganzer Batzen 
zusätzlicher Zeilen angezeigt.
Muss das morgen in Ruhe gründlich untersuchen.

von wendelsberg (Gast)


Lesenswert?

Harry schrieb:
> Yeahhh, habs gefunden:
>
> ->projekt
>
> ->configuration optiones
>
> ->main project optiones
>
> ->custom optiones
>
> ->custom compilation optiones

Ist ja auch viel einfacher als avr-gcc -v auf der Kommandozeile 
einzugeben.

wendelsberg

von Harry (Gast)


Lesenswert?

wendelsberg schrieb:
> Ist ja auch viel einfacher als avr-gcc -v auf der Kommandozeile
> einzugeben.

;O)

von Harry (Gast)


Lesenswert?

Wenn ich aufs "Compile"-Ikon geklickt habe, erscheint im Built-Fenster 
unter anderem folgende Doppelzeile:


GNU C (AVR_8_bit_GNU_Toolchain_3.2.3_314) version 4.5.1 (avr)

   compiled by GNU C version 4.4.0, GMP version 4.3.2, MPFR version 
3.0.0, MCP version 0.8.2



Kann man daraus ableiten, um welche Toolchain-Art(en)/Version(en) es 
sich konkret handelt?


Nehme mal an, es ist in jedem Fall die GCC-Version 4.5.1 dabei.
Im Atmel-Ordner befindet sich auch irgendwo die Datei avr-gcc-4.5.1.exe 
(282kB).

Jetzt müsste man nur irgendwo die Install-Datei für diese GCC-Version 
für Win finden... eventuell liegt die sogar noch irgendwo auf der 
Festplatte vom alten Rechner (eine Datei-Suche mit den Schlagworten GCC 
oder 4.5.1 bringt jedoch leider keine Treffer in Bezug auf eine 
Install-exe für den GCC).

von Achim K. (aks)


Lesenswert?

Suche mal hier auf www.mikrocontroller.net.

Unter

http://www.mikrocontroller.net/articles/Atmel_Studio

gibt es eine Tabelle mit AVR Toolchains und der jeweiligen GCC Version. 
Ob die vollständig ist, weiß ich nicht.

Wieso ist es so wichtig, dass die hex Dateien die selben sind? Ist es zu 
aufwendig zu testen, ob der andere Build auch tut?

: Bearbeitet durch User
von Harry (Gast)


Lesenswert?

Danke Achim!

Habe mittlerweile immerhin das PDF zur AVR_8_bit_GNU_Toolchain_3.2.3_314 
auf der Atmel-HP gefunden:

http://www.atmel.com/Images/avr8-gnu-toolchain-3.2.3.314-readme.pdf


Achim K. schrieb:
> http://www.mikrocontroller.net/articles/Atmel_Studio
>
> gibt es eine Tabelle mit AVR Toolchains und der jeweiligen GCC Version.
> Ob die vollständig ist, weiß ich nicht.

Danke! Die avr8-gnu-toolchain-3.2.3.314 ist zwar nicht dabei, aber 
immerhin die avr8-gnu-toolchain-3.2.3.579. Wenn ich die andere nicht 
finde, probiere ich die.


Achim K. schrieb:
> Wieso ist es so wichtig, dass die hex Dateien die selben sind? Ist es zu
> aufwendig zu testen, ob der andere Build auch tut?

Ja, es wäre wirklich sehr, sehr aufwändig, alle Funktionen noch mal 
eingehend zu testen.

von Harry (Gast)


Lesenswert?

So, alles klar, der Toolchain-Installer

avr-toolchain-installer-3.2.3.579-win32.win32.x86.exe

erzeugt die

AVR_8_bit_GNU_Toolchain_3.2.3_314

*!*


Habe es dort an der entsprechenden Stelle mal angemerkt.
http://www.mikrocontroller.net/articles/Atmel_Studio



Damit funktioniert alles wie es soll, die Hex-Files sind wieder 
identisch!


Vielen, vielen Dank für eure Hilfe Leute!!!!

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.