- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 5 von 5

Thema: "Internal Compiler Error" beim Compilieren

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    28.03.2010
    Ort
    nahe München
    Beiträge
    45

    "Internal Compiler Error" beim Compilieren

    Anzeige

    E-Bike
    Hallo,

    während ich an einem Programm arbeitete, erschien beim Compilien ein seltsamer Fehler:

    Code:
     
    avr-gcc (WinAVR 20100110) 4.3.3
    (...)
    avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test_bug.lst -save-temps test_bug.c -o test_bug.o
    test_bug.c: In function 'main':
    test_bug.c:15: internal compiler error: Illegal instruction
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <URL:http://sourceforge.net/tracker/?atid=520074&group_id=68108&func=browse> for instructions.
    make: *** [test_bug.o] Error 1
    Ich habe das Programm auf das Minimum reduziert, beim dem der Fehler immer noch auftrat:

    Code:
     
    int main(void)
       {
     
       while (1)
        {
          unsigned char i;
         for (i = 0 ;i < 10; i++)
         {
         }
       } 
       return 0;
    }
    In einer Endlosschleife wird eine for-Schleife abgearbeitet, die eigentlich nichts tut. Anscheinend ist die Zeile i < 10 entscheidend: Wenn ich die weglasse, funktioniert es. Der Fehler tritt aber bei jeglicher Art von Vergleichen auf, auch (0==0) funktioniert nicht.

    Der Fehler hat etwas mit der Optimierung zu tun: Wenn ich sie auf 0 stelle, klappt es. Bei allen anderen (1,2,3,s) tritt der Fehler auf.

    Der Bugreport ist eingestellt, da kann man nichts mehr melden. Erstaunlicherweise funktionierte das Programm davor problemlos, mir ist auch nocht nie so ein Fehler aufgefallen.

    Könnte jemand mal diesen Code bei sich ausprobieren, um zu schauen, ob ebenfalls dieser Fehler auftritt. Vorerst werde ich als Workaround die Optimierung deaktivieren...

    Gruß
    ASUR0

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.04.2010
    Beiträge
    1.249
    Und wenn du folgendes versuchst:
    Code:
     
    void main()
    {
       while (1)
       {
         for (unsigned char i = 0 ; i < 10; i++);
       }
    }

  3. #3
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Der gezeigte Fehler sollte normalerweise nicht auftreten. Das ist kein Fehler in dem C Programm, sondern ein Hinweis aus einen Fehler in GCC, der vermutlich relativ selten auftritt. Das Programm hier ist nur so, das da der Fehler in GCC(AVR) sichtbar wird.

    Die Version von Winavr ist nicht mehr ganz neu, aber auch noch nicht so alt. Eventuell hilft es ja schon eine neuere Version von Winavr zu nehmen, weil der Fehler schon bereinigt wurde. Es kann auch ein Hinweiss auf eine nicht ganz korrekte Installation sein. Wenn der Fehler mit der neuen Version nicht mehr auftritt, erübrigt sich die Fehlermeldung.

    Der Bugtracker scheint nicht mehr so wie früher zu funktionieren. Kann sein das es damit zu tun hat, dass WINAVR jetzt von ATMEL unterstützt wird.

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    28.03.2010
    Ort
    nahe München
    Beiträge
    45
    Hallo,
    so seltsam, wie der Fehler gekommen ist, so seltsam ist er auch wieder verschwunden.
    Nach dem Hochfahren heute hat das Compilieren ohne Fehler geklappt...

    @TobiKa
    Das ist so weit ich weiß C++ Syntax, in C führt das zu Compilerfehler

    @Besserwessi
    Ich habe gehört, dass WinAVR so nicht mehr weiterentwickelt wird. Meine Version ist schon die aktuellste.

    Nun ja, da kann ich wohl weiterprogrammieren.
    Trotzdem Danke für die Antworten.
    ASUR0

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Zitat Zitat von ASUR0 Beitrag anzeigen
    Hallo,
    so seltsam, wie der Fehler gekommen ist, so seltsam ist er auch wieder verschwunden.
    Nach dem Hochfahren heute hat das Compilieren ohne Fehler geklappt...
    Das ganze sieht nicht aus wie ein Fehler im Compiler, sondern so als habe irgendwas die ausführbaren Dateien von GCC oder Bibliotheken zerschossen. Vielleicht in memory-Leak in einem anderen Programm, das munter die GCC-Executables überschreibt.

    Dafür spricht auch, daß der Fehler nach einem Neustart weg ist (GCC-Executables wurden neu in den Speicher geladen).
    Disclaimer: none. Sue me.

Ähnliche Themen

  1. Antworten: 25
    Letzter Beitrag: 15.12.2010, 09:09
  2. AVR Studio "ISP Mode Error" beim Flashen
    Von Edi im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 18.10.2006, 22:53
  3. "ISP Mode Error" beim programmieren mit dem STK500
    Von Fakin82 im Forum AVR Hardwarethemen
    Antworten: 1
    Letzter Beitrag: 16.09.2006, 13:42
  4. Error: 344.... aufgetreten beim compilieren für einen Attiny
    Von mat-sche im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 01.07.2006, 10:18
  5. Pony Prog --> "Write error (-21)"
    Von roboter im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 10.01.2005, 12:45

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests