Forum: Compiler & IDEs AVR Eclipse - Build Fehler


von Neb N. (bluemorph)


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:
1
#include <avr/io.h>          // (1)
2
 
3
int main (void) {            // (2)
4
 
5
   DDRB  = 0xff;             // (3)
6
   PORTB = 0x03;             // (4)
7
 
8
   while(1) {                // (5a)
9
     /* "leere" Schleife*/  // (5b)
10
   }                         // (5c)
11
 
12
   /* wird nie erreicht */
13
   return 0;                 // (6)
14
}

Kann mir da einer von euch weiterhelfen?

MfG BlueMorph

von Thomas H. (innot)


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.

von Marco B. (avr-knecht)


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

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.