Forum: Compiler & IDEs AVR-GCC-Compiler


von Thomas (Gast)


Lesenswert?

Kann mir hier jemand weiter helfen?
Habe jetzt 3mal folgende Version: WinAVR-20070122-install.exe
installiert und mehrfach in den Anleitungen gelesen.
- MFile läßt sich nicht starten!
- AVRInsight läßt sich ebenfalls nicht starten
Lediglich ProgNotepad2 started
Muß man die beiden anderen über das Notepad starten?
Was in diesem Paket ist der AVR-GCC-Compiler?
Ebenso habe ich mittlerweile jede Menge Docs über den Compiler gefunden,
aber wo kann man letzendlich die den AVR-GCC selber downloaden?

von Einspruch (Gast)


Lesenswert?


von Thomas (Gast)


Lesenswert?

Genau da liegt ja mein Problem.
An dieser Stelle war ich schon 3x zum downloaden. Das ist genau die 
...install.exe, die sich nicht starten läßt!

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Du hast doch MFile und AVRInsight, sind die aus einem anderen Paket, 
oder von obigem WinAVR-20070122-install.exe installiert worden?

Grundsätzlich ist die Installation eines "AVR-GCC für Windows" mit dem 
WinAVR-20070122-install.exe möglich. Dabei werden u.a. obige Tools, der 
PN (Programmers Notepad), die avr-libc Library und der Compiler selbst 
installiert.

Probleme wurden für Windows98SE (behebbar!) und für Vista (behebbar?) 
berichtet.

Bei der Installation sollte man darauf achten WinAVR in einen Ordner zu 
installieren, dessen Pfadname keine Spezialzeichen (Leerzeichen!) 
enthält. Viele installieren WinAVR mit der Voreinstellung auf c:\winavr

Voraussetzung für ein funktionieren ist, dass der Aufrufpfad zum den 
Tools in der Umgebungsvariable PATH eingetragen ist. Der Installer 
sollte das machen, wobei ich aber auch schon Probleme dabei hatte. Wenn 
die Umgebungsvariable über Autoexec.Bat gesetzt wird, muss ein Neustart 
des Rechners erfolgen, damit der Wert übernommen wird.

Es ist sicher sinnvoll nach der Installation die Umgebungsvariablen zu 
kontrollieren, d.h. DOS-Box öffnen (Windows2000: 
START->Ausführen->"cmd") und Befehl eingeben:

> echo %PATH%

Die Ausgabe sollte dann z.B. so aussehen:

> echo %PATH%
c:\winavr\bin;c:\winavr\utils\bin;c:\windows...

Die "Betriebsbereitschaft" des AVR-GCC kann man in der gleichen DOS-Box 
dann leicht überprüfen, in dem man sich die Versionsnummer ausgeben 
lässt:

> avr-gcc --version

von Thomas (Gast)


Lesenswert?

@Stefan B.
Danke für den Tip.
Werde die Inst. nochmal probieren und dann alle Variablen überprüfen.
Was ich schon mal sagen kann, ist daß der Ordner keine Sonderzeichen 
enthalten hat und ich jedes nach der Inst. einen Neustart gemacht hab.
Hab zwischenzeitlich mal die vorletzte Version: 
WinAVR-20060421-install.exe probiert, die läuft!

Welche ist dann letzt endlich .exe-Datei, die den Compiler startet?
Muß den Pfad hierfür ja in meinem Editor eintragen!

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Im Normalfall ist das make.exe in z.B. c:\winavr\utils\bin das 
aufrufende Programm.

make.exe verwendet eine Textdatei, in der alle notwendigen Befehle und 
Regeln zum Erstellen deines Programms aufgeführt sind: das sog. Makefile

make.exe ruft avr-gcc.exe auf, das Compiler-Oberhaupt, dieses ruft dann 
die einzelnen Stufen für die Übersetzung auf cc1 (Präprozessor), cc (C 
nach Assembler Compiler), as (Assembler), ld (Linker). Ggf. werden 
weitere Tools wie nm oder size aufgerufen. Bei den einzelnen Aufrufen 
können ellenlange Kommandozeilen notwendig sein, die man nicht von Hand 
eintippen möchte. Die Verwendung eines Makefiles ist ein probater Weg 
sich Arbeit zu sparen ;-)

http://www.mikrocontroller.net/articles/Beispiel_Makefile
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Exkurs:_Makefiles

In dem Makefile sind üblicherweise drei Targets angelegt: all, clean und 
program

> make all
erzeugt ein Programm

> make clean
löscht Zwischendateien

> make program
überträgt das Programm in den Target µC

Die Beispiele in Unterordnern im Ordner WinAVR\examples enthalten solche 
Makefiles. Um die Funktion zu testen, würde ich zunächst das Übersetzen 
dieser Beispiele durchführen.

Ich habe übrigens heute mittag ein WinAVR auf einem Windows2000 
installiert und dabei wurde PATH nicht ohne Neustart modifiziert. Aber 
sowas müsstest du ja wie oben beschrieben erkennen.

Die obigen Kommandos sollten so auch in PN als Befehle im Menü vorhanden 
sein. Dafür ist eine Datei WinAVR.xml im Ordner Tools im Ordner PN 
verantwortlich. Die Aufrufe sind voreingetragen.

Wenn du einen anderen Editor benutzt (welchen?), empfehle ich in diesem 
Stadium keine Experimente mit eigenen Aufrufen der einzelnen Programme 
der Toolchain (ala "Compile source", "Compile all",...). Halte dich 
einfach daran, dass du obige drei Befehle vom Editor an Windows 
durchreichen willst. Später kannst du das Anpassen, wenn sicher ist, 
dass WinAVR korrekt installiert ist.

Zu den Problemen mit dem Start von MFile ist es ratsam die Textdatei 
README im Ordner WinAVR\mfile zu lesen. Der TCL-Interpreter wish84.exe 
muss erreichbar sein, um das Textskript mfile.tcl ausführen zu können 
UND das Textskript muss im Ordner WinAVR\mfile ausgeführt werden, da 
weitere Dateien nachgeladen werden.

Im Normalfall passt das, wenn der PATH wie oben korrekt gesetzt ist 
(wish84.exe wird in WinAVR\bin gefunden), *.TCL Dateien per "Öffnen 
mit..." immer mit wish84.exe verknüpft sind und wenn das 
Arbeitsverzeichnis WinAVR\mfile ist.

Bei Insight (avr-insight.exe in WinAVR\bin) handelt es sich ebenfalls um 
ein Programm, welches in der Sprache TCL geschrieben ist, allerdings 
zusammenfasst in einer EXE-Datei. Von ihm wird ein Interpreter als DLL 
aus WinAVR\bin nachgeladen und verschiedene TCL/TK-Skripte aus den 
verschiedenen Unterordnern von WinAVR\Share\. avr-insight.exe ist im 
Arbeitsverzeichnis D:\WinAVR\bin auszuführen.


von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ich glaube, der OP hat irgendein Problem, eine Tk-Applikation auf
Windows gestartet zu bekommen.

Mach doch einfach mal eine Kommandozeile auf (ja, das was Windows so
verächtlich "MS-DOS-Fenster" nennt!) und gib dort das Kommando "wish"
ein.  Was schreibt er denn da so?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Ja, das kann auch sein. Statt wish muss man bei WinAVR wish84 eingeben 
(d.h. die Versionsnummer steckt im Namen). Es müssten zwei Fenster 
aufgehen. Eins davon ist die Eingabezeile des Interpreters (beginnt mit 
%).

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

>ja, das was Windows so verächtlich "MS-DOS-Fenster" nennt!

Das war wohl mal. Windows 2000: 
Start->Programme->Zubehör->Eingabeaufforderung  (einfacher mit 
Start->ausführen->cmd)

Aber ja, scheint ein tcl/tk Problem zu sein, mglw. andere/alte 
"wish*.exe" irgendwo im Pfad.

von Jens (Gast)


Lesenswert?

Ich bekomme den Interpreter wish84.exe auch nicht zum laufen. Die 
Commandozeile liefert keinen Fehler (neues Prompt) aber von zwei 
Fenstern ist nix zu sehen.
Ich habe das w2ksp4 erst vor wenigen Tagen aufgesetzt, an einer alten 
Version kann es also auch nicht liegen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Kannst du dich im Internet mal nach einer aktuellen Version von Tcl/Tk
umsehen und die drüber installieren?

von Stefan B. (stefan) Benutzerseite


Angehängte Dateien:

Lesenswert?

Das Problem mit wish/tcl/tk aus WinAVR 20070122 kann ich unter Windows 
2000 nachvollziehen. Unter Windows 98SE habe ich keine Probleme. Bei XP 
habe ich es noch nicht getestet.

Bei WinARM ist ebenfalls ein wish/tcl/tk dabei. Das kann man als Ersatz 
nehmen, wenn ein paar zusätzliche Maßnahmen beachtet werden.

Man schmeisst wish84.exe tcl84.dll und tk84.dll aus dem WinAVR\bin 
Ordner. Ich verschiebe solche Sachen üblicherweise als Backup in einen 
extra Unterordner.

Man kopiert die Dateien des obigen Archivs mit dem wish/tcl/tk von 
WinARM in den WinAVR\utils\bin Ordner. Im WinAVR\bin Ordner ist das 
System nicht lauffähig! Der Ordner im Archiv ist belanglos. Den habe ich 
nur reingemacht, um eine Dateisauerei beim Entpacken zu vermeiden.

Das Archiv enthält mehr Dateien - ich habe alles reingepackt, was bei 
WinARM an EXE und DLL wg. Namen einen Bezug erwarten lies. Ich habe im 
Moment keinen Dependency Viewer, um mir die genauen Abhängigkeiten der 
EXE von den DLL anzusehen.

Man kann auch utils\bin "clean" halten und einen extra Ordner für 
wish/tcl/tk schaffen und den Pfad zu diesem Sonderordner in die 
Umgebungsvariable PATH aufnehmen.

Das MFile.tcl Skript kann man auf zwei Arten starten (Pfad zum Ordner 
mit wish84.exe in PATH vorausgesetzt:

Von der MSDOS Kommandozeile aus:
> cd \WinAVR\Mfile
> wish84 mfile.tcl

Vom Desktop aus:
Icon Mfile doppelklicken, wenn .tcl Dateien mit wish84.exe verknüpft 
sind (Immer Öffen mit...)



von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Schreib mal einen Bugreport für WinAVR, damit Eric das auch beim
nächsten Release testet.

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.