Forum: Compiler & IDEs AVR-GCC Win98 Fehler mit Schalter -Os


von Ralph S. (jjflash)


Lesenswert?

Ich habe folgendes Problem:

Ich habe doch tatsächlich ein Entwicklungssystem auf einem alten WIN-98 
SE System (FAST) am laufen.

- SDCC (für MCS-51 Familie) läuft...
- eigener Flash-Uploader hierfür läuft (und das ist mit DOTNET2 !!! 
durch "inoffizielles Win98 SP2" am Funktionieren

- AVRDUDE ... läuft
- AVR-GCC (in mehreren Varianten) ... JEIN

Das "JEIN" bezieht sich hierauf:
Alle Funktionen wie Compilieren, Linken, Size aus dem WINAVR-System 
funktionieren

NUUUUUUR

wenn ich beim Compilieren den Schalter -Os (aber auch die anderen 
Optimierungsoptionen) hinzufüge bricht der Compiler mit einem internen 
Compilerfehler ab !

Hatte das schon mal jemand ??

Gruß,

Ralph

von Helge S. (helge_s)


Lesenswert?

Ja, ich hatte das schonmal,

ist allerdings schon 15 Jahre her und ich kann mich nicht mehr an die 
Fehlerbehebung erinnern!

von Stefan E. (sternst)


Lesenswert?

Ralph S. schrieb:
> wenn ich beim Compilieren den Schalter -Os (aber auch die anderen
> Optimierungsoptionen) hinzufüge bricht der Compiler mit einem internen
> Compilerfehler ab !

Gut dass du die konkrete Fehlermeldung nicht nennst, Raten macht ja auch 
so viel mehr Spaß.

Irgendetwas mit "illegal instruction"?

von Peter D. (peda)


Lesenswert?

Ich kann mich auch nur dunkel daran erinnern, daß mal irgendwas war.

Vielleicht mal alle Projekt und GCC Dateien, Verzeichnisse ohne 
Sonderzeichen/Umlaute/Leerzeichen.
Und schauen, ob "PATH" nicht zu lang ist.


Peter

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Was sagt denn avr-gcc -v ?  Oder geht das auch nicht?

von Ralph S. (jjflash)


Lesenswert?

Also, der Compiler meldet sich mit
"Internal compiler error" gefolgt mit einem Hinweis diesen Fehler zu 
melden!

Leider hab ich den Oldie-Rechner jetzt nicht mehr hier und ich setze 
gerade eine alte Festplatte auf um das zu recherieren.

Der Fehler liegt auch definitiv nicht an den Quellcodes, denn diese 
lassen sich auf einem Win2000 / XP und einem Win7 64 Bit korrekt 
übersetzen.

Jetzt werde ich erst einmal ein uraltes WIN98 aufsetzen (und hoffen, 
dass das auf einem I5 Prozessor läuft) um zu sehen, ob es sich dort 
genau so verhält.

Der Hintergrundgedanke mit dem alten System war:

SDCC (und MCS-51) lassen sich auf alten Kisten super kompilieren.
Uploads funktionieren darauf auch auf MCS-51 und AVR

Übersetzungszeiten (ohne den -Os) Schalter sind auch recht flott. Also 
dachte ich mir (weil ich gefragt wurde) ich installiere auf einem Stall 
alter Notebooks (an die ich jetzt extrem billig rankomme) diese Software 
und nutze die alten Dinger schlicht zu Schulungszwecken...

Hmmmm
------------------------------

Also: Fehlermeldung ist: "Internal compiler error" ... Den Fehler bringt 
er  sogar bei einem Programm


char b;

int main (void)
{
}

... keine Defines, keine Includes ... nix ... bei einem ganz frisch 
aufgesetztem (alten) WIN98.

Vielleicht ... kennt ja jemand auch eine ältere Version von AVR-GCC von 
der er weiß, dass sie unter Win98 geht.

Nach unten habe ich jetzt die Versionen bis 4.0irgendwas versucht !

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Ich find's ja immer wieder faszinierend, mit welcher traumwandlerischen 
Treffsicherheit genau die Informationen vorenthalten werden, die zur 
Lösung des Problem beitragen könneten, und anderer Schmarrn erzählt 
wird: SDCC läuft, ...  Geradewegs so wie in "Mein Auto springt nicht an 
(Staubsauger geht aber, und der Kühlschrank auch)".

Sagt Murphy was dazu? :o)

Der Compiler sagt doch bestimmt mehr als die 3 Wörtchen "Internal 
compiler error", zumal mit -v !

Übrigens ist die Compiler-Version ziemlich sicher wurscht.  Was hingegen 
viel interessanter ist, ist wie der Compiler erzeugt wurde.  Wurde er 
unter Linux oder Windows erzeugt?


In http://lists.gnu.org/archive/html/avr-gcc-list/2012-09/msg00026.html 
ist ein avr-gcc 4.7.2 für Windows verlinkt.  Wirft der den gleichen ICE?

von Ralph S. (jjflash)


Lesenswert?

aaaaaaaalso ... was ich mit dem SDCC zum Ausdruck bringen wollte 
(vielleicht auch umständlich) ist: Windows läuft sauber (weil ich ein 
bisschen das Problem damit habe, weil ein inoffizielles Update darauf 
läuft, weil ich auch ein DOTNET 2 Framework darauf benötige und ich 
DACHTE dass mir das in den Compiler spucken könnte) ... Das war erstens.

Zweitens: NEIN, der Compiler spuckt keine weitere Fehlermeldung als 
"Internal compiler error" aus (leider, denn wenn er mehr ausspucken 
würde hätte ich euch das wissen lassen).

Der Compiler wurde mit Windows übersetzt ... und morgen, wenn ich wieder 
an diesem WIN98 System sitze werde ich auch -v versuchen (und das hier 
dann posten).

Allerdings glaube ich, vergeht mir die Lust mit dem Teil und die junge 
Gruppe soll eben ein paar neuere Rechner besorgen (ich war ja eh schon 
verwundert wie weit das überhaupt gelang).

von Sauger (Gast)


Lesenswert?

Moin,

welcher Prozessor sitzt denn im Rechner? Eventuell wurde der GCC mit 
Optimierungen übersetzt die nicht verfügbar sind (INTEL <> AMD)

MfG

von Oliver (Gast)


Lesenswert?

Ralph S. schrieb:
> Vielleicht ... kennt ja jemand auch eine ältere Version von AVR-GCC von
> der er weiß, dass sie unter Win98 geht.
>
> Nach unten habe ich jetzt die Versionen bis 4.0irgendwas versucht !

Eigentlich nimmt man ja unter Windows seit je her keine 
selbstkompilierten avr-gccs, sondern WinAVR. Über den gibt es Hinweise 
im Netz, daß die Veriosn 2007xxx unter Win98 läuft (wobei da ein gcc 
kleiner 4.0 drinsteckt).

Ob es die neueren auch tun, musst du halt ausprobieren.

Oliver

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Für Freunde veralteter Windows-Versionen ist möglicherweise das hier 
ein Hilfsprojekt:

http://kernelex.sourceforge.net/

von Vlad T. (vlad_tepesch)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Für Freunde
nicht ernst gemeinter und
> veralteter Windows-Versionen ist möglicherweise das hier ein Hilfsprojekt:


*scnr* 

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das mit dem "ernst gemeint" kann man wohl mittlerweile streichen, zwar 
ist auch Windows 8 eine Variante von Windows NT, aber daß das 
ernstgemeint sein soll, kann ich mir auch im Suff nicht vorstellen.

von Vlad T. (vlad_tepesch)


Lesenswert?

^^

von Ralph S. (jjflash)


Lesenswert?

Auch wenn ich nicht wirklich "ernst" genommen werde:

Für alle die, die "uralte" Rechner verwenden wollen (weil sie kostenlos 
sind) um jemandem den Umgang mit AVR Controllern zu zeigen hab ich jetzt 
die Konfiguration "gefunden" mit der man damit "werkeln" kann (und somit 
ein ultrapreiswertes Programmiersystem hat):

- Win98 SE

- inoffizielles Servicepack 2.1d
http://www.nandlstadt.com/projekte/windows-98-se-service-pack.htm

- WINAVR - 20060421
http://sourceforge.net/projects/winavr/files/WinAVR/

(leider ist hier dann logischerweise ein alter AVRDUDE vorhanden)

- AVRDUDE.EXE, AVRDUDE.CONF und LIBUSB0.DLL aus WINAVR - 20100110 
extrahiert und die alte AVRDUDE Version ersetzt. LIBUSB0.DLL in das 
WinAvr Verzeichnis kopiert (funktioniert allerdings auch im 
Systemordner).

- für Diverse eigene kleine Tools (die mit Visual Studio Express 10 
geschrieben sind) funktioniert (deshalb das Servicepack 2.1d) darauf 
dann auch das Framework DotNet 2 ==> installiert !

ISP-Flasher ist (mangels USB-Support für USBasp oder USBtiny) ein 
modifizierter AVR910 Progger (der in einer meiner 89S-Flasher Platinen 
läuft)

===> System läuft (und zwar stabil und mit ausreichender 
Geschwindigkeit) auf einem AMD K6-450 MHz, 256 MB Ram, 4,7 GB-Festplatte 
und einem Generic-USB-Treiber für USB Sticks (16 GB und 32 GB Stick 
laufen problemlos)

Vielen Dank an diejenigen, die mir Tips gegeben haben (vor allem der, 
dass ich mich -schweren Herzens- von einem AVR-GCC 4.xxx verabschiedet 
habe).

Gruß,

R. Seelig

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Wieso, geht der 4.7.2 von oben nicht?

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.