mikrocontroller.net

Forum: Compiler & IDEs Problem WINARM, eclipse Eclipse undefined reference to `__umodsi3'


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich ein Problem ein Problem beim Builden meines Projekts. Ich habe 
leider wenig Erfahrung mit Make- u. Linkerfiles.

Folgenden Fehler tritt auf:

(undefined reference to `__umodsi3')

Hab schon versucht die libgcc in Eclipse einzubinden, hat aber nicht 
funktioniert.

Wie kann ich die libgcc einbinden?
Kann mir jemand weiter helfen?

Gruß Anton

PS: hab mir die anderen Beträge zu diesem Thema schon durchgelesen. komm 
aber nicht weiter.

Autor: Martin Thomas (mthomas) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vorab: Falls wirklich für einen GBA entwickelt wird, besser DevkitARM 
verwenden. Darin ist für GBA-Entwicklungen alles etwas besser vorgekaut. 
Mein WinARM-Packet ist veraltet. Aktuellere Alternativen: das bereits 
genannte DevkitARM, Codesourcery G++ (lite) f. ARM, Yagarto, Anglia SARM 
und mglw. andere.

Anton schrieb:
> Hallo,
>
> Ich ein Problem ein Problem beim Builden meines Projekts. Ich habe
> leider wenig Erfahrung mit Make- u. Linkerfiles.
>
> Folgenden Fehler tritt auf:
>
> (undefined reference to `__umodsi3')
>
> Hab schon versucht die libgcc in Eclipse einzubinden, hat aber nicht
> funktioniert.
>
> Wie kann ich die libgcc einbinden?
> Kann mir jemand weiter helfen?

Testweise im makefile bei LDFLAGS -nodefaultlibs -nostdlibs entfernen 
und stattdessen -lc -lgcc eintragen.

Es ist keine gute Idee, den Linker direkt aufzurufen. Besser mit 
arm-*-gcc linken. Aber kann man erstmal so lassen, bei ARM7 im ARM-mode 
und little-endian sollten die Standardwerte passen.

> PS: hab mir die anderen Beträge zu diesem Thema schon durchgelesen. komm
> aber nicht weiter.

Das englischsprachige Forum finden sich mehr Informatinen in Bezug auf 
Anwendung der GNU cross-toolchain für ARM-basierte Controller: 
http://embdev.net/forum/arm-gcc . Im "Sticky"-Beitrag des Forums sind 
ein paar Links, die auf Lesenswertes verweisen.

Autor: Anton (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Danke für die Antwort.

Martin Thomas schrieb:
> Vorab: Falls wirklich für einen GBA entwickelt wird, besser DevkitARM
> verwenden. Darin ist für GBA-Entwicklungen alles etwas besser vorgekaut.
> Mein WinARM-Packet ist veraltet. Aktuellere Alternativen: das bereits
> genannte DevkitARM, Codesourcery G++ (lite) f. ARM, Yagarto, Anglia SARM
> und mglw. andere.

Ich habe eine Algorithmus um RAM Fehler zu erkennen programmiert. Jetzt 
will ich diesen testen, jedoch kann ich keine Fehler ich logischer Weise 
keine Fehler in der Hardware einfügen. Darum war meine Überlegung die 
Write RAM Befehle des GBA so zu modifizieren, dass ich beispielsweise 
für eine Adresse einen stuck-at Fehler programmiere. Würdest du mir hier 
aktuellere Packet empfehlen?

Martin Thomas schrieb:
> Testweise im makefile bei LDFLAGS -nodefaultlibs -nostdlibs entfernen
> und stattdessen -lc -lgcc eintragen.

Habe ich so eingefügt, jetzt beschwert er sich, dass er -lgcc nicht 
finden kann. Wo muss ich die eingliedern?


Gruß Anton

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.