www.mikrocontroller.net

Forum: Compiler & IDEs AVR Eclipse - Build Fehler


Autor: Neb N. (bluemorph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin gerade dabei über Ubuntu und Eclipse ein kleines Testprogramm 
zum laufen zu bekommen. Ich habe das STK500 und eine 8515 
Microcontroller. Leider scheitert es immer beim Build des Projekts. Ich 
bekomme dann folgende Fehlermeldung:

Building target: test.elf
Invoking: AVR C Linker
avr-gcc -Wl,-Map,test.map -mmcu=atmega8515 -o"test.elf"  ./main.o
/usr/lib/gcc/avr/4.3.2/../../../avr/lib/avr4/crtm8515.o: In function 
`__bad_interrupt':
../../../../crt1/gcrt1.S:193: undefined reference to `main'
make: *** [test.elf] Fehler 1

Der Programmcode, denn ich hier aus dem AVR-GCC kopiert habe ist 
folgender:
#include <avr/io.h>          // (1)
 
int main (void) {            // (2)
 
   DDRB  = 0xff;             // (3)
   PORTB = 0x03;             // (4)
 
   while(1) {                // (5a)
     /* "leere" Schleife*/  // (5b)
   }                         // (5c)
 
   /* wird nie erreicht */
   return 0;                 // (6)
}

Kann mir da einer von euch weiterhelfen?

MfG BlueMorph

Autor: Thomas Holland (innot)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Building target: test.elf
> Invoking: AVR C Linker
> avr-gcc -Wl,-Map,test.map -mmcu=atmega8515 -o"test.elf"  ./main.o
> /usr/lib/gcc/avr/4.3.2/../../../avr/lib/avr4/crtm8515.o: In function
> `__bad_interrupt':
> ../../../../crt1/gcrt1.S:193: undefined reference to `main'
> make: *** [test.elf] Fehler 1

Ist das der gesamte Output?

Das Problem scheint mir zu sein, dass Dein kleines Programm nicht oder 
nicht richtig compiliert wird.

Die Fehlermeldung besagt, dass der Linker Deine "main" Funktion nicht 
finden kann. Mach doch noch mal ein "Clean Project", dann ein "Build 
Project" und poste den gesamten Output.

Autor: Marco B. (avr-knecht)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Diese Meldung kenne ich, hab ich auch schon mal gehabt.

Bei mir lag es daran, dass Eclipse eine main.c erwartet hat, die ich 
nicht hatte, da die Quelldatei mit der Main-Schleife anders hieß.

Problemlösung bei mir:

- Quelldatei in main.c umbenennen

oder

- In Eclipse einstellen, in welcher Quelldatei sich die Main-Schleife 
befindet. Ich weiss leider nicht mehr, in welchem Menü das geht.


Gruß

Marco

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.