- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 3 von 3

Thema: AVRStudio stürzt ab mit C (WinAVR) [behoben]

  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686

    AVRStudio stürzt ab mit C (WinAVR) [behoben]

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Schönen Abend,

    wünsch ich wenigstens Euch. Ich bin leicht deprimiert.

    Habe bisher schon einige (aber vermutlich weniger als 1000 .. 2000) Zeilen Assembler in AVRStudio geschrieben und wollte jetzt mal "in C einsteigen".

    Also >heute< WinAVR geholt von sourceforge.net und installiert. Installiert ist also derzeit:
    AVR Studio 4 Version 4.12 Build 460 oder, genauer (aus der AVRStudio-Hilfe)

    AVR Studio 4.12.460
    GUI Version 4, 12, 0, 460

    Operating System
    Major 5
    Minor 1
    PlatformID 2
    Build 2600
    Service Pack 2

    Plugins:

    AvrPluginAvrAsmObject 1, 0, 0, 43
    AvrPluginavrgccplugin 1, 0, 0, 4
    Stk500Dll 1, 0, 0, 58

    -------

    Fujitsu Siemens Celsius M410, P4 3,06 GHz, WXP Pro (mit allen bisherigen updates)

    -------

    Und danach (heute) installiert:

    WinAVR-20070525-install.exe

    ---------

    und jetzt locker ein neues Projekt in AVRStudio aufgemacht: gewählst AVR GCC - mega8 - und losgelegt. Einen einfachen Code eingetragen (aus einem Thread geklaut) :
    Code:
    #include <avr/io.h>          
    #include <stdbool.h> 
    #include <stdlib.h> 
    #include <avr/io.h> 
    #include <AVR/iom8.h> 
    #include <inttypes.h> 
    #include <util/delay.h> 
    
    #define F_CPU 9600000    // clock 
    
    // Timer1 initialisieren 
    
    void timer1_init(void) 
    { 
     TCCR1A |= (1<<WGM11)|(1<<COM1A1)|(1<<COM1A0); // initalize mega8 Timer1 with 9Bit, inverted, Prescaler 256 
     TCCR1B = (1<<CS12); // this gives us a signal with 21.76ms at 12MHz 
    
     OCR1A = 476; // pulse of 1.5ms 512- 1500*(F_CPU/256/1000000)/2 
                 // Hier wieder der PWM auf mittelstellung gebracht oder? 
    } 
    
     int main (void) 
         { 
    
         unsigned char i;      /* Variable i */ 
    
         DDRB = ( 1 << PB3 );           /* Pin PB3 als Ausgang für Servo */ 
        
         DDRB  &= ~ (1<<PD4);          /* Pin B4 als Eingang */ 
         PORTB |= (1<<PB4);            /* Pull Up von PIN B4 aktivieren */ 
    
        
    while(1){ 
       if (!( PINB & (1<<PINB4)))      /* mache was wenn PinB4 low ist */ 
       { 
          if(OCR1A > 452){ 
            OCR1A--;      /* Pulsbreite verkürzen */ 
          } 
       } else { 
          OCR1A = 476; 
       } 
       for(i=0;i<50;i++) 
          _delay_ms(10); 
    } 
    }
    und auf F7 gedrückt. Gleich bleibt das AVRStudio "stehen" - und endet mit "... das Programm reagiert nicht ..." und "... abbrechen ..." und "... Problembericht senden ...".

    Also habe ich BEIDE Programme deinstalliert. Neustart des Rechners. Beide Programme installiert - diesmal aber zuerst WinAVR und DANACH AVRStudio. Der Fehler ist eher gleich geblieben: sobald ich das neu angelegte Projekt mit dem C-Code aufmache - bleibt das AVRStudio stehen . Es ist zum Heulen. Die Assembler-Projekte gehen klaglos (ich habe nur EINES getestet ) und liefern beim Assemblieren auch einen einwandfrei flashbaren (und funktionierenden) *hex-file.

    Ich geb´s ja zu ich habe das readme von WinAVR nicht durchgelesen - na ja, nicht wirklich. Weil eben in den verschiedensten Threads vom eher problemlosen Anfang mit WinAVR die Rede ist. Z.B.:
    https://www.roboternetz.de/phpBB2/ze...rstudio+winavr

    Könnte mir jemand bitte trotzdem einen Rat geben? Ist das normal? Muss ich bei der Installation anders vorgehen?

    Vielleicht hat jemand aber trotzdem einen Ratschlag für mich? Bitte


    Ach so - ein Nachtrag:

    Auch das minimale Programm aus dem C-Turorial in RN-Wissen:

    Code:
    #include <stdio.h>
    
    int Zahl1;
    char Zeichen1;
    
    int main (void)
    {
       int zahl2;
    
       /* Anweisungen */
       return 0;
    }
    führt beim "Build" , also beim Druck auf F7 , zu einem abrupten Anstieg der Systemleistung auf 100 % und der Taskmanager meint "..keine Rückmeldung ..."
    Ciao sagt der JoeamBerg

  2. #2
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Ich hatte auch mal ähnliche Probleme. Es scheint da einige Probleme mit dem Zusammenspiel von AVRStudio und WINAVR geben. Bei mit ließ sich kein Porjekt file vom GCC typ laden. Das Problem ist nicht ganz unbekannt. Mit neueren Versionen von ARVstudio (4.13 Build 557, Service PACK 1) und WinAVR(20070525) kriege ich die Abstürze wenigstens nur noch selten. Für AVR Studio gibt es auch ein service pack das im gewissen rahmen ein Update durchführt.
    Die älteren Versionen von AVRstudio hatten probleme mit dem umschalten ziwschen simulator und compiler/Assembler. Dieses Problem soll behoben sein und ist bei mir auch nicht mehr aufgetreten.

    Wenn man schon neu installiert dann würde ich die die neueren Versionen empfehlen (wenigstens wenn bei DSL Verbindung).

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    Besserwessi - VIELEN DANK.

    Puhhhhh - aber nun, nach einem Download-Marathon (weisst Du, dass Rauchzeichen manchmal ne höhere Datendichte haben als DSL auf dem Lande?) läuft bei mir:
    AVR Studio 4.13.557 Service Pack 1
    GUI Version 4, 13, 0, 557
    und
    WinAVR 2007 0525

    und schon - stürzt es wenigstens nicht ab. Das minimale Programm aus dem C-Turorial in RN-Wissen (siehe oben) wird zwar mit der Warnung "../test-in-c.c:8: warning: unused variable 'zahl2' " beendet - aber ohne diese dämllichen 100%-Systemauslastung. Und auch das vorhin getestete Assemblerprogramm lässt sich assemblieren.
    War etwas mühevoll, aber - Du hast meinen Schlaf gerettet.

    Danke.
    Ciao sagt der JoeamBerg

Berechtigungen

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

12V Akku bauen