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?
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?
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...).
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 :-).
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".
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
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
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.
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
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).
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?
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.pdfAchim 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.
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!!!!