mikrocontroller.net

Forum: Compiler & IDEs Probleme beim Komplieren


Autor: Dennis (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry die URL zum Beispiel ist flasch.

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

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine Versionen scheinen allesamt nicht zusammenzupassen.

Was genau benutzt Du denn?  Welches Betriebssystem?

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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... ;)

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :) )

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.