MSPGCC

Gast #39538
Lesenswert?

Hallo

Habe das Komplettpaket MSPGCC runtergeladen. Nun weis ich nicht mehr so 
recht weiter. Ich möchte C-Programme downloaden. Ich habe bisher immer 
mit dem IAR Compiler und C-Spy gearbeitet.

Das Komplettpaket habe ich bereits installiert. Was für Schritte folgen 
jetzt? Mit der Anleitung hier kann ich nichts anfangen. Ich weis nicht 
wo ich z.B. die Befehle
"msp430-gcc test1.c -mmcu=msp430x1121 -o test1.elf" eingeben soll.

Danke für eure Hilfe

Steffen
Gast #39541
Lesenswert?

Im Kommandoprozessor.  Unter Windows ist das command.com oder
cmd.exe (je nach Windows), oft fälschlicherweise auch als
,,DOS-Kommandoaufforderung'' bezeichnet.  (Unter Windows NT und
darüber hat das Ding mit MS-DOS überhaupt nichts mehr gemein.)

Eine C-Datei wandelst Du durch Compilieren und Linken in eine
ELF-Datei um, also exakt durch Ausführung dieser Kommandos.
Normalerweise läßt man ein »make« die eigentlichen Compiler-
und Linkerkommandos ausführen.
Gast #39543
Lesenswert?

Nein.  Wenn Du diese ausführliche Form nehmen willst, dann
laß einfach das »make« weg.  Der Rest ist der Aufruf des
Compilers (einschließlich Linker), setzt übrigens voraus, daß
der irgendwo entlang des Suchpfades (%PATH%) gefunden werden
kann.

Für richtige Projekte wirst Du da übrigens noch ein -O einbauen
wollen, damit der Compiler auch optimiert.

Die Alternative ist halt, daß man die Kommandozeile stattdessen
in einem Makefile hinterlegt und dann nur noch »make« sagt (oder
»make all«).  Auch kein .bat, da die Steuerung durch das
Makefile erfolgt mit dem vorrangigen Zweck, die auszuführenden
Kommandos zu vereinfachen -- Batch-Files verfolgen denselben
Zweck, aber auf anderem Wege.  Ein Batch führt immer alles aus,
was da drin steht, während make nur die Kommandos ausführt, die
notwendig sind, um das Ziel zu erreichen.  make arbeitet dabei
mit einem Abhängigkeitsgraphen auf der Basis der Zeitstempel
der durch die einzelnen Schritte generierten Dateien.  In
Deinem Falle hat dieser Graph nur zwei Knoten (die Dateien
test1.c und test1.elf) und eine Verbindung (den Aufruf von
msp430-gcc).  Dennoch gibt es schon einen Unterschied zwischen
einem Batch und einem make: wenn Du den Batch aufrufst, wird
er jedesmal ausgeführt.  Wenn Du make aufrufst, wird das
Kommando beim ersten Mal ausgeführt, beim erneuten Aufruf
nicht mehr.  make stellt dann fest, daß test1.elf (das Ziel)
bereits jünger als test1.c (die Quelle) ist und weiß daher,
daß es nichts mehr zu tun gibt.

Ich hoffe, daß ich mich einigermaßen verständlich ausdrücken
konnte...  Ein typisches Makefile dafür würde ungefähr so
aussehen:

CC=msp430-gcc
CFLAGS=-mmcu=msp430x1121
# oder:
#CFLAGS=-mmcu=msp430x1121 -O

all: test1.elf

test1.elf: test1.c
<tab>$(CC) $(CFLAGS) -o test1.elf test1.c

(Da, wo ich <tab> geschrieben habe, muß ein Tabulator stehen,
keine Leerzeichen.)
Gast #39544
Lesenswert?

Hallo ich bins nochmals

wenn ich folgendes Komando in command.com eingebe:

msp430-gcc test1.c -mmcu=msp430x1121 -o test1.elf

kommt die Meldung:

MSP43~15: test1.c: No such file or directory
MSP43~15: no input files

Findet der Compiler die test.c Datei nicht?

Wo muß ich test.c ablegen damit der Compiler sie findet und in test.elf 
umwandelt.

Danke

Gruß Steffen
Gast #39547
Lesenswert?

Hallo

Danke nochmals für eure Hilfe ich komme mit kleinen Schritten vorran. 
Ich habe jetzt das Programm test1.c im Verzeichnis

C:\msp430\mspgcc

wenn ich jetzt folgenden Aufruf mache:

C:\msp430\mspgcc>msp430-gcc test1.c -mmcu=msp430x1121 -o test1.elf

bekomme ich nun folgende Meldung.

cc1: internal error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html>; for instructions.

Und die .elf Datei ist immer entstanden.

Was mache ich nur falsch?


Gruß Steffen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren