www.mikrocontroller.net

Forum: Compiler & IDEs MSPGCC


Autor: Steffen (Gast)
Datum:

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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

an der Kommandozeile aka Eingabeaufforderung?

Matthias

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ihr müßt entschuldigen aber ich bin Anfänger.

Wo finde ich diese aka Eigabeaufforderung?

Wie kann ich eine .c Datei in ein .elf Datei umwandeln ?

Danke für die Hilfe

Gruß Steffen

Autor: Joerg Wunsch (Gast)
Datum:

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

Autor: Bernhard T (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Joerg,
würde das mit
make msp430-gcc test1.c -mmcu=msp430x1121 -o test1.elf

in einer *.bat funzen ? - Ich hab mal eine angehängt-

Gruß Bernhard
(leider auch zu doof für LINUX)

Autor: Joerg Wunsch (Gast)
Datum:

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

Autor: Steffen (Gast)
Datum:

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

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst mit "cd c:\test\mspgcc\bla" in das Verzeichnis wechseln in dem 
sich die Datei befindet und dann den Befehl ausführen.

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Außerdem solltest Du Dir überlegen, ob Du mit test.c oder mit
test1.c arbeiten willst. ;-)

Autor: Steffen (Gast)
Datum:

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

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kleine Verbesserung meines letzten Satzes:


Ich meinte die Datei test1.elf ist immer noch nicht entstanden.

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nichts :-(
Der Cygwin-Build von GCC funktioniert mit Windows 98 leider nicht. 
Probier's mal mit dieser etwas älteren Version (Februar 03):
http://lev.serebryakov.spb.ru/download/msp430/win3...

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wohin muß ich das diese ältere Version installieren? ins Verzeichnis 
MSP430 oder?

Soll ich danach nochmals den Aufruf

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

in Command.com eingeben?

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.