Forum: Compiler & IDEs Probleme beim Komplieren


von Dennis (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich glaub mittlerweile ich bin zu doof zum Komplieren des Codes. Ich hab 
mir gestern den avr-gcc und die binutils und die avr-libc und so fertig 
gemacht und wollt heut ma testen ein kleines beispiel von 
http://www.linuxfocus.org/common/src/article231/haraleit.pdf zu 
kompilieren. Ich hab schon viele C-Programme für Linux auf Intel-Basis 
kompiliert. Aber noch nie hatte ich so keine Ahnung was ich hier tue.

Ich hab in den Foren schon gelesen das man -T Parameter verwenden soll 
um das "undefined reference to __stack"-Problem zu lösen. Aber dann 
bekomm ich nur noch einige mehr dazu. Jetzt beklagt der avr-gcc sich 
über eine "undefined referece to __data_copy"

Hier mal die Ausgaben:

#> avr-gcc -g -mmcu=at90s4433 -o ledtest.elf ledtest.o

ledtest.o(.text+0x1e): In function `main':
/root/avr/projects/ledtest/ledtest.c:29: undefined reference to 
`__stack'
ledtest.o(.text+0x20):/root/avr/projects/ledtest/ledtest.c:29: undefined 
reference to `__stack'

Den -T hab ich so verwandt:
#> avr-gcc -T/usr/local/atmel/avr/lib/ldscripts/avr4433.x -g 
-mmcu=at90s4433 -o ledtest.elf ledtest.o

/usr/local/atmel/lib/gcc-lib/avr/3.3/libgcc.a(_copy_data.o)(.init4+0x0): 
In function `__do_copy_data':
: undefined reference to `__data_end'
/usr/local/atmel/lib/gcc-lib/avr/3.3/libgcc.a(_copy_data.o)(.init4+0x6): 
In function `__do_copy_data':
: undefined reference to `__data_load_start'
/usr/local/atmel/lib/gcc-lib/avr/3.3/libgcc.a(_copy_data.o)(.init4+0x8): 
In function `__do_copy_data':
: undefined reference to `__data_load_start'
/usr/local/atmel/lib/gcc-lib/avr/3.3/libgcc.a(_copy_data.o)(.init4+0x12) 
:  In function `.do_copy_data_start':
: undefined reference to `__data_end'


Was mach ich falsch?? Ich versuch seit 5 Stunden dieses Miniprogramm 
kompilieren zu lassen und krieg's nich hin.
genervt

Ich hoffe jemand hier hat Lust mir zu helfen.
Ich da ein kompletter Newbie was die Microcontroller-Programmierung 
angeht.

von Dennis (Gast)


Lesenswert?

Sorry die URL zum Beispiel ist flasch.

So ist's richtig: 
http://www.linuxfocus.org/Deutsch/March2002/article231.shtml

von Joerg Wunsch (Gast)


Lesenswert?

Deine Versionen scheinen allesamt nicht zusammenzupassen.

Was genau benutzt Du denn?  Welches Betriebssystem?

von Dennis (Gast)


Lesenswert?

Ich nutze als Betriebsystem SuSE Linux 8.1 auf dem Rechner.
Kompiliert habe ich die Tools mit gcc 3.2 auf einem AMD-k6 mit Kernel 
2.4.20.

Der GCC-Source mit dem ich den AVR-GCC gebaut hab hat Version 3.3. Die 
AVR-LibC ist 20020203. Die Binutils sind 2.14.
UISP hat Version 20020626.

Ich hab mittlerweile auchmal WinAVR getestet und da klappt alles. Das 
muss doch auch unter Linux gehn... ;)

von Joerg Wunsch (Gast)


Lesenswert?

D. h. Du hast zwar einen avr-gcc 3.3, aber avr-libc 2002*?  Dann
ist der Compiler OK, aber die avr-libc (viel) zu alt.

http://savannah.nongnu.org/download/avr-libc/snapshots/

von Dennis (Gast)


Lesenswert?

Ok. Ich hab mir jetzt alles neu besorgt in den aktuellen Versionen. Die 
avr-libc hab ich aus deren CVS. Den GCC hab ich mir nochmal komplett 
geholt. Vorher hatte ich nur gcc-core. Und UISP werd ich mir gleich auch 
die aktuelleste besorgen. Die binutils sind ja die neusten. Ich lasse 
gerad den gcc kompilieren. Naja dauert noch ein bisschen. Der is nich so 
ein Rennsemmel. Nur 300MHz.

Ich meld mich bei Erfolg oder wenn es weitere Probleme gibt nochmal.

Danke Joerg!

von Dennis (Gast)


Lesenswert?

Nabend. Ich hab gerad nochma ein wenig was rumprobiert und mir wie Joerg 
angemahnt hat neue Sources besorgt und alles Kompiliert. Ging auch nich 
auf Anhieb aber ich hab's nun endlich hinbekommen.

Endlich funktioniert das Kompilieren! ;-)

Nochmal Danke Joerg. Ich glaub ich hätts noch lange mit den alten 
Versionen versucht wenn du mir nicht auf die Sprünge geholfen hättest.

Bis denn. ( Ich werd glaubich noch mehr Probleme haben :) )

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.