Forum: Compiler & IDEs [Cortex M3] GCC


von Thomas P. (pototschnig)


Lesenswert?

Hallo,

ich hab hier ein Board, das mit einem LM3S1968 ausgestattet ist. Das ist 
ein Cortex M3 (ARMv7-M).

Irgendwie scheitere ich momentan daran einen GCC dafür zu finden mit 
Code Beispiele.

Bei Codesourcery scheint es nur Compiler für die Targetplatformen 
ucLinux, Linux usw zu geben. Der CodeRed ist meines Wissens nicht frei.

Da von euch einige das LM3S1968-EK Board haben - das gabs kostenlos bei 
dem LuminaryMicro Seminar - wollte ich euch frage, ob mir jemand einen 
passenden Tipp geben kann.

Im Voraus vielen Dank

MfG
Thomas Pototschnig

von gerhard (Gast)


Lesenswert?

hallo,
zum einarbeiten würde ich dir die kickstart version der iar workbench 
o.ä. von keil empfehlen.
wenn's umbedingt gcc sein soll dann corssworks 
(http://www.rowley.co.uk/arm/index.htm), ist allerdings auch nicht 
gratis).

gruss
gerhard

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Den GCC mit Cortex-M3 Unterstützung gibt es zur Zeit nur kostenlos von 
CodeSourcery:
http://www.codesourcery.com/gnu_toolchains/arm/download.html

Martin Thomas hat auch ein paar Beispiele für den Cortex-M3 auf seiner 
Seite:
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/index_cortex.html

von Jens (Gast)


Lesenswert?

Such auf der Seite zu WinARM mal nach 'WinARM 20080331',
da gibts eine Testversion mit Cortex-Support.

Und dann gibts da noch die 'Anglia IDEaliST IDE' mit
passendem GCC. Der kann zwar der Beschreibung nach
Code für den Cortex erzeugen, allerdings sind wohl
nur Headerfiles für den STM32 dabei.

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Codebeispiele in der Luminary Driver Lib

von Reinhard B. (brainstorm)


Lesenswert?

Die Version 4.3.2 von gcc unterstützt den Cortex M3. Zu finden hier:
http://www.gnuarm.org/files.html
Die newlib soweit ich weiß zum größten Teil (Teile davon unterstzützen 
nicht Thumb2).

Hab erst gestern selbst eine Toolchain für den M3 nach dieser Seite 
erstellt: http://elua.berlios.de/tut_gcc_cortex.html
Verwende aber Linux. Dabei war zu beachten, dass man unbedingt die 
autoconf version 2.59 verwendet, sonst kompiliert gcc nicht.

mfg
Reinhard

von Thomas P. (pototschnig)


Lesenswert?

Danke für die Antworten :)

Probiers jetzt mit dem 4.3.2er GCC und der Luminary Driver Lib (die mir 
nach 5maligen Besuch auf der Webseite immer entgangen ist ...)

MfG
Thomas Pototschnig

von Dieter (Gast)


Lesenswert?

>Bei Codesourcery scheint es nur Compiler für die Targetplatformen
>ucLinux, Linux usw zu geben. Der CodeRed ist meines Wissens nicht frei.

>Den GCC mit Cortex-M3 Unterstützung gibt es zur Zeit nur kostenlos von
>CodeSourcery:


Dazu ist zu sagen, daß die EABI-Version die Version für Bare Metal 
Plattformen ist. Kann man als Linux- und Windowsversion bei Codesourcery 
herunterladen.
Die Codesourcery-Version ist meiner Meinung nach deutlich einfacher zu 
installieren und schneller ans Laufen zu bekommen als der WinArm. Für 
Einsteiger unbedingt zu empfehlen.

von M3 (Gast)


Lesenswert?

Hallo,

ich habe mir die aktuelle Version von code sourcery besorgt

arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

und wollte die Beispiele für den Cortex M3 kompilieren

SW-EK-LM3S3748-4201.exe


Die Libs wurden kompiliert, aber beim USB-Kram hat es dann gekracht:

arm-none-linux-gnueabi-ld: ERROR: 
arm-2008q3/bin/../arm-none-linux-gnueabi/libc/thumb2/usr/lib/libc.a(strc 
mp.o):  Conflicting architecture profiles A/M
arm-none-linux-gnueabi-ld: failed to merge target specific data of file 
arm-2008q3/bin/../arm-none-linux-gnueabi/libc/thumb2/usr/lib/libc.a(strc 
mp.o)


Ist da irgendwas faul oder mach ich dort etwas falsch ? Einfache 
Beispiele lassen sich problemlos kompileren.


Danke.

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Dieses Paket sollte für "bare metal" sein:
http://www.codesourcery.com/sgpp/lite/arm/portal/package3686/public/arm-none-eabi/arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
(none-eabi nicht none-gnueabi, m.W. newlib hier und gnu libc dort, würde 
die Fehlermeldungen auch erklären)

"none-linux" ist meines Wissens eine Cross-Toolchain zur Entwicklung von 
Anwendungen die auf einem Linux-System laufen sollen. Da Tools wie 
buildroot sich eine Cross-Toolchain selbst zusammenbauen allerdings auch 
kein know-how aus erster Hand zu dem linux-Paket von CS.

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.