Forum: Compiler & IDEs Yagarto arm-none-eabi-gcc in uVision


von Andy (Gast)


Lesenswert?

Hallo

Ich versuche gerade ein Programm für einen LPC2138 in uVision mit der 
Yagarto-toolchain zu compilieren. Das Compilieren funktioniert beim 
Linken erhalte ich aber den Fehler:

linking...
arm-none-eabi-gcc: error: unrecognized command line option '-Wl'
Target not created

uVision hängt die Option -Wl selber an un in anderen make-Files habe ich 
die Option auch schon öfters gefunden.


Der Optionen beim Aufruf des Linkers lauten:
-mcpu=arm7tdmi -mthumb-interwork -Wl -o ./obj/Example01.elf  *.o 
-nostartfiles -lm

Habt ihr vielleicht eine Idee was man machen kann?

Danke

Andy

von Martin Thomas (Gast)


Lesenswert?

-Wl leitet eine Option ein, die vom Compiler-Frontend (*-gcc) an den 
Linker (*-ld) weitergeben wird. Mglw. verursacht die Weitergabe von 
"nichts" den Fehler. Wenn richtig erinnert, bietet uVision im 
Linkereinstellungsdialog eine Option um gc-sections einzuschalten 
(enable garbage-collection oder enable unused code removal - so in der 
Art). Diese Option testweise aktivieren, dann sollte in im Textfeld der 
Kommandozeile [...] -Wl,gc-sections [...] stehen, dann nochmal 
ausprobieren.

von Andy (Gast)


Lesenswert?

Hallo Martin

Vielen Dank für den Tipp. Habe die Option nun ausgewählt und es scheint, 
gcc kommt damit auch nicht klar.

linking...
arm-none-eabi-gcc: error: unrecognized command line option '-Wl'
arm-none-eabi-gcc: error: unrecognized command line option 
'--gc-sections'
Target not created

Der generierte String sieht nun so aus:
-T ./lpc2148-rom.ld -mcpu=arm7tdmi -mthumb-interwork -Wl --gc-sections 
-o ./obj/Example01.elf
*.o -nostartfiles -lm

Beste Grüsse

Andy

von ASCII-Ze (Gast)


Lesenswert?

Bitte den Beitrag von MThomas nochmal GENAU lesen!

von Andy (Gast)


Lesenswert?

Ich stehe geade auf dem Schlauch. Habe die Nachricht von MThomas 
versucht GENAU zu gelesen.

Solltest du das "-gc-sections" meinen und nicht "gc-sections":
Der String wird von uVision selber zusammengestellt und kann nicht 
verändert werden.

Sonst sehe ich nichts was ich nicht befolgt hätte. Habe die Option auch 
nur mal testweise probiert und dann wieder deaktiviert.

Beste Grüsse
Andy

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Eben bei einem älteren Projekt nachgesehen, gemacht mit MDKARM 
EvalVersion, seinerzeit etwas experimentiert, nicht mehr in Erinnerung 
warum die Einstellunge gerade so sind wie sie sind. Linker-Dialog 
Einstellungen (gekürzt)
[ ] Ena. Garb. Collection ("von Hand" weiter unten)
[X] Do not use std sys startup files
[ ] Do not use std sys libs
[X] Use math libs
Textfelder für Adressangaben leer
Linker Script ausgewählt per File-Dialog
Incl. Libs leer
Incl. Paths leer
Misc ctrl: -Wl,--gc-sections -Wl,--warn-section-align

=> "Linker control string":
1
-T ./at91sam7s64_flash.ld -mcpu=arm7tdmi -mthumb -mthumb-interwork -Wl,-Map="./FLASH_RUN/project.map" 
2
-o ./FLASH_RUN/project.elf 
3
*.o -nostartfiles -lm 
4
-Wl,--gc-sections -Wl,--warn-section-align

Evtl. ist das Forum auf keil.com die bessere Anlaufstelle für solche 
Fragen.

von Andreas (Gast)


Lesenswert?

Hallo Martin

Vielen Dank für deine Mühe!! Es klappt leider nicht. Habe mir gestern 
mal Codesourcery installiert und dort lässt sich das Programm 
einwandfrei installieren.

Ich werde mal auf diese Weise ein wenig testen und wenn alles 
funktioniert dort bleiben. Ansonsten werde ich mal bei Keil nachfragen. 
Die unterstützen halt eher Codesorcery.

Vielleicht hat noch jemand eine Ideee

Beste Grüsse und vielen Dank nochmals

Andy

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
Noch kein Account? Hier anmelden.