MIPS-Toolchain basteln...

OP #510659
Lesenswert?
• ▲
▼
Hallo zusammen,
  meine Frage hat zwar nur entfernt was mit Mikrocontrollern zu tun, 
aber ich hoffe hier gibts ein paar GCC-Profis.Also, ich hab versucht 
eine Toolchain für einen MIPS-basierten Netgear WGT634U zu bauen.
Alles hab ich unter CYGWIN durchgeführt.
Zuerst hab ich binutils und GCC nach folgendem Tutorial übersetzt und in 
ein extra Verzeichniss installiert:
http://www.linux-mips.org/wiki/Toolchains
 Danach konnte ich die Programme auch erfolgreich starten. Da ich ja 
noch keine LIBC hatte konnte ich noch nichts übersetzen(da ja fast alle 
Programme die LIBC benötigen).
Danach hab ich die uClibc übersetzt und konnte dann das übliche "Hallo 
Welt" Programm zum testen übersetzen. Leider kann ich nichtmehr 100%ig 
sagen, wie ich die uClibc konfiguriert hab... aber folgendes weiss ich 
noch:
MIPS-Architektur, Little-Endian, MIPS32, MMU und keine FPU.
Das Problem war jetzt, daß ich auf meinem Router immer ein "Segmentation 
Fault" bekommen habe wenn ich das HalloWelt-Programm starten wollte.

Meine Fragen sind nun:
  Gibt's irgendwo ein vollständiges Tutorial, wie man eine Toolchain für 
eine beliebige Architektur übersetzt. (also die grundlegenden 
Arbeitsschritte beschreibt)
Gibts irgendwo ne Erläuterung, wie die verschiedenen Teile einer 
Toolchain (binutils, GCC, Kernel, GLIBC) voneinander und von der 
Zielhardware abhängen.
Wenn ich z.B. binutils für target=mipsel-... übersetze kann ich die 
Tools dann für alle MIPS-Derivate und Zielplatformen einsetzen, oder 
gibt da irgendwelche einschränkungen? Wie bekomme ich heraus, welche 
targets eigentlich von irgendeinem Programm unterstüzt wird? Beim GCC 
hab ich z.B. noch nichts dazu gefunden.
Und macht es einen Unterschied ob ich "--target=mipsel" oder 
"--target=mipsel-elf-linux" oder ähnliches eingebe.

Ich hoffe irgendjemand kann mir ein paar gute Links zum Thema geben.

Und auf die Frage, warum ich keine fertige Toolchain nehme kann ich nur 
folgendes antworten: Ich möchte verstehen, wie die einzelnen Teile 
ineinandergreifen um das fertige Programm für meinen MIPS zu erstellen.

Schonmal Danke und

Mit freundlichem Gruß,
   SIGINT

P.S.: Leider hatte ich keinen GDB auf meinem MIPS, wesswegen ich das 
Testprogramm nicht debuggen konnte.

Antwort schreiben

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.

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.