Hallo, habe hier ein altes C-Projekt für einen AT90, dass ich vor längerer Zeit mit dem AVR-Studio 4 (genauer: 4.19.0.720) erstellt habe. Dieses müsste in leicht veränderter Form neu compiliert werden (es soll also ein leicht verändertes Hex-File erstellt werden). Das Problem an der Sache ist, dass ich mittlerweile einen neuen Rechner (auch XP) benutze und das AVR-Studio dafür neu installieren müsste. Jetzt bin ich nicht sicher, welche Version des AVR-Studios genutzt werden kann. Muss für das Vorhaben noch mal die alte AVR-Studio-Version 4.19 installiert werden oder gehen auch die neueren Versionen (z.B. AVR Studio 6)? Viele Grüße!
g_reichert schrieb: > AVR Studio 6 Das gibt es gar nicht. Atmel Studio 6.1 ist der aktuelle Nachfolger von AVR Studio 4.19 Der Compiler wird dir schon sagen, wenn ihm etwas nicht paßt. Aber i.A. sollte das kein Problem sein. Evtl. mußt du das Projekt neu anlegen. Die Ladezeiten vom Atmel Studio sind allerdings etwa 10-mal so lang, wie bei AVR Studio - also nicht ungeduldig werden.
Danke für die schnelle Antwort und den Hinweis zu Atmel Studio und AVR Studio!!! Unter diesen Umständen würde ich lieber noch mal das AVR-Studio 4.19 installieren (habe die Installations-exe-Datei schon runtergeladen). Wenn ich mich richtig erinnere, muss vorher noch eine Toolchain oder der GCC installiert werden?!? Kann jemand sagen, wo man diese Datei(en) bekommt? (bin im Moment etwas unter Zeitdruck, sorry, wenn ich so "platt" frage)
dann sollest du eventuell darüber nachdenken, einfach den GCC (WIN-AVR) zu downloaden und einfach ein Makefile zu verwenden. Dann kann man einfach alles Kopieren und auf jedem Beliebigen PC bauen (ohne zu installieren!). Mit einem kleinen init script kann man sogar dafür sorgen das man verschiedene GCC hat, damit man ein altes Projekt jederzeit identisch bauen.
Das müsste der WinAvr sein, den man beim AVR-Studio noch extra installieren musste. Und der ist auch dein eigentliches Problem, denn der Compiler ist es ja letzten Endes, der gleich sein sollte. AVR-Studio oder Atmel-Studio ist ja nur eine Hülle drumm herum, die das Projekt verwaltet und den jeweils installierten Compiler aufruft. Und da wirds jetzt schwierig. Denn im Grunde würdest du genau die gleiche Compiler-Version brauchen, die du damals hattest. Die wirst du aber nicht mehr wissen. Das Problem: In der Zwischenzeit hat sich der Compiler ja auch weiter entwickelt. Optimierungen wurden verändert, etc. Bei einem gut geschriebenen C-Code sollte das kein Problem sein. Wie C funktioniert ist bekannt und welche OPtimierungen der Compiler wann und warum machen darf auch. Das Problem ist meistens, dass in altem Code ein paar Annahmen stecken, die vom C-Standard nicht abgesegnet sind und von damaligen Compilern nicht ausgenutzt wurden, heutige Compiler aber schon. Und daher kommt dann das 'damals lief es noch, heute aber nicht mehr'. Um das klar zu sagen: Schuld ist dann nicht der Compiler. Schuld ist der Programmierer, der damals wissentlich oder unwissentlich Schlupflöcher offen gelassen hat. Mit ist natürlich klar, dass du zum jetzigen Zeitpunkt nicht gewillt bist, derartige Schlupflöcher (falls es sie gibt) zu stopfen. Daher: auf der sicheren Seite bist du nur mit exakt der gleichen Compiler-Version wie damals. Allerdings: ein Versuch schadet nicht, auch wenn jetzt erst mal der Testaufwand höher scheint.
Danke für die ausführlichen Antworten! Karl Heinz schrieb: > Und da wirds jetzt schwierig. Denn im Grunde würdest du genau die > gleiche Compiler-Version brauchen, die du damals hattest. Die wirst du > aber nicht mehr wissen. Habe den alten Rechner noch. Er funktioniert auch so weit, das Problem ist aber, dass wahrscheinlich der AGP-Slot kaputt ist. Jedenfalls wird der Grafikkartentyp nicht mehr richtig erkannt (CPU Z und GPU Z erkennen ebenfalls den Kartentyp nicht). Die Grafikanzeige erfolgt wohl über eine Art Win-Ersatz-Grafiktreiber. Das Ende vom Lied ist, dass das AVR-Studio wohl deswegen nicht startet. Wo findet man denn üblicherweise die Compilerversion, dann könnte ich einfach auf der Festplatte nachsehen.
g_reichert schrieb: > Das Ende vom Lied ist, dass das AVR-Studio > wohl deswegen nicht startet. sehr unwahrscheinlich.
Da du das AVR Studio 4.X genutzt hast, wird wohl WinAVR installiert sein. Das legt sich standardmäßig in c:\WinAVR_XXX Da solltest du fündig werden. Einfach die c:\WinAVR_XXX\bin\avr-gcc -v in einer Eingabeaufforderung aufrufen, das liefert die Version.
g_reichert schrieb: > Art Win-Ersatz-Grafiktreiber. Das Ende vom Lied ist, dass das AVR-Studio > wohl deswegen nicht startet. Glaub ich zwar nicht. Aber egal. > Wo findet man denn üblicherweise die Compilerversion, dann könnte ich > einfach auf der Festplatte nachsehen. Schau auf der Festplatte nach. Bei mir liegt die WinAvr Installation im Root-Verzeichnis. Wenn dort nichts ist, dann eben im Programme Ordner. Der Ordner heisst "WinAVR-xxxxxxx", wobei das xxxxxxxx ein Datum bezeichnet. Auf dem Rechner auf dem ich zur Zeit bin hab ich in der Root zb ein Verzeichnis "WinAVR-20090313"
Habe den alten Rechner mittlerweile wieder angeschlossen und getestet. Das AVR-Studio 4 startet tatsächlich (allerdings dauert es ewig). Friedrich schrieb: > Das legt sich standardmäßig in c:\WinAVR_XXX Auf dem besagten Rechner ist dort nichts zu finden. Friedrich schrieb: > Einfach die c:\WinAVR_XXX\bin\avr-gcc -v in einer Eingabeaufforderung > aufrufen, das liefert die Version. Funktioniert entsprechend nicht. Karl Heinz schrieb: > Schau auf der Festplatte nach. Bei mir liegt die WinAvr Installation im > Root-Verzeichnis. Wenn dort nichts ist, dann eben im Programme Ordner. "Root-Verzeichnis" sagt mir leider nichts, unter Programme ist nichts zu finden. Kann man die verwendete WINAVR-Version im AVR-Studio (das jetzt ja anscheinend läuft) einsehen?
Hm... Kannst du denn dann das Programm nicht einfach übersetzen? Probier doch einfach mal in einer Eingabeaufforderung: avr-gcc -v Vielleicht steht es in deiner PATH Variable und du erhälst eine Ausgabe. Irgendwo gibt es im AVR Studio 4 unter Projekte oder so Einstellmöglichkeiten wo der Compiler liegt. Da konnte man einen Haken bei AVR Toolchain oder so setzen, das geht bei mir aber seit längerem nicht mehr, da habe ich die Pfade auf avr-gcc und make von Hand gesetzt.
Friedrich schrieb: > Da konnte man einen Haken bei AVR Toolchain oder so setzen Bei mir ist ein Haken gesetzt unter "External Tools - Use AVR Toolchain (or WinAVR)" Darunter steht: avr-gcc: d:\programme\atmel\AVR tools\avr toolchain\bin\avr-gcc.exe make: d:\programme\atmel\AVR tools\avr toolchain\bin\make.exe
g_reichert schrieb: > Friedrich schrieb: >> Da konnte man einen Haken bei AVR Toolchain oder so setzen > > Bei mir ist ein Haken gesetzt unter "External Tools - Use AVR Toolchain > (or WinAVR)" > > Darunter steht: > > avr-gcc: d:\programme\atmel\AVR tools\avr toolchain\bin\avr-gcc.exe > > make: d:\programme\atmel\AVR tools\avr toolchain\bin\make.exe Na dann hast du ja jetzt die Pfade, wo der Compiler residiert :-)
Friedrich schrieb: > Probier doch einfach mal in einer Eingabeaufforderung: > avr-gcc -v Ah, dann wird direkt ein ganzer Haufen Infos ausgespuckt... Die letzte Zeile lautet: gcc version 4.5.1 <AVR_8_bit_GNU_Toolchain_3.2.3_314> Hilft das weiter bei der Ermittlung des verwendeten Compilers?
g_reichert schrieb: > Friedrich schrieb: >> Probier doch einfach mal in einer Eingabeaufforderung: >> avr-gcc -v > > Ah, dann wird direkt ein ganzer Haufen Infos ausgespuckt... > > Die letzte Zeile lautet: > gcc version 4.5.1 <AVR_8_bit_GNU_Toolchain_3.2.3_314> > > > Hilft das weiter bei der Ermittlung des verwendeten Compilers? Ja, natürlich. Die GCC Version ist 4.5.1 Jetzt kommt der schwierige .... Moment, wenn das Teil läuft, dann hast du doch alles was du brauchst. Änderung machen, compilieren und du hast dein neues Hex.
:
Bearbeitet durch User
g_reichert schrieb: > Die letzte Zeile lautet: > gcc version 4.5.1 <AVR_8_bit_GNU_Toolchain_3.2.3_314> > > Hilft das weiter bei der Ermittlung des verwendeten Compilers? Deine Compilerversion steht da... Es sieht so aus, als wäre bei dir kein WinAVR installiert (das letzte WinAVR_ 20100110 hat GCC 4.3.3 und liegt eben meist an den beschriebenen Stellen). Bei dir sieht es so aus, als hättest du mal oder hast noch ein neueres Atmel Studio (6?) installiert. Ich meine da verwendet Atmel mittlerweile eine eigene Toolchain. Ich glaube nicht, dass du dein "altes" Projekt (von wann eigentlich?) damals mit dem GCC 4.5.1 kompiliert hast.
Karl Heinz schrieb: > Der Ordner heisst "WinAVR-xxxxxxx", wobei das xxxxxxxx ein Datum > bezeichnet. Auf dem Rechner auf dem ich zur Zeit bin hab ich in der Root > zb ein Verzeichnis "WinAVR-20090313" Ist nicht in dem Format WinAVR-xxxxxxx, deshalb hatte ich mich gewundert... Brauche ich jetzt die entsprechende WinAVR-Install-exe, die den GCC 4.5.1 enthält?
g_reichert schrieb: > Brauche ich jetzt die entsprechende WinAVR-Install-exe, die den GCC > 4.5.1 enthält? Zumindest finde ich bei Google kein Install-Programm auf http://gcc.gnu.org/ für den GCC4.5.1
g_reichert schrieb: > g_reichert schrieb: >> Brauche ich jetzt die entsprechende WinAVR-Install-exe, die den GCC >> 4.5.1 enthält? > > Zumindest finde ich bei Google kein Install-Programm auf > http://gcc.gnu.org/ für den GCC4.5.1 Das wirst du dort auch nicht finden. WinAvr heisst die Adaption des gcc für AVR. Den Beitrag Beitrag "Re: AVR Studio - altes Projekt neu compilieren" hast du gesehen?
:
Bearbeitet durch User
Karl Heinz schrieb: > Den Beitrag > Beitrag "Re: AVR Studio - altes Projekt neu compilieren" > hast du gesehen? Danke, war zwischen den Postings untergegangen. Friedrich schrieb: > Es sieht so aus, als wäre bei dir kein WinAVR installiert (das letzte > WinAVR_ 20100110 hat GCC 4.3.3 und liegt eben meist an den beschriebenen > Stellen). > Bei dir sieht es so aus, als hättest du mal oder hast noch ein neueres > Atmel Studio (6?) installiert. Ich meine da verwendet Atmel mittlerweile > eine eigene Toolchain. > > Ich glaube nicht, dass du dein "altes" Projekt (von wann eigentlich?) > damals mit dem GCC 4.5.1 kompiliert hast. Bin auch grade verwundert. Unter Help/About AVR-Studio/Version steht: AVR Studio GUI Version 4.19.0.720 ... Plugins: ... AVRPluginavrgccplugin 1,0,0,11 Atmel Studio (6) war mit Sicherheit nie installiert. Auf dem besagten Rechner befindet sich noch die Datei WinAVR-20100110-install.exe und die Datei WinAVR-20081205-install.exe In wie weit die mal installiert waren, kann ich nicht sagen.
Ich würde da jetzt an deiner Stelle erst mal nichts angreifen oder umkonfigurieren, sondern das Projekt auf den Rechner kopieren und versuchen, das mit dem vorhandenen AVR-Studio zu compilieren. Danach vergleichst du das dabei entstehende Hex-File mit dem was du (hoffentlich) noch hast. Wenn die identisch sind, stehen die Chancen gut, dass du die Konfiguration hast, mit der das Programm damals gemacht wurde.
:
Bearbeitet durch User
Karl Heinz schrieb: > Danach vergleichst du das dabei entstehende Hex-File mit dem was du > (hoffentlich) noch hast. Gute Idee!!! Karl Heinz schrieb: > Ich würde da jetzt an deiner Stelle erst mal nichts angreifen oder > umkonfigurieren, sondern das Projekt auf den Rechner kopieren und > versuchen, das mit dem vorhandenen AVR-Studio zu compilieren. Also im Klartext, WinAVR-20100110-install.exe installieren, dann das AVR Studio 4.19 installieren und damit dann das Projekt starten und das hex erzeugen!?!
Karl Heinz schrieb: > Ich würde da jetzt an deiner Stelle erst mal nichts angreifen oder > umkonfigurieren, sondern das Projekt auf den Rechner kopieren und > versuchen, das mit dem vorhandenen AVR-Studio zu compilieren. Nein, lies doch mal was da steht... Wenn du ein altes HEX File zum Vergleichen hast, dann einfach mal so wie alles eingestellt ist, versuchen zu kompilieren und die HEX Files vergleichen z.B. mit WinMerge... dann siehtst du ja, ob dein altes HEX mit dem gleichen GCC gemacht wurde, oder zumindest ob das selbe rauskommt. Dann kannst du auch Änderungen machen und die dann übersetzen. Wo auch immer dein GCC 4.5.1 herkommt... das WinAVR_20100110 ist das letzte WinAVR, das veröffentlich wurde und das enthält den avr-gcc in Version 4.3.3. Die Installationsdatei hast du ja anscheinend, aber es sieht ja so aus, als wäre es nicht installiert. Von wann ist denn dein "altes" Projekt, dass man da mal eine Einschätzung hat... Aber selbst wenn es nicht der gleiche gcc ist, solange es fehlerfrei kompiliert und das macht, was es soll... Ist die Anwendung privat oder kommerziell?
Hallo, du hattest höchstwahrscheinlich dieses (oder ein ähnliches) Komplettpaket hier installiert: http://distribute.atmel.no/tools/avr/beta/4.19%20Build720/AvrStudio4Setup.exe s.a. hier: Beitrag "AVR Studio 4 installieren"
Harry schrieb: > du hattest höchstwahrscheinlich dieses (oder ein ähnliches) > Komplettpaket hier installiert: Da lag ich falsch. Hier findet sich die Auflösung: Beitrag "AVR-Studio4 - wie kann man rausfinden, welche Toolchain eingebunden ist?" Erst avr-toolchain-installer-3.2.3.579-win32.win32.x86.exe installieren (erzeugt die AVR_8_bit_GNU_Toolchain_3.2.3_314) Hier kann man sie downloaden: http://www.mikrocontroller.net/articles/Atmel_Studio Dann AVR-Studio4.19 installieren und alles sollte passen! :O)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.