Hallo, könnte mir bitte jemand weiterhelfen ? Ich mache die ersten Gehversuche mit GNUARM unter Eclipse. Soweit geht es schon, aber ich habe anscheinend noch ein Problem beim Linken. Ich habe jede Menge Fehler so wie diesen unten. Denke irgendwas mit der Library geht noch schief. undefined reference to `__subdf3' [../../../../../newlib-1.14.0/newlib/libc/stdlib/dtoa.c] pyrano Zeile 349 4. Juli 2006 20:43:14 9377 Danke jür jede Hilfe.
Was meint Frau Google dazu? Aja. Library gcc dazulinken... http://www.newmicros.com/discussion/archive/index.php/t-1302.html
Frau Google schitzt schon seit längerem für mich. Sie sagt viel, aber nichts mit dem ich was anfangen kann im momentanen Stand. In allen meinen Beispielen stand nix von einer libgcc. Welche der 16 im GNUARM Packet ist die richtige ? (Sri, für die dumme Frage) tbx
Mittlerweile habe ich die beiden nötigen libs beim Linker angegeben, aber es geht immer noch nicht. Jetzt kommt folgender Fehler: C:\Programme\GNUARM\arm-elf\lib/libc.a(syscalls.o): In function `_sbrk': ../../../../../../newlib-1.14.0/newlib/libc/sys/arm/syscalls.c:500: undefined reference to `end' Inzwischen habe ich gelesen, dass wohl ein direkter Linkeraufruf nicht gleich ist, wie wenn GCC selbst den Linker aufruft. GCC findet anscheinend die libs selber, wärend man beim Linker direkt diese mit angeben muss. Was muss ich tun ? Mache ich grundsätzlich was falsch? Danke (PS: Frau Google verstehe ich wieder nicht!)
Das ist eine FAQ zur newlib. Wenn du eine newlib von Grund auf für ein Target aufsetzen willst/musst, musst du bestimmte Grundfunktionen noch programmieren, weil die nur als Stubs in der newlib drin sind. Genaueres ist in der Doku der newlib beschrieben und auch in dem ARM Forum http://en.mikrocontroller.net taucht die Frage und Antworten dazu regelmäßig auf. Im konkreten Fall mit end, kann man sich ein globales Symbol im Startup-Code anlegen. Z.B. eine Endlosschleife, die angesprungen wird, wenn main() zurückkehrt. Oder du schreibst dir ein end)= Makro oder eine Funktion mit einer While(1); Schleife.
@Stefan Danke, es hat so geklappt. Momentan sind alle Fehler weg und ich kann mein Program schon mit dem ARM Simulator laden und testen. Werde einfach hier wieder fragen, wenns nicht mehr weiter geht (natürlich nur nachdem das Forum und das WEB furchforstet wurde!) GCC und Make und alles was dazugehört ist für einen Einsteiger in GNU nicht einfach! Danke nochmals für die geduldige Hilfe.
Das ist doch ein schöner Anfang. Lookielookie machen bevor man eine Frage stellt, ist auch schön. Vielleicht findet man dabei schon einen Lösungsansatz oder Ideen für eine präzise Frage. Grundsätzlich sollte man beim Fragen angeben, bei welchen Tools (Versionen!) man was (Kommandozeile, Sourcecode, Makefile...) eingegeben hat und was rausgekommen ist (Cut&Paste der Ausgabe). Zwei schöne Artikel dazu: Wie man Fragen richtig stellt http://www.lugbz.org/documents/smart-questions_de.html Fehlerberichte - wie Sie Softwarefehler melden sollten http://www.chiark.greenend.org.uk/~sgtatham/bugs-de.html Nach einem Artikel "Wie man geduldig, nützliche Antworten gibt!" suche ich noch ;-)
Noch ein Hinweis ursprünglichen Thema. Es kann böse Folgen haben, wenn das Symbol "end" am falschen Ort benutzt wird. Siehe hier : http://en.mikrocontroller.net/topic/72860#105624
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.