AVR Studio 4 Problem mit AVR Toolchain

Gast #5578674
Lesenswert?

Sehr geehrtes Forum,

ich richte mir zurzeit das AVR Studio 4 auf meinem PC mit Windows 7 ein. 
Nun stehe ich vor einem Problem:

Ich habe mir das AVR Studio 4 Version 4.19 installiert. Daraufhin habe 
ich ein C-Programm erstelt und wollte dieses auf meinen Controller 
(ATMega88) programmieren. Beim Ausführen des Befehls "Build Active 
Configuration" kommt jedoch stets eine Fehlermeldung: " gcc plug-in: No 
AVR Toolchain installation found. The AVR GCC plug-in can still be used 
if you set up your own build tools. "

In einem anderen Forumsbeitrag habe ich gelesen, dass dieses Problem mit 
der AVR Toolchain zu tun hat. Ich habe mir daraufhin die AVR 8-Bit GNU 
Toolchain Version 3.4.3 heruntergeladen. Nun habe ich eine .sh Datei. 
Was muss ich jetzt mit dieser Datei tun? Muss ich diese in das AVR 
Studio "integrieren" und wenn ja wie?

Es sei noch gesagt, dass ein Programm in Assembler-Sprache kompilliert 
und in den Controller geschrieben werden kann. Nur bei C-Programmen 
existiert dieser Fehler.

Ich bin über jeden Tipp dankbar.
Gast #5578693
Lesenswert?

Fürs problemlose Installieren brauchst du diese Toolchain:

https://sourceforge.net/projects/winavr/files/WinAVR/20100110/

zuerst dies installieren, dann das AVR Studio.

Allerdinge haben schon viele die Erfahrungen gemacht dass
AVR Studio 4.19 nicht problemlos funktioniert. Auch bei mir.
Daher empfiehlt es sich im Zweifelsfall auf 4.18 zurückzugehen.
Gast #5578763
Lesenswert?

Vielen Dank für die schnellen Antworten.

Ich habe nun sowohl das AVR Studio als auch die Toolchain komplett 
deinstalliert. Ich habe daraufhin die von  Frickelfritze vorgeschlagene 
Toolchain installiert. Anschließend noch das AVR Studio v4.19 und es 
funktioniert immer noch nicht.
Nun habe ich das AVR Studio v4.19 deinstalliert und die Version 4.18 
installiert --> es kann trotzdem kein C-Programm kompilliert werden. Die 
Fehlermeldung bzgl. einer fehlenden AVR Toolchain ist nun verschwunden.
Beim Kompillieren erscheint nun folgendes:

make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4217b3)
Build failed with 1 errors and 0 warnings...
make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4217b3)
Build failed with 1 errors and 0 warnings...

Es wird folglich auch keine Hex-Datei erzeugt. Müssen zusätzlich noch 
Einstellungen vorgenommen werden? Was mach ich falsch?

Bitte um Hilfe. Vielen Dank im Vorraus.
Gast #5578797
Lesenswert?

Vielleicht noch wert zu erwähnen ist, dass im Ordner eines Projektes ein 
default Ordner angelegt wird. Ich bin gewohnt dass in diesem die 
entsprechende Hex-Datei abgelegt wird. Es befindet sich dort jedoch nur 
eine Makefile.
Der Dateipfad zum Projektordner war ursprünglich ziemlich lang. Ich habe 
nun ein neues Projekt erstellt mit sehr kurzem Dateipfad. Leider blieb 
auch dieser Versuch ohne Erfolg.

Gibt es weitere Vorschläge? Gruß
Gast #5578799
Lesenswert?

uC_gast schrieb:
> WinAVR befindet sich im folgenden Ordner:
> C:\Program Files (x86)\WinAVR

Mach alles nochmal und lass dem Winavr sein Default-
Installationsverzeichnis (das ist c:\WinAVR-20100110)

uC_gast schrieb:
> Es befindet sich dort jedoch nur eine Makefile.

Klar, der Ablauf ist ja über das Starten des Make nicht
hinausgekommen, das Make stürzt ja schon ab, nicht der Compiler.
Könnte sein dass irgendein Teil nicht mit dem Windows-Programm-
Pfad zurechtkomt (Zugriffsrechte oder Blanks in Pfaden).
Gast #5579488
Lesenswert?

Funktioniert auch moderner:
**************************
Auf Win7/64 mit AVRStudio4 - v4.19 - Build 716 und
AVR-GCC 8.2.0 for Windows 64 bit von
http://blog.zakkemble.net/avr-gcc-builds/

Meine diversen AVR8 Toolchains sind immer in 
C:\Atmel_Toolchain\AVR8_GCC\...

Im Gegensatz zu anderen Builds verfügt die oben verlinkte Version auch 
über ein make.exe.

Getestet mit einem C-Minimalprogramm und avr-g++.exe und make.exe
Nicht getestet mit einem C++-Programm unter AVRStudio 4.19
Gast #5583454
Lesenswert?

MitLeserin schrieb:

> Meine diversen AVR8 Toolchains sind immer in
> C:\Atmel_Toolchain\AVR8_GCC\...
          ^              ^

Das ist der springende Punkt, warum's funktioniert: Es sind keine 
Leerzeichen an diesen Stellen. Mit Leerzeichen in Pfaden kann der 
Schrott schlicht nicht vernünftig umgehen.

Bei einem deutschsprachigen WindowsXP(32bit) hieß das 
Standard-Programmverzeichnis schlicht "Programme". Da konnte man also 
selbst diesen Schrott so installieren, wie Microsoft sich das gedacht 
hat.

Bei allem ab Vista mit dieser unsäglichen lausigen "Virtualisierung" der 
Standard-Verzeichnisnamen (die nur im Explorer greift) heißt das 
Verzeichnis aber nicht mehr "Programme", sondern in Wirklichkeit 
"program files" bzw. "program files (x86)". Und da sind nunmal leider 
überall Leerzeichen drinne.

Hier ergänzen sich also zwei lausige Implementierungen zu einer 
Kombination, die einfach nicht funktioniert.
#5583525
Lesenswert?

c-hater schrieb:
> MitLeserin schrieb:
>
>> Meine diversen AVR8 Toolchains sind immer in
>> C:\Atmel_Toolchain\AVR8_GCC\...
>           ^              ^
>
> Das ist der springende Punkt, warum's funktioniert: Es sind keine
> Leerzeichen an diesen Stellen. Mit Leerzeichen in Pfaden kann der
> Schrott schlicht nicht vernünftig umgehen.

Dieser "Schrott" kann mit Leerzeichen in Pfaden sehr wohl umgehen, man 
muss sie eben per Escape als solche kenntlich machen.

Angenommen man hat einen Unterordner "some dir" in dem sich eine Datei 
"script.sh" befindet, die man ausführen möchte, dann bekommt man mit
1
./some dir/script.sh

die folgende Fehlermeldung (je nach Shell)
1
bash: ./some: Datei oder Verzeichnis nicht gefunden

Das ist auch völlig logisch und muss auch so sein, weil durch ein 
Leerzeichen Programmaufruf und Argumente getrennt werden und die shell 
in diesem Fall versucht das Programm "some" mit dem Argument 
"dir/script.sh" auszuführen, was eben nicht existiert. Hingegen kann man 
mit
1
./some\ dir/script.sh
das Programm ganz normal ausführen.

c-hater schrieb:
> Hier ergänzen sich also zwei lausige Implementierungen zu einer
> Kombination, die einfach nicht funktioniert.

Die beiden lausigen Implementierungen sind die von AVR-Studio bzw. 
WinXP, Leerzeichen nicht zu escapen und die von Vista aufwärts, 
Leerzeichen in Standardpfade zu packen.

Die Generation Mausschubser denkt halt das sei Fortschritt in seiner 
reinsten Form, wenn man Leerzeichen in Pfaden drin stecken hat. Aufgrund 
der oben dargelegten Problematik ist das aber eben nicht so prickelnd.

Wenn ich mal unter Windows etwas mache, dann packe ich mir immer alle 
Programme, die nur ansatzweise per Skript ausgeführt werden sollen, wie 
etwa Compiler und dergleichen in C:\tools . Das tut nicht weh und ist 
zum Glück noch einfach so möglich.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren