Forum: Compiler & IDEs avr-gcc 4.7 für Atmel Studio 4 Windows


von stift (Gast)


Lesenswert?

Hallo liebe gemeinde!

ich komm leider nicht auf den grünen zweig!
Ich hab Studio 4 als avr-gcc: C:\WinAVR-20100110\bin\avr-gcc.exe
und für make: C:\WinAVR-20100110\utils\bin\make.exe
ausgewählt.
Das ist aber meines wissens der 4.3.3

Jetzt möcht ich aber auf 4.7 "updraden"
Folgende Seite
http://lists.gnu.org/archive/html/avr-gcc-list/2012-09/msg00024.html
hab ich schon über einen anderen Tread gefunden.
Aber in dem download finde ich keine "make.exe"
Wahrscheindlich werd ich jetzt ausgelacht aber hab leider keinen plan 
wie ich mein Atmel Studio 4 ein avr-gcc 4.7 unter die haube schraube.

von Oliver (Gast)


Lesenswert?

Hm. Die Zauberwörter "AVR-gcc Download Windows" finden ganz schnell und 
einfach das hier:

Beitrag "avr-gcc 4.7.2 für MS Windows"

Oliver

von Karlo (Gast)


Lesenswert?

Oliver schrieb:
> Hm. Die Zauberwörter "AVR-gcc Download Windows" finden ganz schnell und
> einfach das hier:

Der TE hat doch den Downloadlink zum 4.7.2 selbst gefunden, Beitrag mal 
wieder nur halb durchgelesen?

@ TE:
Ich glaube du hast ein kleines Verständnissproblem.

make ist ein Tool, was die Programmierung mit C erleichtert.
avr-gcc ist ein anderes, unabhängiges Tool, nämlich ein C Compiler.

WinAVR ist ein Paket, das aus mehreren Tools besteht. Die Macher von 
WinAVR sind so freundlich und packen alles, was sie für die 
AVR-Programmierung als praktisch erachten, in ein gemeinsames Paket.
Dazu gehören eben make, der avr-gcc und nochmehr (z.B. avrdude (imho)).

Du kannst, wenn du ein Tool dieses Paketes aktualisieren willst dies 
unabhängig voneinander tun. Nur weil du auf avr-gcc 4.7.2 wechselst 
heißt das nicht, das du ein anderes make brauchst.

Ich verwende kein Windows, und wenn ichs täte würde ich nicht das Studio 
benutzen, aber ich versuche trotzdem mal dir zu helfen.

Lade dir einfach den avr-gcc 4.7.2 von dem Link den du da gefunden hast 
und hau das Ganze irgendwo hin (zB C:)
Im Studio änderst du nur den Pfad zum Compiler. Den make-Pfad lässt du 
so wie er ist. Dann sollte weiterhin das make aus dem WinAVR Paket 
genutzt werden.

von stift (Gast)


Lesenswert?

Danke Karlo!
genau dieses grundwissen hat mir gefehlt.
Werd ich dann gleich ausprobieren und rückmeldung erstatten :)

Was ein compiler macht ist mir so ziemlich klar, aber was macht "make"?
Welche alternative zu Studio würdest du auf Windows benutzen?

von Stefan E. (sternst)


Lesenswert?

stift schrieb:
> Was ein compiler macht ist mir so ziemlich klar, aber was macht "make"?

http://de.wikipedia.org/wiki/Make

von Karlo (Gast)


Lesenswert?

Ich hab Eclipse + das AVR PlugIn früher auf Windows genutzt.

Aber wenn du mit dem Studio zurecht kommst brauchst du nicht zu 
wechseln.
Ich kannte Eclipse eben schon von Java.

Lieber nach und nach mit den Tools vertraut machen. Gerade bei 
Mikrocontrollern schadet es nicht zu wissen, was da im Hintergrund alles 
passiert.

von stift (Gast)


Lesenswert?

OMG! Wie kompliziert muss das den noch sein :(
Ich kann machen was ich will der Pfad lässt sich nicht ändern.
Kann zwar die neue avr-gcc.exe auswählen aber sobald ich "Use WinAVR" 
wieder anwähle stellt Studio es wieder auf die alte avr-gcc.exe zurück.
Wähl ich "Use WinAVR" nicht an, schimpft Studio mit mir:
1
Build failed... No build tools defined.

Noch immer keine idee wie ich meinem Studio 4 den avr-gcc 4.7 beibringe.

von Karlo (Gast)


Lesenswert?

Dreckige Lösung:
Leg deinen 4.7.2 nach C:\WinAVR-20100110\bin und überschreib damit die 
alten Dateien.
Natürlich nicht vergessen, Header und Bibliotheken auch in die 
jeweiligen Verzeichnisse! (imho C:\WinAVR-20100110\avr)

von stift (Gast)


Lesenswert?

Danke Karlo,
hat funktioniert nachdem ich wieder die alte avr-size.exe zurück kopiert 
hab.
Was natürlich die nächste dirty-lösung ist.
Aber ich bin mir total unsicher ob ich mein Projekt auf so einer 
Dirty-Basis weiter aufbaun soll. Eigentlich wollt ich nur in den vorzug 
der neuen '__flash' Funktion kommen da ich sehr viele constante texte 
und Structs habe.
Natürlich gibts PROGMEM & Co aber __flash hätte mir sehr viel 
erleichert.

Aber wenn Atmel zu doof ist eine anständige Entwicklingsumgebung für 
C-Programmierer bereit zu stellen wird man sich wohl um alternativen 
umsehn müssen.

Ich bin echt nicht bereit mir eine Entwicklungsumgebung selbst zusammen 
zu doktorn. Das hier erinnert mich an halbherzige und "wer bastelt mit" 
modullösung von Atmel. Atmel verlässt sich auf WinAVR die wiederum das 
projekt eingestellt haben bzw. so dem aktuellen avr-gcc hinterher hinken 
das es schon aufs selbe raus kommt.

Ich will doch nur einen ATmega in C programmieren. Und nicht 50% meiner 
energie und zeit in ein funktionierende Entwicklungsumgebung stecken.

Einfach nur unverständich!

von Holger S. (223rem)


Lesenswert?

Hallo stift,

in der Version Studio 4.17 B730 ist unter "External Tools"
nicht mehr: []Use WinAVR    sondern: []Use AVR Toolchain.
Da Du diese ja nicht benutzt kannst Du den Pfad für
avr-gcc und make auswählen !

Gruß Holger

sorry Nachtrag: V4.19 !

von Frank M. (ukw) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich selber benutze Studio 4.18. Um zwischen gcc-4.3.3 und gcc-4.7.2 
umzuschalten, war damals auch mein erster Versuch, einfach in den 
Projekt-Optionen das Häkchen "Use WinAVR" rauszunehmen und den neuen 
Pfad für "avr-gcc" und "make" einzutragen

Leider lief bei mir dann nicht alles komplett sauber, denn es wurde 
dadurch nicht unbedingt alles von der neuen Toolchain verwendet, sondern 
ein Mischmasch. Allerdings muss ich sagen, dass ich heute nicht mehr 
weiß, wo genau das Problem steckte.

Ich habe aber daraufhin eine viel einfachere Lösung gefunden:

Wenn man das Häkchen "Use WinAVR" in den Projekt-Optionen aktiviert hat 
(was ja der Standard ist), ermittelt das 4er Studio den Pfad zu der zu 
benutzenden Toolchain mittels des Registry-Keys "UninstallString" 
unterhalb von
1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinAVR.

Idiotisch, nicht wahr? Ist aber so.

Der Wert des Keys war früher bei mir:

  C:\WinAVR\avr-gcc-4.3.3\WinAVR-20100110-uninstall.exe

Nachdem ich "UninstallString" auf

  C:\WinAVR\avr-gcc-4.7.2\WinAVR-20100110-uninstall.exe

umgestellt hatte, verwendet das Studio die komplette 4.7.2er Toolchain.

Dabei ist es vollkommen unerheblich, ob die Datei 
WinAVR-20100110-uninstall.exe überhaupt in dem Pfad existiert. Das 
Studio interessiert sich nur für den Pfad vor dem Dateinamen.

Ich habe mir daraufhin zwei *.reg-Dateien erstellt. Nun kann ich per 
Doppelklick auf jeweils eine der beiden Dateien bequem die Toolchain 
wechseln - siehe angehängte Dateien. Diese bitte nicht durch Doppelklick 
öffnen, sondern nach dem Download rechte Maustaste -> Bearbeiten, um sie 
sich anzuschauen ;-)

Ich hoffe, der Tipp hilft auch anderen, die ähnliche Probleme haben.

Gruß,

Frank

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.