- Labornetzteil AliExpress         
Ergebnis 1 bis 7 von 7

Thema: Eclipse + AVR Plugin Fehlermedlung beim kompilieren

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    13.11.2011
    Beiträge
    29

    Eclipse + AVR Plugin Fehlermedlung beim kompilieren

    Hallo zusammen ;D
    Ich habe mir eben mal auf meinem Ubuntu Laptop Eclipse + das AVR Plugin laut dieser Anleitung installiert und ein neues Projekt erstellt
    http://conelek.org/AVR_C:_Softwareen...er_Eclipse_IDE

    Dort habe ich alle Einstellungen soweit übernommen und benutze zum Test folgenden Quellcode für meinen 168er

    Code:
    #ifndef F_CPU
    #define F_CPU 16000000UL
    #endif
    
    
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main(void)
    {
    
    DDRB = 0xFF;
    
    while(1)
    {
    PORTB ^= (1<<PINB5);
    _delay_ms(1000);
    }
    }
    Beim Kompilieren kommt dann diese Fehlermeldung die ich mir nicht erklären kann:

    Code:
    **** Build of configuration Debug for project TEST2 ****
    
    make all 
    Building file: ../main.c
    Invoking: AVR Compiler
    avr-gcc -Wall -g2 -gstabs -O0 -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega168 -DF_CPU=16000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "../main.c"
    Finished building: ../main.c
     
    Building target: TEST2.elf
    Invoking: AVR C Linker
    avr-gcc -Wl,-Map,TEST2.map -mmcu=atmega168 -o "TEST2.elf"  ./main.o   
    /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr5/crtm168.o: In function `__bad_interrupt':
    ../../../../crt1/gcrt1.S:195: undefined reference to `main'
    collect2: ld returned 1 exit status
    make: *** [TEST2.elf] Fehler 1
    
    **** Build Finished ****
    Kann mir einer bei meinem Problem weiterhelfen?

    Danke

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    37
    Beiträge
    1.225
    Das #define am Anfang des Codes kannst/solltest du rausnehmen, das wird in den Projektoptionen gesetzt.
    Davon abgesehen scheint irgendetwas mit deiner avr-gcc-Installation nicht in Ordnung zu sein. Ich habe die beiden Kommandos bei mir ausgeführt und das hat Problemlos geklappt.

    Installiert habe ich das Paket gcc-avr, zu dessen Abhängigkeiten gehören noch binutils-avr und die avr-libc. An deiner Stelle würde ich versuchen, diese Pakete nochmal neu zu installieren. Welche Version verwendest du eigentlich?

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    13.11.2011
    Beiträge
    29
    Hallo markusj,

    also ich habe die #define am Anfang rausgenommen und "gcc-avr", "binutils-avr" und "avr-libc" erneut installiert aber keine Veränderung.

    Wie kann ich mir die Versionen anzeigen lassen?

    Also bei Eclipse verwende ich die 3.7
    Bei avr-gcc stand noch folgends dabei "avr-gcc-4.5.3"
    Geändert von Digital-Ghost (30.09.2012 um 16:19 Uhr)

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    37
    Beiträge
    1.225
    Die Version bezog sich auf Ubuntu. Hast du Mal versucht, die beiden Kommandos manuell einzugeben?
    Umsetzung: main.c in einen Ordner kopieren, dort eine Konsole öffnen und dann:
    Code:
    avr-gcc -Wall -g2 -gstabs -O0 -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega168 -DF_CPU=16000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "main.c"
    avr-gcc -Wl,-Map,TEST2.map -mmcu=atmega168 -o "TEST2.elf"  ./main.o
    Ach ja: Hast du vor dem Compilieren auch gespeichert? Du wärst nicht der Erste, der in diese Falle tappt

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    13.11.2011
    Beiträge
    29
    Also der erste Befehl funktioniert und wenn ich den 2 eingebe halt wieder die Fehlermeldung

    /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr5/crtm168.o: In function `__bad_interrupt':
    ../../../../crt1/gcrt1.S:195: undefined reference to `main'
    collect2: ld returned 1 exit status

    Die Ubuntu Version ist 12.04.
    Und gespeichert hatte ich auch ^^

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    37
    Beiträge
    1.225
    Faszinierend. Bei mir läuft genau die gleiche Version und baut problemlos.

    Bitte einmal komplett neu installieren:
    sudo apt-get purge gcc-avr avr-libc binutils-avr
    sudo apt-get install gcc-avr avr-libc binutils-avr

    Dann nochmal die obigen Befehle ausführen und falls der Fehler noch auftritt, avr-nm main.o ausführen und die Ausgabe hier posten.

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

Ähnliche Themen

  1. Warning beim Kompilieren
    Von bugmenot im Forum Robby RP6
    Antworten: 8
    Letzter Beitrag: 18.12.2010, 00:19
  2. fehler beim kompilieren
    Von smusmut im Forum Robby RP6
    Antworten: 12
    Letzter Beitrag: 24.04.2009, 23:50
  3. Fehler beim Kompilieren
    Von jvbsl im Forum Robby RP6
    Antworten: 16
    Letzter Beitrag: 14.07.2008, 17:08
  4. BitSet Eclipse Plugin
    Von Surveyor im Forum Open Source Software Projekte
    Antworten: 22
    Letzter Beitrag: 23.10.2007, 23:41
  5. GNUARM Eclipse Plugin
    Von Surveyor im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 5
    Letzter Beitrag: 20.07.2007, 08:47

Berechtigungen

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

Solar Speicher und Akkus Tests