arm-elf gcc selbst kompilieren

Gast #724383
hi,

ich benutze Ubuntu und bekomm gcc einfach nicht für das target=arm-elf 
kompiliert. ich bekomme immer folgende fehlermeldung:
1
          -c ../.././gcc/crtstuff.c -DCRT_BEGIN \
2
          -o crtbegin.o
3
exec: 2: -o: not found
4
make[4]: *** [crtbegin.o] Fehler 1

den gdb konnte ich ohne probleme kompileren und installieren. auch 
bekomm ich folgende fehlermeldung bei den binutils-2.9:
1
*** BFD does not support target arm-*-none.
2
*** Look in bfd/config.bfd for supported targets.

was kann ich da machen. ich hab das mit den configure-optionen aus einen 
artikel hier gemacht.

was kann ich da tun - jemand eine idee?

mfg blan
#725560
hi, also scheinbar klappt das tutorial - gcc konnte bei mir erfolgreich 
kompiliert werden. danke!

ich hab da allerdings noch eine frage: was ist dieser t-arm-elf patch?
hier wird er auch benutzt: 
http://www.mikrocontroller.net/articles/ARM_GCC_toolchain_for_Linux_and_Mac_OS_X
und hier kann man ihn runterladen: http://www.gnuarm.com/t-arm-elf

was bewirkt der patch und warum benötigt man den laut dem tutorial hier 
im artikelbereich?

mfg blan
Persönliche Seite #725597
Oh, da erwischst du mich kaltr, weil ich davon keine Ahnung habe.

Der Patch hat auf jeden Fall mit der Configure Option --enable-multilib 
zu tun. Man kann die Toolchain so übersetzen, dass verschiedene 
Varianten der Library erzegt werden. Beispielsweise je eine Variante für 
Little Endian/Big Endian oder mit/ohne Hardware Multiplikator... Der 
Patch bzw. das angepasste t-arm-elf könnte den Configure Prozess in die 
gewünschte, ARM-taugliche Richtung beeinflussen.

Mehr zu Multilib kann man hier nachlesen:
http://www.airs.com/ian/configure/configure_8.html
#926136
hi,
ich bin mal wieder dabei gcc-arm und binutils-arm selbst zu kompilieren 
und soweit klappt das auch. ich kann damit kompilieren, linken usw..

allerings stelle ich grad fest, dass keine include-dateien à la 
stdlib.h, string.h erstellt werden. wenn ich jetzt also die stdlib.h 
einbinde kommt ein fehler. warum werden die nicht erstellt und wie kann 
ich das ändern?

danke,
blan
#926153
nein habe ich nicht - irgendwie ist mir die newlib suspekt :)
sowas wie string-manipulation usw. geht dann also nur mit der newlib - 
weil ich zB bei dem mp3-player projekt string.h, assert.h includes 
gesehen habe?

danke,
blan
#926198
okay, danke für die antworten. ich hab mir mal die funktionen angeschaut 
und da sind alle wichtigen dabei aber was ich nicht verstehe: wozu die 
funktionen fopen, fclose, ... dabei sind. was bringt mir solch eine 
funktion wenn ich nichtmal ein dateisystem habe?
wie kann ich die funktion zB für mein eigens implementieres fat32 
dateisystem verwenden? oder wozu sind die da?

danke,
blan
Gast #926247
Ich durfte mich in das Thema die letzen Wochen ein wenig einarbeiten.

Ich denke, das ist so ähnlich wie z.B. bei printf.
Zu den Standardfunktionen gibt es so etwas wie einen Treiber, den man 
selbst passend zur verwendeten Hardware schreiben muss.

Damit der Befehl printf funktioniert, muss erst das passende 
Ausgabedevice "eingebaut" werden, z.B. ein Uart.

Der Vorteil ist, dass die oberen Programmschichten immer gleich sind, 
egal wie die Hardware drunter aussieht.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.