Probleme beim Komplieren

Gast #40364
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.
Angehängte Dateien:
Gast #40367
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... ;)
Gast #40369
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!
Gast #40370
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 :) )

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.