PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NiboBee und AVR Studio...ich glaub ich bin zu dumm dafür



Sebas
21.10.2010, 17:13
hallo
nachdem ich meinen Computer mal neu aufgesetzt habe, hab ich nun auch wieder meine programmiertools installiert..aber irgendwas hab ich da wohl falschgemacht, denn irgendwie kann gibts nur noch fehlermeldungen bei allem, egal was ich kompiliert habe,selbst bei programmen die schon einwandfrei aufm Bienchen gelaufen sind bzw laufen.
was mach ich falsch?
Hier mal der Beispiel code aus dem Tutorial, der lief meine ich auch schon einwandfrei aber jetzt nicht mehr
so der Code:

#include <nibobee/iodefs.h>
#include <nibobee/led.h>
#include <nibobee/delay.h>
int main()
{
led_init();
while(1==1)
{
led_set(LED_L_RD, 1);
delay(500);
led_set(LED_L_RD, 0);
delay(500);
}
return 0;
}

und hier die Fehlermeldung:


Build started 21.10.2010 at 18:01:54
c:/program files/winavr/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5/crtm16.o:(.init9+0x0): undefined reference to `main'
make: *** [programm2.elf] Error 1
Build failed with 1 errors and 0 warnings...

hat des überhaupt was mit meinem Code zu tun? oder fehlt dan plugin oder so?
bei anderen längeren Codes gibts auch viel mehr Fehlermeldungen drum hab ich mal den hier genommen
für Hilfe wäre ich sehr dankbar
mfg Sebastian

workwind
22.10.2010, 20:37
Hallo Sebastian,

es sieht so aus, als ob Deine Datei gar nicht wirklich im Projekt eingebunden ist, der Linker kann sie nicht finden....

Das Erzeugen eines Programms passiert in 2 Schritten:
1. Der Compiler erzeugt aus den (.c) Quell-Dateien die (.o) Objekt-Dateien
2. Der Linker erzeugt aus den Objekt-Dateien die Zieldatei (.hex bzw. .elf)

Deine Fehlermeldung kommt vom Linker - er kann keine main() Funktion finden, deshalb vermute ich das keine .o Datei erzeugt wird....

Sebas
24.10.2010, 00:27
hmm okay danke dir ...und wie kann ich sowas verhindern?
seit heut morgen gehts wieder ich weiss auch net warum
naja
jetzt hab ich ein anderes problem
ich kann den rechten motor partout nicht ansprechen
den linken einwandfrei aber beim rechten tut sich nix..kaputt ist er nicht bei den beispielcodes läuft er...bei mir aber net

steveLB
24.10.2010, 13:20
Ist sichergestellt das jede Funktion auch eingebunden ist ?
z.b. bei der delay Funktion , #include <util/delay.h> ?

bei mir sieht ein programm immer so aus
// kommentare
#defines
#includes
int main (void)
{
// initialisierungen
while(1)
{
// was in der endlosschleife alles gemacht werden muss
}
return 0;
}

in deinem code , fehlt das (void) bei main, vll braucht man es, und while (1==1) hab ich nicht, da reicht (1)

edit:
weiterhin, meine Empfehlung
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

edit2:
desweitern nimm den Hauptteil deiner Fehlermeldung und kopiere sie in google, du wirst nicht der erste sein der den Fehler mal hatte :)

z.b. http://www.mikrocontroller.net/topic/85895

dabei einfach in google -> undefined reference to `main' <-reinkopiert , erster Beitrag hats schon gebracht

Sebas
25.10.2010, 17:10
ja also mittlerweil funktioniert der code ja wieder
also unverändert
stimmt der erste ist mein heutzutage bei den seltensten sachen ;-)
also danke ertsmal mitlerweile hab ich probleme mit der odometrie aber die versuch ich erst mal selbst zulösen

btw: wie kann ich den titel ändern?

wie kann man eig den titel

vnrobot1
02.08.2011, 00:01
hallo,
ich habe neulig auch ein nibobee gekauft und wollte mit avr studio in C programmieren
Aber ich kann auf mein System kein studio4 herunterladen, deshalb habe ich jetzt avr studio5

leider ist der ganze umgebung von studio5 anders als bei studio4(wie in tutorial beschrieben wird)
daher komme ich da jetzt nicht weiter:(

Wie habt ihr es eingestellt bzw. die lib und so eingebunden

Könnte ihr mir es bitte zeigen?

Danke im voraus

mfg