mikrocontroller.net

Forum: Compiler & IDEs arm-elf gcc selbst kompilieren


Autor: blan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

ich benutze Ubuntu und bekomm gcc einfach nicht für das target=arm-elf 
kompiliert. ich bekomme immer folgende fehlermeldung:
          -c ../.././gcc/crtstuff.c -DCRT_BEGIN \
          -o crtbegin.o
exec: 2: -o: not found
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:
*** BFD does not support target arm-*-none.
*** 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

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gehst du nach einer Anleitung vor und wenn ja, welcher?

Ich habe kurz gesucht und eine Anelitung von Adam Pierce gefunden:
http://www.doctort.org/adam/nerd-notes/getting-sta...

basierend auf einer Anleitung vin Martin Hinner:
http://martin.hinner.info/ARM-Microcontroller-HOWT...

Autor: blan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für die schnelle antwort!

ich hab mich an die configure-options von hier gehalten: 
http://www.mikrocontroller.net/articles/ARM_GCC_to...

ich werde die links von dir mal durchgehen und schaun was dabei 
rauskommt - danke!

mfg blan

Autor: B. Lan (blan)
Datum:

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

Autor: Stefan B. (stefan) Benutzerseite
Datum:

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

Autor: B. Lan (blan)
Datum:

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

Autor: Tilo L. (katagia)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast newlib installiert?
Der Compiler selbst bringt afaik nichts in dieser Richtung mit.

Autor: B. Lan (blan)
Datum:

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

Autor: Tilo L. (katagia)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://sourceware.org/newlib/
Dort findest du unter Doku die Antwort auf deine Fragen.
string.h gehört zur newlib. Es gibt aber auch andere Implementationen 
der Standardfunktionen.

Bis dann,

Autor: B. Lan (blan)
Datum:

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

Autor: Tilo L. (katagia)
Datum:

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

Autor: Bingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe einer script hier gemacht

http://www.avrfreaks.net/index.php?name=PNphpBB2&f...

mfg
Bingo

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.